toiljs 0.0.83 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/build/compiler/.tsbuildinfo +1 -1
- package/build/compiler/sri.d.ts +2 -0
- package/build/compiler/sri.js +42 -5
- package/build/compiler/toil-docs.generated.js +1 -1
- package/build/compiler/vite.js +1 -1
- package/build/devserver/.tsbuildinfo +1 -1
- package/build/devserver/analytics/index.js +109 -33
- package/build/devserver/runtime/module.js +2 -1
- package/docs/caching.md +3 -3
- package/examples/basic/client/routes/analytics.tsx +154 -26
- package/examples/basic/server/models/SiteAnalytics.ts +16 -1
- package/examples/basic/server/routes/Analytics.ts +31 -6
- package/package.json +1 -1
- package/server/runtime/exports/index.ts +1 -1
- package/server/runtime/response.ts +1 -1
- package/server/runtime/rpc/Rpc.ts +2 -2
- package/src/compiler/sri.ts +64 -10
- package/src/compiler/toil-docs.generated.ts +1 -1
- package/src/compiler/vite.ts +7 -2
- package/src/devserver/analytics/index.ts +133 -38
- package/src/devserver/db/routeKinds.ts +1 -1
- package/src/devserver/runtime/module.ts +2 -1
- package/test/analytics-dev.test.ts +75 -0
- package/test/rpc-dispatch.test.ts +7 -7
- package/test/sri.test.ts +57 -1
|
@@ -11,7 +11,7 @@ export const TOIL_DOCS = {
|
|
|
11
11
|
"streams.md": "# Streams\n\nA `@stream` declares a long-lived, stateful protocol handler over WebTransport -\nthe **L2/L3** (regional / continental) stream tier of the Toil edge. Unlike a\n`@rest` route, which is a fresh handler per request, a `@stream` is a **resident\nWebAssembly box per connection**: it is created when the connection opens, lives\nfor the whole connection, and is torn down on close. State stored on its fields\n**persists across events**, because it is the same box every time.\n\n```ts\n@stream('echo')\nclass Echo {\n private count: i32 = 0;\n\n @connect\n onConnect(): void {\n this.count = 0;\n }\n\n @message\n onMessage(): void {\n this.count = this.count + 1;\n }\n\n @close\n onClose(): void {}\n}\n```\n\n## Declaring a stream\n\n`@stream(name)` marks a class as a stream handler and mounts it at the given\nname/route. The class becomes a resident box; its fields are the connection's\nstate.\n\n```ts\n@stream('echo') // mounted at /echo\nclass Echo { /* ... */ }\n```\n\nA stream lives on the **L2/L3 stream tier** and its default scope is **Regional\n(L2)**. See [Tiers](./tiers.md) for the full tier model.\n\n## Lifecycle hooks\n\nA stream method is a lifecycle hook, chosen by its decorator. All hooks are\noptional - declare only the ones you need; a missing hook is a no-op.\n\n| Decorator | Fires when |\n| --- | --- |\n| `@connect` | the connection opens (the box has just been created). |\n| `@message` | an inbound frame arrives. |\n| `@close` | the connection closes gracefully (the box is torn down after this hook). |\n| `@disconnect` | the transport is lost abruptly. |\n\nThe `Echo` example above shows why state survives: `count` is set to `0` in\n`@connect`, incremented on every `@message`, and the increments **accumulate**.\nThat is only possible because the same resident box handles every event for the\nconnection. A `@rest` handler's fields would reset on each request, since a\nfresh handler is constructed per request.\n\nDistributed stream channels are not part of the live v1 ABI. The edge rejects\nstream artifacts that declare a channel hook until the channel fan-out runtime\nexists.\n\n## Placement\n\nA `@stream` is distributed across the eligible L2/L3 stream nodes and pinned to\n**ONE worker** for the connection's lifetime via QUIC connection-id steering. The\nconnection always lands on the same worker, so the box - and the state on its\nfields - survives every event. You do not manage placement; the edge steers each\nconnection to its resident box automatically.\n\n## The entry: `main.stream.ts`\n\nThe stream surface has its own entry, `server/main.stream.ts`, distinct from the\nrequest entry (`server/main.ts`). It re-exports the WASM runtime exports and\nimports the `@stream` classes, which pulls their compiler-generated\n`stream_dispatch` export into the artifact.\n\n```ts\nimport { revertOnError } from 'toiljs/server/runtime/abort/abort';\n\nimport './streams/Echo';\n\n// Re-export the WASM entry points the host binds, exactly like main.ts.\nexport * from 'toiljs/server/runtime/exports';\nexport function abort(message: string, fileName: string, line: u32, column: u32): void {\n revertOnError(message, fileName, line, column);\n}\n```\n\nThis entry compiles into its **own artifact**, `build/server/release-stream.wasm`\n- the resident stream box - separate from the request build,\n`build/server/release.wasm`. Add a stream as you grow by importing it here:\n\n```ts\nimport './streams/Echo';\n```\n\n## Build\n\n`toiljs build` produces `release-stream.wasm` automatically when the project\ndeclares a `@stream` surface. The single build runs one toilscript pass per tier,\nhanding each pass only the entries that belong to it, so `release.wasm` never\ncontains `stream_dispatch` and the stream artifact never contains the request\n`handle`. Plain `@data` and helper modules are shared into every artifact.\n\n```sh\n$ toiljs build\n$ ls build/server/*.wasm\nbuild/server/release.wasm # L1 request (exports: handle)\nbuild/server/release-stream.wasm # L2/L3 stream (exports: stream_dispatch)\nbuild/server/release-cold.wasm # L4 daemon (exports: daemon_start, scheduled_tick)\n```\n\nSee [Tiers](./tiers.md) for how the three artifacts map to the deployment tiers.\n\n## Reading and replying to messages\n\n`@message` receives the inbound frame as a `StreamPacket` and returns a\n`StreamOutbound`. `StreamPacket.bytes()` is the raw frame payload;\n`StreamOutbound.reply(bytes)` stages one frame back to the client (return an empty\n`StreamOutbound` to accept the frame without replying). The same resident box\nhandles every frame, so state on its fields persists across messages.\n\n```ts\n@message\nreply(packet: StreamPacket): StreamOutbound {\n return StreamOutbound.reply(packet.bytes()); // echo the bytes back\n}\n```\n\n## Typed messages\n\nBy default a `@message` payload is **raw bytes**. Opt into a decoded `@data` value\nwith `@stream({ message: T })`: the `@message` hook then receives the named `@data`\nclass, decoded from the frame for you. The reply stays raw (`StreamOutbound`).\n\n```ts\n@data\nclass ChatMsg { text: string = ''; }\n\n@stream({ message: ChatMsg })\nclass Chat {\n @message\n onMessage(msg: ChatMsg): StreamOutbound { // decoded @data, not raw bytes\n return StreamOutbound.reply(new TextEncoder().encode(msg.text));\n }\n}\n```\n\n## The client\n\nA `@stream` class is reachable from the browser as `Server.Stream.<ClassName>`. The\ntyped client is generated into `shared/server.ts` (the same place `Server.REST`\nlands), so no manual wiring is needed. `connect()` opens a WebSocket to the class's\nroute and resolves a channel:\n\n```ts\nconst chat = await Server.Stream.Chat.connect();\nchat.onMessage((bytes) => { /* a reply frame, always raw bytes */ });\nchat.send(new ChatMsg('hello')); // a typed stream: send() encodes the @data for you\nchat.onClose((code) => { /* a 0x02xx stream close code */ });\nchat.close();\n```\n\n- The channel key is the **class name** (`Server.Stream.Chat`); it connects to the\n class's mount route (`/Chat`).\n- A **raw** `@stream` channel sends `Uint8Array`; a **typed** `@stream({ message: T })`\n channel sends the `@data` class and encodes it on the wire for you.\n- The inbound reply is **always raw bytes** - the server's `StreamOutbound` is raw.\n- `connect()` resolves once the upgrade completes; a `@connect` reject (or any\n later server close) surfaces through `onClose(code)`.\n\n---\n\nSee also: [Tiers](./tiers.md), [Daemon](./daemon.md), [Routing](./routing.md).\n",
|
|
12
12
|
"daemon.md": "# Daemon\n\n`@daemon` declares a single, leader-elected background worker for your domain -\nthe **L4** (global) coordination tier of the Toil edge. Where a `@rest` handler\nis a fresh instance per request and a `@stream` box is one instance per\nconnection, there is exactly **one** daemon per domain at a time. The edge keeps\na warm standby ready and fails over at-most-once, so the daemon is the right\nplace for work that must happen once globally rather than once per request.\n\n```ts\n@daemon\nclass Jobs {\n @scheduled('1h')\n hourly(): void {\n // Runs once an hour on the elected leader. Put recurring background work\n // here (rollups, cleanup, polling an upstream, ...).\n }\n}\n```\n\n## `@daemon` classes\n\n`@daemon` marks a class as the domain's background worker. The class is resident:\nit is created once on the elected leader and lives for as long as that leader\nholds the lease, so its fields persist across scheduled runs (a `@rest`\nhandler's fields would reset every request).\n\nExactly one daemon instance runs per domain at any moment. A second node stays a\nwarm standby and only becomes active if the current leader's lease lapses. You do\nnot start, stop, or place the daemon yourself - the edge elects the leader and\ndrives it.\n\n## `@scheduled`\n\nA `@scheduled` method declares a task that fires on a cadence, always on the\n**elected leader**. The single string argument is the cadence:\n\n```ts\n@scheduled('1h')\nhourly(): void { /* ... */ }\n```\n\n- **Interval strings** like `'1h'` fire on that fixed period.\n- **Cron expressions** are also supported when you need a wall-clock schedule\n rather than a fixed interval.\n\nA class can declare several `@scheduled` methods; each runs on its own cadence.\nBecause only the leader fires them, a task runs once per domain per tick, not\nonce per node.\n\n## The daemon entry\n\nThe daemon surface has its own entry module, `server/main.daemon.ts`. It imports\nthe `@daemon` classes so the compiler-generated `daemon_start` / `scheduled_tick`\nexports are pulled into the artifact:\n\n```ts\n// server/main.daemon.ts\nimport { revertOnError } from 'toiljs/server/runtime/abort/abort';\n\nimport './daemon/Jobs';\n\n// The abort hook (the daemon box reports a trap through it). NOTE: unlike main.ts /\n// main.stream.ts, the daemon entry does NOT re-export the request runtime - a cold\n// artifact exposes daemon_start/scheduled_tick, not the request `handle`.\nexport function abort(message: string, fileName: string, line: u32, column: u32): void {\n revertOnError(message, fileName, line, column);\n}\n```\n\nNote what is **not** here: unlike `main.ts` and `main.stream.ts`, the daemon\nentry does not `export * from 'toiljs/server/runtime/exports'`. A daemon (cold)\nartifact exposes `daemon_start` and `scheduled_tick`, not the request `handle`.\nAdd a daemon as you grow by importing its module here.\n\n## Build\n\n`toiljs build` runs one toilscript pass per tier and hands each pass only the\nentries that belong to it. When the project declares a `@daemon` / `@scheduled`\nsurface, the daemon pass compiles `server/main.daemon.ts` into its own artifact,\n`build/server/release-cold.wasm`:\n\n```sh\n$ ls build/server/*.wasm\nbuild/server/release.wasm # L1 request (exports: handle)\nbuild/server/release-stream.wasm # L2/L3 stream (exports: stream_dispatch)\nbuild/server/release-cold.wasm # L4 daemon (exports: daemon_start, scheduled_tick)\n```\n\nSo `release.wasm` never contains `scheduled_tick` and the daemon artifact never\ncontains the request `handle`. Plain `@data` and helper modules are shared into\nevery artifact. See [Tiers](./tiers.md) for how the three artifacts are produced\nfrom one source tree.\n\n## Use cases\n\nThe daemon is the once-per-domain tier, so it fits work you want to happen\nglobally on a cadence rather than per request:\n\n- **Periodic rollups** - aggregate counters or events into summaries.\n- **Cleanup** - expire stale rows, prune logs, reclaim resources.\n- **Polling an upstream** - pull from an external API on a schedule.\n- **Global coordination** - any task that must run exactly once across the\n domain, not once per node.\n\n## Failover\n\nScheduling is **at-most-once**. A `@scheduled` task fires on whichever node\ncurrently holds the leader lease. If that leader fails, the warm standby takes\nover and fires the **subsequent** runs; the edge does not retry or duplicate the\ntick that was in flight when the leader was lost. This trades exactly-once\ndelivery for the guarantee that two nodes never run the same scheduled tick at\nonce, so design tasks to be safe to skip an occasional run and to be idempotent\nwhere a missed run matters.\n\n---\n\nSee also:\n\n- [Tiers](./tiers.md) - the three deployment tiers and how one source tree\n compiles to a separate artifact per tier.\n- [Streams](./streams.md) - the L2/L3 `@stream` tier (one resident box per\n connection).\n",
|
|
13
13
|
"data.md": "# Data codec (`@data`)\n\n`@data` turns a plain class into a typed, versionable value with a deterministic\nbinary codec and a JSON codec. It is the backbone of request/response bodies,\nRPC arguments, sessions, and anything you persist. The same class becomes a\nfully typed client type in the generated `shared/server.ts` (see\n[RPC](./rpc.md)).\n\n```ts\n@data\nclass Player {\n username: string = '';\n admin: bool = false;\n score: u64 = 0;\n}\n```\n\nFrom that the compiler synthesizes, on the class:\n\n- `encode(): Uint8Array` / `static decode(buf): T`, the binary codec (with a\n 4-byte type id prefix).\n- `encodeInto(w: DataWriter)` / `static decodeFrom(r: DataReader)`, the codec\n without the type-id frame, for nesting.\n- `toJSON()` / `static fromJSON(v)`, the JSON codec (64-bit-and-larger integers\n as decimal strings, so they survive `JSON.parse` exactly).\n- `static dataId(): u32`, a stable FNV-1a hash of the class name, written as the\n type-id prefix by `encode()`.\n\nFields may be scalars (`u8`..`u256`, `i8`..`i256`, `f32`, `f64`, `bool`),\n`string`, a nested `@data` class, or an array `T[]` of any of these. Give every\nfield a default; the generated decoder and the client constructor use them.\n\n## Using `@data` in routes\n\nIn a **JSON** route, a `@data` parameter is revived from the parsed body and a\n`@data` return value is serialized with `toJSON()`. In a **Binary** route, the\nparameter is `decode`d from the raw body and the return value is `encode`d. The\nroute's stream mode (see [Routing](./routing.md#data-streams)) picks which.\n\n```ts\n@post('/') // JSON route\npublic create(input: NewPlayer): Player { /* input from JSON, Player to JSON */ }\n\n@route({ method: Methods.POST, path: '/blob', stream: DataStream.Binary })\npublic blob(input: FileData): FileResult { /* input.decode, result.encode */ }\n```\n\n## The binary codec: `DataWriter` / `DataReader`\n\nWhen you need to lay out bytes yourself, custom bodies, session payloads,\nchallenge messages, use the codec directly. It lives in the `data` module:\n\n```ts\nimport { DataWriter, DataReader } from 'data';\n```\n\nThe codec has a byte-for-byte identical TypeScript implementation in\n`toiljs/io` (`src/io/codec.ts`), so the client can read and write the exact same\nwire format the wasm guest does.\n\n### `DataWriter`\n\nEvery writer method returns the writer for chaining.\n\n| Method | Signature | Wire format |\n| --- | --- | --- |\n| `writeU8` / `writeI8` | `(v): DataWriter` | 1 byte |\n| `writeU16` / `writeI16` | `(v): DataWriter` | 2 bytes, little-endian |\n| `writeU32` / `writeI32` | `(v): DataWriter` | 4 bytes, LE |\n| `writeU64` / `writeI64` | `(v): DataWriter` | 8 bytes, LE |\n| `writeF32` / `writeF64` | `(v): DataWriter` | 4 / 8 bytes, IEEE-754 LE |\n| `writeBool` | `(v): DataWriter` | 1 byte (`1`/`0`) |\n| `writeBytes` | `(b: Uint8Array): DataWriter` | `u32` length (LE) + raw bytes |\n| `writeString` | `(s: string): DataWriter` | `u32` length (LE) + UTF-8 bytes |\n| `writeU128` / `writeI128` | `(v): DataWriter` | two `u64` limbs (lo, hi) |\n| `writeU256` / `writeI256` | `(v): DataWriter` | four `u64` limbs (lo1, lo2, hi1, hi2) |\n| `length` | `(): i32` | bytes written so far |\n| `toBytes` | `(): Uint8Array` | an exact-length copy of the buffer |\n\n### `DataReader`\n\nReads are bounds-safe: an over-read never traps. It returns a zero/empty default\nand sets the public `ok` flag to `false`. Check `ok` after a sequence of reads\nto detect a truncated or malformed buffer.\n\n| Method | Signature | On over-read |\n| --- | --- | --- |\n| `readU8` / `readI8` | `(): u8 / i8` | `0` |\n| `readU16`..`readU64`, `readI16`..`readI64` | `(): integer` | `0` |\n| `readF32` / `readF64` | `(): f32 / f64` | `0` |\n| `readBool` | `(): bool` | `false` |\n| `readBytes` | `(): Uint8Array` | empty array |\n| `readString` | `(): string` | `\"\"` |\n| `readU128`/`readI128`/`readU256`/`readI256` | `(): bignum` | `0` |\n| `remaining` | `(): i32` | bytes left unread |\n| `ok` | `bool` (field) | `false` once any read over-ran |\n\n### Example\n\n```ts\nimport { DataWriter, DataReader } from 'data';\n\n// Write: u8 version, str name, u64 score, bytes blob\nconst out = new DataWriter()\n .writeU8(1)\n .writeString('alice')\n .writeU64(1234)\n .writeBytes(payload)\n .toBytes();\n\n// Read it back\nconst r = new DataReader(out);\nconst version = r.readU8();\nconst name = r.readString();\nconst score = r.readU64();\nconst blob = r.readBytes();\nif (!r.ok) return Response.badRequest('truncated');\n```\n\n## Notes\n\n- **Endianness.** The AS guest codec is little-endian. The TypeScript `toiljs/io`\n codec defaults to little-endian and also accepts a per-call `be` flag for\n big-endian network formats; keep both ends on the same setting.\n- **Field order is the format.** The binary layout is exactly the field\n declaration order. Reordering fields, or changing a type, is a breaking format\n change. Add new fields at the end and bump a leading version byte if you need\n to evolve a hand-rolled payload.\n- **`encode()` carries a type id.** The 4-byte `dataId()` prefix lets a decoder\n confirm it is reading the type it expects. `encodeInto`/`decodeFrom` skip the\n frame for nesting one `@data` value inside another.\n",
|
|
14
|
-
"caching.md": "# Caching\n\ntoiljs can cache a response at the edge (shared, across users) and instruct the\nbrowser to cache it too. You opt in per route, either declaratively with the\n`@cache` decorator or imperatively with `Response.cache(...)`. The edge keys a\ncached entry by host, method, path, and body hash, and honors a per-entry TTL.\n\n## `@cache` decorator\n\nAnnotate a route method; the compiler appends the cache directive to whatever\n`Response` the route returns, so it composes with every return shape (a\n`Response`, a `void` 204, or an auto-encoded `@data` value).\n\n```ts\n@cache(60) // 60 minutes at the edge\n@cache(60, 300) // + 5 minutes (300s) in the browser\n@cache(60, 300, true) // + private scope (per-user caches only)\n@cache(60, 300, true, true) // + cache even for authenticated requests\n@get('/leaderboard')\npublic top(): Standings { /* … */ }\n```\n\nArguments must be integer or boolean literals; a non-literal argument makes the\ndecorator degrade safely to \"not cached\" rather than miscompile.\n\n## `Response.cache(...)`\n\nThe same controls are available imperatively, which is what `@cache` lowers to:\n\n```ts\npublic cache(\n edgeTtlMinutes: u16,\n browserTtlSeconds: u32 = 0,\n privateScope: bool = false,\n allowAuth: bool = false,\n): Response\n```\n\n```ts\nreturn Response.json(body).cache(60, 300);\n```\n\n`cacheFor(minutes)` is the common shorthand for \"edge only, no browser caching\":\n\n```ts\nreturn Response.bytes(blob).cacheFor(5);\n```\n\n## Parameters\n\n| Parameter | Meaning |\n| --- | --- |\n| `edgeTtlMinutes` | How long the edge may serve the cached response. Clamped to a 24-hour maximum. |\n| `browserTtlSeconds` | `max-age` for the browser. `0` (default) means the browser does not cache. |\n| `privateScope` | Marks the response `private`: only per-user caches (the browser), never a shared edge/CDN cache. |\n| `allowAuth` | Permit caching a response to an authenticated request. Off by default (see safety rails). |\n\n## Safety rails\n\nThe cache layer refuses to store anything unsafe, regardless of the directive:\n\n- **5xx** responses are never cached, a server error is transient, and `@cache`\n wraps the whole route, so a `@cache`d route that hits a blip returns its 500\n carrying the directive; caching it would serve the failure for the full TTL.\n **2xx, 3xx, and 4xx are cacheable** (a redirect or a `404`/`410` is a\n deterministic function of the request key);\n- a response that sets a **`Set-Cookie`** is never cached;\n- a response to an **authenticated** request is not cached unless you pass\n `allowAuth = true`, this prevents one user's personalized response from being\n served to another;\n- the edge TTL is **clamped to 24 hours**.\n\nBecause `@auth` guards and body-decode run before the cache directive is applied,\nan unauthorized request is rejected with 401 before anything is cached, and a\ncached entry is only ever produced from a handler that actually ran.\n\nCaching is **always opt-in.** A response with no `
|
|
14
|
+
"caching.md": "# Caching\n\ntoiljs can cache a response at the edge (shared, across users) and instruct the\nbrowser to cache it too. You opt in per route, either declaratively with the\n`@cache` decorator or imperatively with `Response.cache(...)`. The edge keys a\ncached entry by host, method, path, and body hash, and honors a per-entry TTL.\n\n## `@cache` decorator\n\nAnnotate a route method; the compiler appends the cache directive to whatever\n`Response` the route returns, so it composes with every return shape (a\n`Response`, a `void` 204, or an auto-encoded `@data` value).\n\n```ts\n@cache(60) // 60 minutes at the edge\n@cache(60, 300) // + 5 minutes (300s) in the browser\n@cache(60, 300, true) // + private scope (per-user caches only)\n@cache(60, 300, true, true) // + cache even for authenticated requests\n@get('/leaderboard')\npublic top(): Standings { /* … */ }\n```\n\nArguments must be integer or boolean literals; a non-literal argument makes the\ndecorator degrade safely to \"not cached\" rather than miscompile.\n\n## `Response.cache(...)`\n\nThe same controls are available imperatively, which is what `@cache` lowers to:\n\n```ts\npublic cache(\n edgeTtlMinutes: u16,\n browserTtlSeconds: u32 = 0,\n privateScope: bool = false,\n allowAuth: bool = false,\n): Response\n```\n\n```ts\nreturn Response.json(body).cache(60, 300);\n```\n\n`cacheFor(minutes)` is the common shorthand for \"edge only, no browser caching\":\n\n```ts\nreturn Response.bytes(blob).cacheFor(5);\n```\n\n## Parameters\n\n| Parameter | Meaning |\n| --- | --- |\n| `edgeTtlMinutes` | How long the edge may serve the cached response. Clamped to a 24-hour maximum. |\n| `browserTtlSeconds` | `max-age` for the browser. `0` (default) means the browser does not cache. |\n| `privateScope` | Marks the response `private`: only per-user caches (the browser), never a shared edge/CDN cache. |\n| `allowAuth` | Permit caching a response to an authenticated request. Off by default (see safety rails). |\n\n## Safety rails\n\nThe cache layer refuses to store anything unsafe, regardless of the directive:\n\n- **5xx** responses are never cached, a server error is transient, and `@cache`\n wraps the whole route, so a `@cache`d route that hits a blip returns its 500\n carrying the directive; caching it would serve the failure for the full TTL.\n **2xx, 3xx, and 4xx are cacheable** (a redirect or a `404`/`410` is a\n deterministic function of the request key);\n- a response that sets a **`Set-Cookie`** is never cached;\n- a response to an **authenticated** request is not cached unless you pass\n `allowAuth = true`, this prevents one user's personalized response from being\n served to another;\n- the edge TTL is **clamped to 24 hours**.\n\nBecause `@auth` guards and body-decode run before the cache directive is applied,\nan unauthorized request is rejected with 401 before anything is cached, and a\ncached entry is only ever produced from a handler that actually ran.\n\nCaching is **always opt-in.** A response with no `Dacely-Cache-Control` directive\n(i.e. no `@cache` / `Response.cache(...)`) is never stored, there is no blind\n\"cache every GET\" mode, because an automatic window cannot tell a personalized\nresponse from a public one and would key it without a per-user component.\n\n## Memory bounds and disk spill\n\nThe edge cache is per-core and hard-capped so it can never exhaust node memory.\nIt has two tiers:\n\n- **RAM tier**, small, short-TTL responses. Bounded by a per-core byte budget\n (each core holds at most ~128 MB) plus an entry-count cap; an insert that would\n exceed the budget drops expired entries first, then evicts the soonest-to-expire\n ones. A response over ~256 KB does not go in the RAM tier.\n- **Disk tier (spill)**, when the operator enables `--spill-dir`, a **big**\n (over the ~256 KB RAM cap) or **long-TTL** (≥ 10 min) cacheable response is\n written to disk instead and served back zero-RAM via a memory map, the same way\n static files are served. This keeps the RAM tier for the hot working set while\n still caching large bodies and long-lived entries. Writes (and unlinks) are\n offloaded to a sibling thread so they never stall the request path; a separate\n per-core disk budget caps total spilled bytes, with the same expiry + eviction.\n If spill is not enabled, a big response is simply not cached (reported as not\n stored by the `Dacely-Cache` tag).\n\nFrom a tenant's point of view nothing changes: you still just set a\n`Dacely-Cache-Control` directive (via `@cache` / `Response.cache(...)`). The edge\ndecides RAM vs disk; both honor the same TTL and the same safety rails above.\nExpiry is enforced on read (a past-TTL entry is a miss) and reclaimed on the next\ninsert that needs room. Nothing persists across a process restart.\n\n## Choosing TTLs\n\n- Public, slow-changing data (a leaderboard, a catalog): a few minutes of edge\n TTL plus a short browser TTL removes most of the load.\n- Per-user data: set `privateScope` so it never lands in a shared cache, and\n prefer a small or zero edge TTL.\n- Anything with a `Set-Cookie` or behind `@auth`: leave it uncached unless you\n have thought through `allowAuth` and are certain the body is identical for\n every authorized caller.\n",
|
|
15
15
|
"ratelimit.md": "# Rate limiting\n\nThe `@ratelimit` decorator throttles **any** `@rest` route, a login, a signup, a\npublic API, an email trigger, anything. It is enforced at the edge, before your\nhandler runs, and keyed by default on the connecting client's **unspoofable** IP,\nso it works as an abuse / brute-force control out of the box.\n\nIt composes with the other route decorators and is independent of email or auth.\n\n## Using `@ratelimit`\n\nAdd it to a route alongside the verb decorator:\n\n```ts\nimport { Response, RouteContext } from 'toiljs/server/runtime';\n\n@rest('auth')\nclass Auth {\n // At most 5 login attempts per 60 seconds per client IP.\n @ratelimit(RateLimit.SlidingWindow, 5, 60)\n @post('/login')\n login(ctx: RouteContext): Response {\n // ... only runs if under the limit ...\n return Response.text('ok\\n');\n }\n}\n```\n\n`@ratelimit(strategy, limit, window)`:\n\n- **`strategy`**, a `RateLimit` value (ambient global, no import):\n `RateLimit.FixedWindow`, `RateLimit.SlidingWindow`, or `RateLimit.TokenBucket`.\n- **`limit`** and **`window`**, integer literals whose meaning depends on the\n strategy (see below).\n\nWhen a request is over the limit the edge returns **`429 Too Many Requests`**\nwith a **`Retry-After`** header (whole seconds), and your handler never runs. The\nguard runs **before `@auth`**, so unauthenticated floods are limited too.\n\n> Both arguments must be **integer literals** and the strategy a `RateLimit`\n> member (or a bare integer tag). A malformed decorator emits no guard rather\n> than miscompiling, the same fail-safe rule as `@cache`.\n\n## Strategies\n\n| Strategy | `limit`, `window` mean | Behavior |\n| --- | --- | --- |\n| `FixedWindow` | `limit` events per `window` seconds | Cheapest. Counts in aligned wall-clock buckets; a caller hammering a boundary can briefly get up to ~2× `limit` across two adjacent windows. |\n| `SlidingWindow` | `limit` events per `window` seconds | Smooths the fixed-window boundary by weighting the previous window. Best general choice for \"N per period\". |\n| `TokenBucket` | `limit` = burst size, `window` = refill **per second** | Allows an initial burst of `limit`, then a steady `window` tokens/sec. Good for bursty-but-bounded APIs. |\n\nExamples:\n\n```ts\n// 100 requests / minute, smoothed:\n@ratelimit(RateLimit.SlidingWindow, 100, 60)\n\n// Burst of 20, then 5 per second sustained:\n@ratelimit(RateLimit.TokenBucket, 20, 5)\n\n// Exactly 3 per hour, cheapest:\n@ratelimit(RateLimit.FixedWindow, 3, 3600)\n```\n\n## How requests are keyed\n\nBy default the limiter keys on the **client IP**, specifically the TCP peer\naddress the edge observed (`ctx.clientIp()`), **not** a header like\n`X-Forwarded-For`, which a client can forge. That makes it a real abuse control:\na caller can't reset their bucket by spoofing a header.\n\nThe count is **exact across all 14 edge workers** (a given IP always maps to one\nauthoritative shard), so the limit is global per route, not per worker. Only\nroutes that opt in with `@ratelimit` ever pay anything, the lock-free fast path\nfor everything else is untouched.\n\n> Each rate-limited route has its own independent limiter, a limit on `/login`\n> does not consume the budget of `/signup`.\n\n## Notes and limits\n\n- **Route-level only.** Put `@ratelimit` on each route you want limited; there is\n no controller-wide form yet (unlike `@auth`).\n- **Keyed on IP.** The decorator keys on the peer IP today. (A per-user / custom\n key, limiting by account instead of IP, exists in the runtime but is not yet\n exposed through the decorator.)\n- **In dev.** `toiljs dev` runs a single-process mirror of the same three\n strategies, so a limited route behaves the same locally as on the edge.\n\n## See also\n\n- [Email](./email.md), `@ratelimit` pairs well with email triggers (verification\n codes, password resets) to blunt abuse.\n- [Auth, sessions, and `@user`](./auth.md), `@ratelimit` runs before the `@auth`\n guard, so it protects the login itself.\n",
|
|
16
16
|
"auth.md": "# Auth, sessions, and `@user`\n\ntoiljs ships **Toil PQ-Auth**: a post-quantum password login where the password\nnever leaves the browser and the server stores only public verifier material.\nOn top of it sit HMAC-signed session cookies, a `@auth` route guard, and a\n`@user` type that makes the signed-in user available - fully typed, no type\nargument - on both the server (`AuthService.getUser()`) and the generated client\n(`getUser()`).\n\n> **Status.** PQ-Auth is a hybrid construction (see [What it is](#what-it-is)).\n> It is opt-in and **not hardened to production yet** - the example storage is a\n> dev stand-in, the secrets are dev placeholders, and the composition has not had\n> an external cryptographic review. See [`docs/auth-todo.md`](./auth-todo.md) for\n> the remaining work before it backs real credentials.\n\n`AuthService` is an ambient global (no import). The pieces:\n\n- **`@user`** - declares the authenticated user's shape and registers it as *the* user type.\n- **`@auth`** - guards a route (or a whole `@rest` class): a valid session is required or `401`.\n- **`AuthService`** - the server runtime: the PQ-Auth crypto, plus mint/read/clear a session and `getUser()`.\n- **client `Auth` + generated `getUser()`** - run the login from the browser and read the user for display.\n\n---\n\n## What it is\n\nA password is a weak, low-entropy secret. PQ-Auth turns it into a strong,\n**post-quantum** credential and proves possession to the server without the\nserver (or anyone on the wire, or a future quantum adversary) ever seeing\nanything they can replay. It is built from three independent ideas, each\ndefending a specific attack:\n\n| Layer | Primitive | Defends against |\n| --- | --- | --- |\n| **Keyed salt** | OPRF (RFC 9497, ristretto255-SHA512) | A breached server (or a passive observer) **precomputing** a password dictionary. |\n| **Credential** | Argon2id → ML-DSA-44 (FIPS 204) keypair | The password ever crossing the wire; a stolen verifier being usable without an expensive per-guess attack. |\n| **Mutual auth + key** | ML-KEM-768 (FIPS 203) | A phishing/MITM server impersonating the real one; a session with no key to bind to. |\n\nThe password is stretched into a signing keypair entirely client-side; only the\n**public** key is registered. Login is a challenge-response signature *plus* a\nkey encapsulation, so both parties authenticate each other. Authentication\n(ML-DSA) and key agreement (ML-KEM) are post-quantum; the keyed-salt OPRF is\nclassical ristretto255 (the one non-PQ layer - a quantum break of it degrades to\na post-breach offline attack, no worse than a plain salt, while defeating\nprecomputation for everyone else).\n\n### Why a keyed salt (the OPRF)\n\nA normal salted hash (`Argon2id(password, salt)`) lets anyone who learns the\nsalt - including a future attacker who simply asks the login endpoint for it -\n**precompute** a dictionary offline and crack the stored verifier the instant\nthey breach it. PQ-Auth replaces the salt with the output of a **server-keyed**\nOPRF:\n\n```\noprfOutput = OPRF_finalize(password, OPRF_evaluate(k_user, blind(password)))\nseed = Argon2id(oprfOutput, salt)\n```\n\nThe client **blinds** the password (so the server learns nothing about it),\nthe server **evaluates** the blinded element under a per-user key `k_user`\nderived from a server-secret master seed, and the client **unblinds** to recover\na deterministic, high-entropy `oprfOutput`. Because `k_user` is a server secret,\n**no offline work is possible until that secret leaks** - precomputation is\nimpossible, and even a passive observer who captures a login learns nothing.\nThe per-user key (`k_user = DeriveKeyPair(masterSeed, username)`) means two\naccounts with the same password get different outputs - no cross-account\npassword-equality leak.\n\n### Why a password-derived signing key\n\n`seed = Argon2id(oprfOutput, salt)` deterministically expands into an\n**ML-DSA-44 keypair**. The client registers only the 1312-byte **public** key;\nthe secret key and seed are zeroized the instant signing is done. The server\nstores the public key as a verifier and can only ever *verify* - it never holds\na secret (`crypto.mldsa_verify` is verify-only on the edge). A full server breach\nyields public keys, not passwords; recovering a password still requires an\noffline Argon2id dictionary attack **and** the leaked OPRF master seed.\n\n### Why ML-KEM (mutual auth + session key)\n\nA signature proves the *client* to the server, but nothing proves the *server*\nto the client. PQ-Auth pins the server's static **ML-KEM-768 public key** in the\nclient. At login the client **encapsulates** a shared secret to that key; only\nthe genuine server (holding the matching secret key) can **decapsulate** it. Both\nsides derive the same session key and the server returns a confirmation tag the\nclient checks - so a phishing/MITM server that lacks the secret key cannot\ncomplete the handshake.\n\n---\n\n## Flow at a glance\n\n```mermaid\nsequenceDiagram\n autonumber\n actor U as User\n participant C as Browser\n participant S as Edge wasm\n participant DB as Your store\n\n rect rgb(14, 21, 32)\n Note over U,DB: Register, password never leaves the browser\n U->>C: Auth.register(username, password)\n C->>S: POST /auth/register/start (username, blinded)\n S->>S: OPRF-evaluate under k_user, issue salt and KDF params\n S-->>C: salt, params, evaluated\n C->>C: finalize OPRF, Argon2id, ML-DSA-44 keypair, sign PoP\n C->>S: POST /auth/register/finish (username, publicKey, regProof)\n S->>S: verifyRegister(publicKey, PoP)\n S->>DB: store Account (username, salt, params, publicKey)\n S-->>C: ok\n end\n\n rect rgb(22, 15, 31)\n Note over U,DB: Login, mutual authentication\n U->>C: Auth.login(username, password)\n C->>S: POST /auth/login/start (username, blinded)\n S->>DB: store challenge (cid, nonce, iat, exp)\n S-->>C: cid, aud, salt, params, nonce, iat, exp, evaluated\n C->>C: finalize OPRF, derive seed, ML-DSA keypair, ML-KEM encapsulate, sign M\n C->>S: POST /auth/login/finish (cid, ct, signature)\n S->>DB: atomic consume challenge(cid)\n S->>S: rebuild M, verifyLogin, decapsulate, derive K, build confirm\n alt signature valid\n S-->>C: ok, sessionToken, serverConfirm, Set-Cookie\n C->>C: re-derive K, check serverConfirm, server authenticated\n else invalid or unknown user\n S-->>C: 401 generic, anti-enumeration\n end\n end\n\n rect rgb(13, 25, 18)\n Note over U,DB: Guarded request, the @auth guard\n U->>C: open or call an @auth route\n C->>S: request, cookies sent automatically\n S->>S: @auth verifies HMAC and expiry on __Host-toil_sess\n alt valid session\n S->>S: handler runs, AuthService.getUser() returns the @user\n S-->>C: 200\n else missing or invalid\n S-->>C: 401 before handler and body-decode\n end\n end\n```\n\n### The signed transcript\n\nThe login message `M` the client signs (and the server rebuilds from its own\nstored values) is a single fixed binary layout - no JSON, no version negotiation:\n\n```\nu8 tag = 1\nstr sub (username)\nstr aud (service audience; server constant)\nbytes cid (challenge id)\nbytes nonce (32 random bytes, server-issued)\nu64 iat, u64 exp (challenge validity window)\nbytes ct (ML-KEM ciphertext)\nu32 memKiB, iterations, parallelism (Argon2id params)\nbytes serverKemKeyId (SHA-256 of the server KEM public key)\n```\n\nSigning over all of this binds the login to: the exact challenge (so it can't be\nreplayed - and `cid` is consumed atomically), the **ciphertext** (so a MITM can't\nswap the key encapsulation), the **KDF params** (so a downgrade can't be slipped\npast the signature), and the **server key identity** (so it commits to which\nserver key was used). The mutual-auth tag is then:\n\n```\nK = HMAC-SHA256(sharedSecret, \"toil-session-key-v1\" || SHA-256(M))\nconfirm = HMAC-SHA256(K, \"toil-server-confirm-v1\" || SHA-256(M))\n```\n\n`K` is the authenticated session key, derived from the KEM shared secret and\nbound to the transcript. Only a server that decapsulated correctly derives the\nsame `K`, so the client checking `confirm` proves the server's identity. (`K` is\nthe handle for future channel binding; binding the session *cookie* to the\ntransport needs the TLS exporter, which the wasm guest can't see - a follow-up.)\n\n### Anti-enumeration\n\n`login/start` returns a fully-formed response for **every** username: it always\nOPRF-evaluates (a real `k_user` for known users, a deterministic decoy key for\nunknown ones) and returns a **deterministic per-user salt** and constant params.\nKnown and unknown users are byte-indistinguishable, and the eventual signature\nsimply fails for a non-account. Failures return one generic `401`.\n\n---\n\n## `@user`\n\nMark one class per program as the user type. It becomes a `@data` codec (so it\nserializes into the session) and the return type of `getUser()` everywhere.\n\n```ts\n@user\nclass Account {\n username: string = '';\n admin: bool = false;\n score: u64 = 0;\n}\n```\n\nThere is exactly one `@user` per program; a second is a compile error.\n\n## `@auth`\n\nPut `@auth` on a route, or on the `@rest` class to guard every route in it. The\ngenerated dispatcher checks for a valid, unexpired session **before** the handler\nruns (and before any body-decode or cache write); without one it returns `401`.\n\n```ts\n@rest('session')\nclass Session {\n @auth\n @get('/me')\n public me(): Response {\n const u = AuthService.getUser(); // Account | null, auto-typed\n if (u == null) return Response.text('no session\\n', 401);\n return Response.bytes(new DataWriter()\n .writeString(u.username).writeBool(u.admin).writeU64(u.score).toBytes());\n }\n}\n```\n\n`@auth` on the class form guards all routes in it.\n\n## `AuthService` (server)\n\nA global namespace. Session methods read the ambient request\n(`Server.currentRequest`), so `getUser()`/`hasSession()` take no argument and are\nonly meaningful during a dispatch.\n\n### PQ-Auth crypto\n\nStartup config (call once in `main.ts`; identical on every edge instance; never\nin a client bundle):\n\n| Member | Notes |\n| --- | --- |\n| `setSecret(secret)` | HMAC secret for session cookies. |\n| `setOprfSeed(seed)` | 32-byte OPRF master seed; per-user keys derive from this + the username. |\n| `setServerKemSecretKey(sk)` | Server static ML-KEM-768 secret key (2400 B) used to decapsulate. |\n| `setServerKemPublicKey(pk)` | The matching public key (1184 B) for `serverKemKeyId`; it is embedded in `sk` at bytes `[1152, 2336)`, so you can pass `sk.slice(1152, 2336)`. |\n\nPer-request building blocks:\n\n| Member | Notes |\n| --- | --- |\n| `oprfEvaluate(username, blinded)` | OPRF server step: blind-evaluate under `k_user` derived from the seed + username. Returns the 32-byte evaluated element. |\n| `mlkemDecapsulate(ct)` | Recover the 32-byte shared secret from the client ciphertext with the server secret key. |\n| `buildLoginMessage(sub, aud, cid, nonce, iat, exp, ct, memKiB, iterations, parallelism, serverKemKeyId)` | The canonical login message `M`. Call it with the server's **own** stored values, never client-echoed fields. |\n| `verifyLogin(publicKey, message, signature)` | Verify the ML-DSA login signature under `LOGIN_CONTEXT`. |\n| `serverKemKeyId()` | `SHA-256(serverKemPublicKey)` - the key id bound into `M`. |\n| `sha256(data)` | SHA-256, for the transcript hash. |\n| `deriveSessionKey(sharedSecret, transcriptHash)` | `K = HMAC(sharedSecret, SESSION_KEY_LABEL || transcriptHash)`. |\n| `serverConfirmTag(sessionKey, transcriptHash)` | The mutual-auth tag `HMAC(K, SERVER_CONFIRM_LABEL || transcriptHash)`. |\n| `buildRegisterMessage(username, publicKey)` / `verifyRegister(...)` | Registration proof-of-possession (under `REGISTER_CONTEXT`). |\n| `LOGIN_CONTEXT` / `REGISTER_CONTEXT` | `qauth:login:v1` / `qauth:register:v1` - FIPS 204 signing contexts. |\n| `PUBLIC_KEY_LEN` `SIGNATURE_LEN` `KEM_*` `SHARED_SECRET_LEN` `OPRF_*` | Fixed sizes. |\n\nThe full register/login orchestration (the four binary endpoints, the\nanti-enumeration decoy, the atomic challenge-consume) is in\n`examples/basic/server/routes/Auth.ts`. **Storage is the app's** - a tenant's\nwasm memory is wiped per request, so accounts and challenges live in an external\nstore, and challenge-consume **must** be an atomic fetch-and-delete (a\nread-then-delete race makes a captured login replayable). The example uses a\n**dev-only** KV for this; production wires toildb (see `docs/auth-todo.md`).\n\n### Sessions\n\n| Member | Signature | Notes |\n| --- | --- | --- |\n| `getUser()` | `(): AuthUser \\| null` | The signed-in user, decoded from the verified session, auto-typed to your `@user`. |\n| `hasSession()` | `(): bool` | Whether the request carries a valid, unexpired session. What `@auth` calls. |\n| `mintSession(userData, ttlSecs?)` | `(Uint8Array, u64=86400): Cookie` | Signed `__Host-toil_sess` cookie carrying `user.encode()`. HttpOnly, Secure, SameSite=Lax. |\n| `clearSession()` / `userCookie(...)` / `clearUserCookie()` | | Logout; the readable `__Secure-toil_user` companion (display-only); clear it. |\n\nThe session payload is `u8 version || u64 iat || u64 exp || bytes userData`, sealed\nwith HMAC-SHA256. The HttpOnly `__Host-toil_sess` is the **only** cookie the\nserver trusts; the readable `__Secure-toil_user` exists solely so the client\n`getUser()` can show a name without a round-trip and must never gate anything.\n\n## The client half\n\n```ts\nimport { Auth } from 'toiljs/client';\n\nawait Auth.register(username, password); // OPRF + Argon2id + ML-DSA keypair, send only the public key + PoP\nawait Auth.login(username, password); // + ML-KEM encapsulate; resolves only if the server's confirm tag verifies\n```\n\n`login` resolves **only after** the client verifies the server's confirmation tag\n- so a resolved `login` means mutual authentication succeeded. The secret key,\nseed, and shared secret are zeroized as soon as they are used. There is no\nrecovery: the password *is* the key (see `docs/auth-todo.md` for the recovery\nwork).\n\nThe generated `shared/server.ts` also exports a typed, no-argument client\n`getUser()` that reads the readable companion cookie. It is **display-only and\nuntrusted** - a client can forge it, fooling only its own UI. The server\nre-verifies the signed session on every `@auth` request, so authorization never\ndepends on the readable cookie.\n\n## Security checklist\n\n- Set real secrets in `main.ts`: `setSecret`, `setOprfSeed`, and the server KEM\n keypair - per-deployment, identical on every instance, never in a client\n bundle. The defaults are insecure DEV placeholders.\n- Pin **your** server KEM public key in the client and rotate it; the example\n ships a throwaway dev keypair.\n- Use a production Argon2id cost (≥ 256 MiB, ≥ 3 iterations); the demo is tuned\n for browser responsiveness.\n- Back accounts/challenges with a shared store and make challenge-consume atomic.\n- Rate-limit `register` and `login` (online guessing is not stopped by the\n offline-attack resistance).\n- Always verify server-side. The server `getUser()` decodes a verified,\n expiry-checked session; the client `getUser()` does not and must not gate\n anything.\n- This is an unreviewed hybrid composition - get a cryptographic review before it\n backs real credentials. Tracked in [`docs/auth-todo.md`](./auth-todo.md).\n",
|
|
17
17
|
"environment.md": "# Environment variables & secrets\n\n`Environment` gives a tenant **per-app environment variables and secrets**, set\nout of band (a dashboard, like GitHub Actions) so the deployed `.wasm` carries\n**no credentials**. It is read-only from app code, there is no `set`; values are\nconfigured on the deployment side, never from the module.\n\n```ts\nimport { Response, RouteContext } from 'toiljs/server/runtime';\n\n@rest('cfg')\nclass Cfg {\n @get('/')\n show(ctx: RouteContext): Response {\n const base = Environment.get('PUBLIC_API_BASE'); // plain var, or null\n const key = Environment.getSecure('STRIPE_KEY'); // secret, or null\n // Use `key` to call a third party; never log it or return it to a client.\n return Response.text(base != null ? base : 'unset');\n }\n}\n```\n\n`Environment` is a global, no import needed (like `EmailService` / `AuthService`).\n\n## Two disjoint buckets\n\nJust like GitHub Actions' `vars` vs `secrets`:\n\n- **`Environment.get(key)`** reads **plain vars**, non-sensitive config (a public\n API base URL, a feature flag, a region). Returns the string, or `null`.\n- **`Environment.getSecure(key)`** reads **secrets**, sensitive values (a\n third-party API key). Returns the string, or `null`.\n\nThe buckets are **disjoint**: a secret is **never** returned by `get()`, and a\nplain var is never returned by `getSecure()`. That keeps a secret from leaking\nthrough a code path that logs the result of a `get()`. Keys are case-sensitive,\nexact-match.\n\n> Secrets you read with `getSecure` are plaintext in your module at runtime\n> (that's the point, you need them to call out). Don't log them, don't put them\n> in a response, and don't copy them into a client bundle.\n\n## What is NOT here\n\nFramework-reserved namespaces (today: **email** provider config) are **host-only**,\nresolved and used in Rust where the framework needs them, and **never exposed to\nthe `.wasm`**. There is no `Environment.email`; you configure email in the\n`[email]` block of the same env file and the platform uses it for you (see\n[Email](./email.md)). The env imports only ever see your own `vars` / `secrets`.\n\n## Where values live\n\nVars and secrets live in **two separate dotenv (`.env`) files**, so the disjoint\nsplit is structural and the secrets file can be locked down on its own. On the\nedge they are per host, **out of `hosts/`** (so the config watcher never sees a\ncredential), the dashboard / edge database replaces them later:\n\n```bash\n# $TOIL_ENV_DIR/<host>.env (default dir /run/toil/env)\nPUBLIC_API_BASE=https://api.example.com # -> Environment.get(\"PUBLIC_API_BASE\")\nREGION=eu\n\n# $TOIL_ENV_DIR/<host>.env.secrets (mode 0600)\nSTRIPE_KEY=sk_live_xxx # -> Environment.getSecure(\"STRIPE_KEY\")\n\n# host-only email config, reserved TOIL_EMAIL_* keys, NEVER exposed to the .wasm\nTOIL_EMAIL_ENABLED=true\nTOIL_EMAIL_PROVIDER=resend\nTOIL_EMAIL_FROM=noreply@example.com\nTOIL_EMAIL_API_KEY=re_xxx\n```\n\nEach file is plain dotenv: `KEY=value` per line, `#` comments, optional `export`,\noptional quotes. Keys with the reserved **`TOIL_`** prefix are framework/host-only\nand are stripped from BOTH guest buckets, a tenant can never read them via\n`get`/`getSecure` (see [Email](./email.md) for `TOIL_EMAIL_*`).\n\nOn the edge, env is loaded **lazily** (the first time your code reads it) into a\n**bounded, shared, read-only cache** with idle eviction: the data lives in one\nplace and is never copied per request, a host that never reads env costs nothing,\nsecrets are wiped when a host goes cold, and a flood of requests to many distinct\nhosts can never grow memory without bound.\n\n## In dev\n\n`toiljs dev` reads `.env` (vars) and `.env.secrets` (secrets) at your project\nroot, and overlays `process.env` as plain vars for convenience. Both are\ngitignored by the scaffold. The ABI is identical to the edge, so code that runs\nin dev runs on the edge.\n\n```bash\n# .env (vars)\nPUBLIC_API_BASE=http://localhost:4000\n\n# .env.secrets (secrets; 0600; gitignored)\nSTRIPE_KEY=sk_test_xxx\n```\n",
|
package/build/compiler/vite.js
CHANGED
|
@@ -59,7 +59,7 @@ function assetFileName(name) {
|
|
|
59
59
|
if (FONT_EXT.test(ext))
|
|
60
60
|
return 'fonts/[name][extname]';
|
|
61
61
|
if (/^css$/i.test(ext))
|
|
62
|
-
return 'css/[name][extname]';
|
|
62
|
+
return 'css/[name]-[hash][extname]';
|
|
63
63
|
return 'assets/[name][extname]';
|
|
64
64
|
}
|
|
65
65
|
async function tailwindPlugin(root) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.webworker.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@dacely/uwebsockets.js/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/LiveFile.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/SSEventStream.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Response.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/MultipartField.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Request.d.ts","../../node_modules/typed-emitter/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/ws/Websocket.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareNext.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareHandler.d.ts","../../node_modules/@dacely/hyper-express/types/components/router/Router.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/HostManager.d.ts","../../node_modules/@dacely/hyper-express/types/components/Server.d.ts","../../node_modules/@dacely/hyper-express/types/index.d.ts","../../node_modules/picocolors/types.d.ts","../../node_modules/picocolors/picocolors.d.ts","../shared/index.d.ts","../io/FastMap.d.ts","../io/FastSet.d.ts","../io/codec.d.ts","../io/types.d.ts","../io/index.d.ts","../../src/devserver/config/dotenv.ts","../../src/devserver/config/env.ts","../../src/devserver/config/ratelimit.ts","../../src/devserver/analytics/index.ts","../../src/devserver/email/caps.ts","../../src/devserver/email/validate.ts","../../src/devserver/email/config.ts","../../src/devserver/email/status.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/@types/node/web-globals/console.d.ts","../../node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/utility.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client-stats.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/undici-types/h2c-client.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-call-history.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/@types/node/web-globals/url.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/ffi.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/inspector/promises.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/path/posix.d.ts","../../node_modules/@types/node/path/win32.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/quic.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/iter.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/test/reporters.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/zlib/iter.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../node_modules/@types/nodemailer/index.d.ts","../../src/devserver/email/providers.ts","../../src/devserver/email/wire.ts","../../src/devserver/email/index.ts","../../node_modules/@noble/hashes/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-dsa.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-kem.d.ts","../../node_modules/@noble/curves/utils.d.ts","../../node_modules/@noble/curves/abstract/modular.d.ts","../../node_modules/@noble/curves/abstract/curve.d.ts","../../node_modules/@noble/curves/abstract/edwards.d.ts","../../node_modules/@noble/curves/abstract/hash-to-curve.d.ts","../../node_modules/@noble/curves/abstract/frost.d.ts","../../node_modules/@noble/curves/abstract/montgomery.d.ts","../../node_modules/@noble/curves/abstract/oprf.d.ts","../../node_modules/@noble/curves/ed25519.d.ts","../../src/devserver/runtime/crypto.ts","../../src/devserver/runtime/host.ts","../../src/devserver/wasm/sections.ts","../../src/devserver/db/types.ts","../../src/devserver/db/catalog.ts","../../src/devserver/db/database.ts","../../src/devserver/db/derives.ts","../../src/devserver/db/index.ts","../../src/devserver/daemon/host.ts","../../src/devserver/wasm/surface.ts","../../src/devserver/daemon/catalog.ts","../../src/devserver/daemon/cron.ts","../../src/devserver/daemon/index.ts","../../src/devserver/daemon/runtime.ts","../../src/devserver/http/proxy.ts","../../src/devserver/http/envelope.ts","../../src/devserver/http/cache.ts","../../src/devserver/db/routeKinds.ts","../../src/devserver/runtime/module.ts","../../src/devserver/ssr.ts","../../src/devserver/http/runtime.ts","../../src/devserver/stream/catalog.ts","../../src/devserver/stream/host.ts","../../src/devserver/stream/index.ts","../../src/devserver/stream/manager.ts","../../src/devserver/stream/ws.ts","../../src/devserver/stream/router.ts","../../src/devserver/stream/wire.ts","../../src/devserver/server.ts","../../src/devserver/production-ipc.ts","../../src/devserver/production.ts","../../src/devserver/index.ts","../../src/devserver/production-worker.ts"],"fileIdsList":[[125,190,198,203,206,208,209,210,223],[111,125,190,198,203,206,208,209,210,223],[111,112,113,114,125,190,198,203,206,208,209,210,223],[94,97,99,104,105,125,190,198,203,206,208,209,210,223,228],[94,98,106,125,190,198,203,206,208,209,210,223,228],[94,95,96,106,125,190,198,203,206,208,209,210,223,228],[97,99,102,125,190,198,203,206,208,209,210,223],[125,190,198,201,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,228],[97,125,190,198,203,206,208,209,210,223],[94,97,99,101,103,125,190,198,203,206,208,209,210,223,228],[94,97,100,125,190,198,201,203,206,208,209,210,223,228],[94,95,96,97,98,99,101,102,103,104,106,125,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,269],[125,190,198,203,206,208,209,210,223,268],[125,190,198,203,206,208,209,210,223,272,273],[125,190,198,203,206,208,209,210,223,272,273,274],[125,190,198,203,206,208,209,210,223,272,273,274,276],[125,190,198,203,206,208,209,210,223,272],[125,190,198,203,206,208,209,210,223,272,274],[125,190,198,203,206,208,209,210,223,272,274,276],[125,190,198,203,206,208,209,210,223,272,273,274,275,276,277,278,279],[125,187,188,190,198,203,206,208,209,210,223],[125,189,190,198,203,206,208,209,210,223],[190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,232],[125,190,191,196,198,201,203,206,208,209,210,212,223,228,241],[125,190,191,192,198,201,203,206,208,209,210,223],[125,190,193,198,203,206,208,209,210,223,242],[125,190,194,195,198,203,206,208,209,210,214,223],[125,190,195,198,203,206,208,209,210,223,228,238],[125,190,196,198,201,203,206,208,209,210,212,223],[125,189,190,197,198,203,206,208,209,210,223],[125,190,198,199,203,206,208,209,210,223],[125,190,198,200,201,203,206,208,209,210,223],[125,189,190,198,201,203,206,208,209,210,223],[125,190,198,201,203,204,206,208,209,210,223,228,241],[125,190,198,201,203,204,206,208,209,210,223,228,230,232],[125,177,190,198,201,203,205,206,208,209,210,212,223,228,241],[125,190,198,201,203,205,206,208,209,210,212,223,228,238,241],[125,190,198,203,205,206,207,208,209,210,223,228,238,241],[124,125,126,127,128,129,130,131,132,133,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[125,190,198,203,206,208,210,223],[125,190,198,203,206,208,209,210,211,223,241],[125,190,198,201,203,206,208,209,210,212,223,228],[125,190,198,203,206,208,209,210,214,223],[125,190,198,203,206,208,209,210,215,223],[125,190,198,201,203,206,208,209,210,218,223],[125,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248],[125,190,198,203,206,208,209,210,220,223],[125,190,198,203,206,208,209,210,221,223],[125,190,195,198,203,206,208,209,210,212,223,232],[125,190,198,201,203,206,208,209,210,223,224],[125,190,198,203,206,208,209,210,223,225,242,245],[125,190,198,201,203,206,208,209,210,223,228,230,231,232],[125,190,198,203,206,208,209,210,223,229,232],[125,190,198,201,203,206,208,209,210,223,228,230],[125,190,198,201,203,206,208,209,210,223,228,231,232],[125,190,198,203,206,208,209,210,223,232,242],[125,190,198,203,206,208,209,210,223,233],[125,187,190,198,203,206,208,209,210,223,228,235,241],[125,190,198,203,206,208,209,210,223,228,234],[125,190,198,201,203,206,208,209,210,223,236,237],[125,190,198,203,206,208,209,210,223,236,237],[125,190,195,198,203,206,208,209,210,212,223,228,238],[125,190,198,203,206,208,209,210,223,239],[125,190,198,203,206,208,209,210,212,223,240],[125,190,198,203,205,206,208,209,210,221,223,241],[125,190,198,203,206,208,209,210,223,242,243],[125,190,195,198,203,206,208,209,210,223,243],[125,190,198,203,206,208,209,210,223,228,244],[125,190,198,203,206,208,209,210,211,223,245],[125,190,198,203,206,208,209,210,223,246],[125,190,193,198,203,206,208,209,210,223],[125,190,195,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,242],[125,177,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,223,247],[125,190,198,203,206,208,209,210,218,223],[125,190,198,203,206,208,209,210,223,237],[125,177,190,198,201,203,204,206,208,209,210,218,223,228,232,241,244,245,247],[125,190,198,203,206,208,209,210,223,228,248],[125,190,198,203,206,208,209,210,223,230,249],[125,190,198,203,206,208,209,210,223,250,252,254,258,259,260,261,262,263],[125,190,198,203,206,208,209,210,223,228,250],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,201,203,206,208,209,210,212,223,228,241,250,251,252,253,255,256,257,264],[125,190,198,203,206,208,209,210,223,228,250,254,255],[125,190,198,203,206,208,209,210,223,228,250,254],[125,190,198,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,203,206,208,209,210,223,228,250,256],[125,190,198,201,203,206,208,209,210,212,223,228,238,250,253,255,257],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,253,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,254,255,257,264],[125,190,198,203,205,206,208,209,210,223,228,250,257],[108,125,190,198,203,206,208,209,210,223],[125,140,143,146,147,190,198,203,206,208,209,210,223,241],[125,143,190,198,203,206,208,209,210,223,228,241],[125,143,147,190,198,203,206,208,209,210,223,241],[125,137,190,198,203,206,208,209,210,223],[125,141,190,198,203,206,208,209,210,223],[125,139,140,143,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,212,223,238],[125,190,198,203,206,208,209,210,223,250],[125,137,190,198,203,206,208,209,210,223,250],[125,139,143,190,198,203,206,208,209,210,212,223,241],[125,134,135,136,138,142,190,198,201,203,206,208,209,210,223,228,241],[125,143,190,198,203,206,208,209,210,223],[125,143,152,161,190,198,203,206,208,209,210,223],[125,135,141,190,198,203,206,208,209,210,223],[125,143,171,172,190,198,203,206,208,209,210,223],[125,135,138,143,190,198,203,206,208,209,210,223,232,241,250],[125,139,143,190,198,203,206,208,209,210,223,241],[125,134,190,198,203,206,208,209,210,223],[125,137,138,139,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,190,198,203,206,208,209,210,223],[125,143,164,167,190,198,203,206,208,209,210,223],[125,143,152,154,155,190,198,203,206,208,209,210,223],[125,141,143,154,156,190,198,203,206,208,209,210,223],[125,142,190,198,203,206,208,209,210,223],[125,135,137,143,190,198,203,206,208,209,210,223],[125,143,147,154,156,190,198,203,206,208,209,210,223],[125,147,190,198,203,206,208,209,210,223],[125,141,143,146,190,198,203,206,208,209,210,223,241],[125,135,139,143,152,190,198,203,206,208,209,210,223],[125,143,164,190,198,203,206,208,209,210,223],[125,156,190,198,203,206,208,209,210,223],[125,135,139,143,147,190,198,203,206,208,209,210,223],[125,137,143,171,190,198,203,206,208,209,210,223,232,247,250],[125,190,198,203,206,208,209,210,223,282,288],[116,125,190,198,203,206,208,209,210,223],[115,125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,291],[125,190,198,203,206,208,209,210,223,281,282,288],[109,125,190,198,203,206,208,209,210,223,282,289,290,291,292],[109,125,190,198,203,206,208,209,210,223,289,293],[115,125,190,198,203,206,208,209,210,223,283,284],[115,125,190,195,198,203,206,208,209,210,215,223,282,284,285],[125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,284,285,286,287],[125,190,198,203,206,208,209,210,223,283,284],[110,121,125,190,198,203,206,208,209,210,223],[110,116,120,121,122,123,125,190,198,203,206,208,209,210,223,265,266],[122,123,125,190,198,203,206,208,209,210,223,264],[107,125,190,198,203,206,208,209,210,223],[107,109,125,190,198,203,206,208,209,210,215,223,296,297,299,300],[125,190,198,203,206,208,209,210,223,282,283,289,290,291,292,293,295,296,299,309,311],[125,190,198,203,206,208,209,210,223,310,311],[107,109,110,125,190,191,198,203,206,208,209,210,214,215,223,241,267,288,289,294,299,300,301,310],[125,190,195,198,203,206,208,209,210,223,270,271,280,282],[117,118,119,125,190,198,203,206,208,209,210,223,266,267,281,288],[125,190,198,203,206,208,209,210,223,282,288,296,298],[107,109,110,125,190,198,203,206,208,209,210,215,223,267,288,289,294,295,299,300,301,307,308],[125,190,198,203,206,208,209,210,223,290,303],[125,190,198,203,206,208,209,210,223,304],[125,190,198,203,206,208,209,210,223,302,305,306],[107,125,190,198,203,206,208,209,210,223,295,307],[125,190,198,203,206,208,209,210,223,305]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"d52ed68e7eb5881768a55713c9b5c7c443e6b46de15c04e348928b8efd20b110","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"7719a661a691dcf1a84eed5581eb223494502f579aa1e2425178b6f20ec8fcd0","impliedFormat":1},{"version":"4c51e36c9004c2d14a0bba49beb91630da51b15a0c41f91b2b076038126a5806","impliedFormat":1},{"version":"aca6ac8bf8de795cf3b67d450592d0f36356a3dcd0fb6425ac52c910aeb98ce4","impliedFormat":1},{"version":"f6feef58f3338b06119e40473c60553cbd5c75d74545d0aa3522374b6405720a","impliedFormat":1},{"version":"af6e515790bebd2d99ab46c08a3570f9fd74cd8542a4ecd2ca54fc7356680d24","impliedFormat":1},{"version":"5c5d0c9af035f7c920ef604080a6eef0a76cb4067ab4747ad2dc07026bfbfb48","impliedFormat":1},{"version":"6c27d4b5ba01295ef334456d9af4366aca789f228eee70fcb874b903a59b0e5b","impliedFormat":1},{"version":"93aa15a50eb71c40884e6f9b290eba6fb99d602706d21f8facf95c3bb8669abb","impliedFormat":1},{"version":"78ae308b449f2a861b1b1fbdd4aa0ba371c5e9e66aed2c2acf3b851785e652a4","impliedFormat":1},{"version":"d9e5cffcb3a6159f0a1e6fc1ad13abfe496a86cb82e0f59a82c926f8dad9d869","impliedFormat":1},{"version":"4485b7cd73d47ac60ff0a67f9c94f8b600c4d9665a27b268dd623baccc95c4eb","impliedFormat":1},{"version":"3800c5ce959fa102827db5cb875a461a05d43688ef4d85b76855c968a1573830","impliedFormat":1},{"version":"98c771706beebbe0f3720bb0a582b82e7c98cf62da175b8074cabecef2692546","impliedFormat":1},{"version":"9b1b01c85fe22541212ba4fa627d7f2059fa8af782ad6a899c43e9f4ceae4d0a","impliedFormat":1},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},"7427c56ad284f0a61481dac8b11e66b3282aac3674ed9c7bcd91760566157867","6a4c287c863003342a42d8bf876c7df4c2e82e95f556af5ade71f05255845200","272e7bc3a3734cc9e7419625f04cff7095131e315e51a83fa992a5134763df49","b9f2341c8b486561706db362b6f89ee6b149ef08fb4fa6aaea1041bce04fe1c5","3952955b5e83c1164fc78d7d54377fd4d09d2c11b79763cba53a7ff4b27a0601","48d0d0bebe2ccfd875953713d746fe4adae81b1e3a91ffafae29ead23fd5c39b",{"version":"17ed1b2c9dd69f94e1a977d96890c383f112ce1993df4c03eabd49418ea4033a","signature":"1d81abf2d4af00b47cc1c90a593df8bc20973a6f10f876ba2edf4472c92916e7"},{"version":"e50757614c24c77f3b0d9a6d1f5dc43d7bc94fcab901aac19ebfb70a090687b6","signature":"d5a0eccefdb38d9b0ae85975882356b139b5ff945800644aca4d4625ea6c02a5"},{"version":"cc8cbe5bd9904c3dacef70927c1ea76e45848a948400e88ad9b5eaf638408583","signature":"5cb1fc4c5698dc71e64f17b2fcaee2bee90307dcf0a8c2a44a5cbd7d0fac5413"},{"version":"7565338290bf16c1c171d09847bfe37c52ef7443a8e7ec04fe75f8c79f88b4a1","signature":"c590ac32820b7afb6dce1b9e8b8d37408ab1967f756e1ef7a989f930c184c3d9"},{"version":"76596c58da9b3ec9669154b9aab3c015dd1f2c3a9fb42422c21293bac8a693c8","signature":"93fed7f494e689ff198a654fe4cace52bc84427a05b826cdcb5aca6b03d88e07"},{"version":"fed82d3ea110e523349def3b954fcae7df438ec5895179405e6edb763273c6de","signature":"1c3e333dafced9c79c077ce18d0aa60c7b6aa61e25a1ec031eb2c2bbb6d0fa4c"},{"version":"c383d81ef5b6823445274ba41a543356033c6e2f9e038b1957b7a22ff7dacafa","signature":"a6d2ce012a3fe324ef167e7b8f339c2579a0fec5f137eb8c7027baf6987558c9"},{"version":"97de9e20711004c6f771e29b37b7e66dc2810c7ed21dff371ff27d2e1688f197","signature":"c318bd5c2b2ab237dac0e9173d410b4b488ce28ad2be3dad2ee8d3e99d1ec7ec"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"3ac40516c33b87f751f7507346933081a26cdb8a3e11a6b3aa07d23f803c85db","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"829bc57ee8f287b490ab5bbc5a962fca57e432c1e38ec680ecd3ecaf12800613","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"3a3ff14da53d5013f3e6d8c4ad55225e3649c08786c4421ce639c00d8d589b7d","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"d243db6b25788f439e7e2f03c05688e92f46764351673bb0e7b2f3631232e186","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"9ac977503f15bf13ca7c82ad9a32a782f42d43e474824e8b3bffe228fd5f2639","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"7cb4f431a4591b0e23002bed805dc871a874dfed6b9a3994dce68a6df73e6739","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"2e6fca0024dd8a076a886d9ec031a936ea59ad878a25b944820495d92f8381dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"177459cba484e2f1e08872a3d2fdbca3162d9d43ca5ec9dc0c946835b55f74be","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"0e312260895afc9de021ce9de3c8a857392f0ccc7f19d3a030e4d6136a4ac91e","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"98fc7231d6c846a8ed19bdef026ddffe5e2182cc818be74899287421ad370a87","impliedFormat":1},{"version":"3a40b5d34e014017539acb92f04cf2bc0aa71e49efb33c66039df93be97842a1","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"79a85c64bf083c5f4dd7074e804d1000c0c47301b84d48417a224decd681be30","impliedFormat":1},{"version":"9f1e3a76d5f509b5579e567de522b402cb79e201c4f47dcd014451c0580b290d","impliedFormat":1},{"version":"2ddab5b6932f9a6327f71baeb82a1d6b0824e0d23a4c7a5de5d355857113c22f","impliedFormat":1},{"version":"70f3f8b2dcaf7388f26731a59c79437813e3620b594903525a303cb2a7901016","impliedFormat":1},{"version":"62e8f884c3bc6dff6189b6e662ebe8b238a645938f2df7a97b8a82fca56773a4","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"57a0d1b3d59063d4af2d3f8aac27cfe3c20a0f5d1faf0f8598ccf0b779637939","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"93ecf87143cac7b9d05cffc1d6bdc075b7e4fdd48ff05f1fad85043f6ae678d3","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"6f200afcb82b3e9a54bed6db23f2edf2508cd266801257312c0f124b47f2bdb9","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"39338f84e8c4d0e3de7b3c4a7024fb3925f42100eed5cbe73be58902799dff4d","impliedFormat":1},{"version":"fbf83eb33bf5e329527add92acc65da59323876c702ddccf5f4bf1e848c92369","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"515318bc6e656f75e9e34db625316bfafbafd800dfb1642574af93735a24ad38","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"03b7804d69cecd66850abada858ed6d4a59001f8c228a9fe212306ee860a4ff6","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"987fd1f85dc36f4b2c927aa3db814ac6b452e970f4f55d24ed4ecbb7df09be00","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"b4769767f13a1692a66186e01c3aa186ff808d5ff72ed36eda8c37738fb2ac92","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"683edfc4f2b411ebe04729cb6dc09ddd26fbac2c57771a6d7c55964af776e176","impliedFormat":1},{"version":"1ec3f3a5f04cc42df33274fbe5c0937d9a9e06f249a7a26288d7d54f0763ffd4","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"e47f532d6e1617833f13a5b0710c0089d402c89c2f2b54f324e5a20e418d287a","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"82c3cc48c692438e41b94d936b8acd75ca97b18c50fa1af8a0715eb9d07d18cd","impliedFormat":1},{"version":"045a210189ec63c5488410b33f9fca53d77d051599d0d6506d8048551399c5f3","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"632c45ccb4cdc2c3a80c7a36a63dd7763016e59cac5e07bfb3e37e3548957028","impliedFormat":1},{"version":"c9a2daf6cd1eb854cd5b9e424247c5e306692055738c2effd35f7871d942b76e","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"e50a7130339a951e6da9e968ed5521b0997a5b0479e148914087213839b5474c","impliedFormat":1},{"version":"6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","impliedFormat":1},{"version":"1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","impliedFormat":1},{"version":"6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","impliedFormat":1},{"version":"4192ff616e838c06d10db071fbd3628f798bf7f279b84759cbc6a9c4f4c94dfb","impliedFormat":1},{"version":"b61028c5e29a0691e91a03fa2c4501ea7ed27f8fa536286dc2887a39a38b6c44","impliedFormat":1},{"version":"a4bf154e0f9d56112713c3a7d2d60c85d667cae17e69f7869a32578881b652a8","impliedFormat":1},{"version":"d5f65e3a5277cbd0b2c89da26703c5879cc428da7ca816d1d1fcdfd7c0a2500e","impliedFormat":1},{"version":"c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","impliedFormat":1},{"version":"feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","impliedFormat":1},{"version":"51d4fca2239d818a6254ba46be06e4def3be685ec034e9255cba403d3b27a07c","impliedFormat":1},{"version":"b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","impliedFormat":1},{"version":"859cf43771b68e589bb12c6e5cde3edcde4b530c7d324f455af2b9e61d4f4768","impliedFormat":1},{"version":"9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","impliedFormat":1},{"version":"ba2e5b6da441b8cf9baddc30520c59dc3ab47ad3674f6cb51f64e7e1f662df12","impliedFormat":1},{"version":"fefd77e646c5e5e59cd1be3e3a0a9bf7e4f4e408483cc6139d742130f205f97a","signature":"6569281b678977214d8f4a6e343449fd6093f8b068d8aec99ac0ec4be2b27080"},{"version":"28535ae92479a1bead22fc9d16f2c9cb7eee6b63610e6b7d59a53ace4e96eaa3","signature":"aaada990646de4a4b933f7779577f712d8bbb90e51a07fa6c775aa939b760cba"},{"version":"42ccc8d3d0168b59fccbf70c0b610c5aaba17b3e8b48d1eca5df16a60244b653","signature":"e0cb9987a908a42e7fdbc379c59ec328639618a13ea88be65d5b7698360defaf"},{"version":"5d01f288556ba56b803dfbd9b207502aaaa831afddd9e71b2b5ce250dc395152","impliedFormat":99},{"version":"7b9d4f3cc667e8896241f6c95d2824ced607ce7f2858cedf04058ddd23287602","impliedFormat":99},{"version":"371e624178bb67607b2c63e1f8ec3e5d9585455b39bac8f0816eba540072383f","impliedFormat":99},{"version":"c468447508a5ca66c0a2523ed935cf5cb1d768d890c991e20397df618db741d1","impliedFormat":99},{"version":"b8c741cb7cd15e89b24af6c25b6d95a581b2d79f7c0d959552220743f7269c7f","impliedFormat":99},{"version":"1b65eaf896a59cf1904bae76e68bc64941671555a3b1ee4190bcd6d3b16d5b61","impliedFormat":99},{"version":"2cea0605228c4357d9f57b6d13fd607752579a0a70995ccf70179110b098435b","impliedFormat":99},{"version":"edc4a14bf998e6512257766b4f291c940b5e88fe8bea8aec0c499e2e41da1d34","impliedFormat":99},{"version":"74853f56c2d22c7794408839dc106c4c412818fbd2e855b1d7dc4a70447f8387","impliedFormat":99},{"version":"61d04e1fb8987919928a5c4982fe4b32ec4147bd39491b4da9720bb518fd77ce","impliedFormat":99},{"version":"c1d730d8774ef9d198a2f8ecedd6806b1efd9e00a502ba7e28969f5a2c550ae1","impliedFormat":99},{"version":"9155fc738cfdd9a8dbeb7a9657998407101fc278c1649d8bb24b24b4fc7e5ad4","impliedFormat":99},{"version":"aa9a3b2c5d46f501a49ebde65cbdd59a7c05122f4f15785467bc30b6d8956751","impliedFormat":99},{"version":"b9eb3a236acf7eac683fc3d9ab8e627d5b9c96f900d25fb9948db513b6d372d4","signature":"ca82ed5bd0e6a6a2ee805fb8ff9f76022342ab3a4830687792b225105117f1d2"},{"version":"914b59b2f85658732c9b8738d9192da4add017c84e08ed9ca2df0545ed092eea","signature":"914b55a462408dd85c771a10b6981a06a582753fb8ede0b9d3ee8255f8c134e7"},{"version":"ec8ca603dd6b8e963e473b6dc5a29e974f8bf476c5a02c4ba8b818273fc274c7","signature":"16f83be6917e40d274663129464b0ff536a82badf5d6dd6b63621a3fcbef3a52"},{"version":"0a8029dc27a383d6078b5cbc70263877566164ec731a8aef712c3d31ab9e10ae","signature":"fd16e281a88d7f188c066f0a4b765cc3daaa6b94aaf61015c668021dc618a8c9"},{"version":"2f125f2963183677d731b2c16d13a59b441b1accf25b15164316b95fce86db81","signature":"7d81fa2c747ede1d7353d14e46a294f8067e3185ab52990748133eb1ecbb8e95"},{"version":"f4e420058e14ab6f3b4e7952a4db453995249baa71bfe90ee39a0b747f7c8497","signature":"33b4d9939d258fe23886bdb50057afecc3e0644b27e9117ab794ad4af7f419cd"},{"version":"396bdd79dd0ddace0329e0f155c61f3f4f6571350dc2db66fd23076cc0df17f2","signature":"d3421d1c910ed6b9b3b40e81be3f1099176bb7e4d7577c59fc6328cc0af67f6e"},{"version":"7a348d795b245410f8fc22456c9679d798dee0d67f94b4b5e24f839bc7747868","signature":"747cf7fbc97027491d1419c2d3c1e599f6ca806b490147fb09c412a574057495"},{"version":"5a0809ccc03a8835caddfcccec07afecda734877a478c087141458f0df9edfc9","signature":"954496a4abdbf18ad54d15ef7482301b2dccec5144a6b44aec42983f63b22ec4"},{"version":"d8092d647207303f352e2e2deb9a2923d83e1711e19ff150e0788aea5168c7d5","signature":"0640afefa828d574be4b51943041822e739b18a7eeb65ee316908a576dc96806"},{"version":"c7682a515c2020870948f1dfa42fe5852614b4b188870056a736c2f34588bad9","signature":"a6d795d9d6803cbde86e2a30c4ddde6a90ba347a93211e88aa342e914153f832"},{"version":"013a1649e98404562b1b378d8800a20ebffd0035a10ffee4201954742bba3143","signature":"e62ba68263ee74daa6727e0741273f73bbd8c51d055452404cfcbee6e1a727c9"},{"version":"d0f1816e2aeff2fb826592d224769969113033bb99861d192ca7a2d3883227ec","signature":"b7a2a3cc0a5c07d1fe6ce60943a491b44872e3f1e99a96dc28c6384e4b040e97"},{"version":"f94c59f47201178c34d4401559fef7c9c0ebeb75bf26426f1d09a962b7a9b339","signature":"7df91913922a7e6e3fe90aeff301971de5c0c7809d7e373e301d9e59d48811c6"},{"version":"55c44a8b71a85737b62cbed1ab8812bfa64be4a9fe0ce9f396c238d431271740","signature":"18363e751472a5f649e32d5f9603251d045a3b9b266334625e2ec59c1ccf317f"},{"version":"68e1c894bee4c9c1924aa53eb809df81b686dde38124e0d27d172a0630bfc293","signature":"d8746f554d940f6522ec6ede961ef38d31a0947100d8f834db7a64f93cef6dd2"},{"version":"ca2e8a22cada8ffa630d8e58af373a74fcf4d847fab5d0a3ce23e3301984a3bd","signature":"623a11bcaa7716d2f7bf0272c80a5a2fdafea82333c1ed23664ea8132f890d1c"},{"version":"725aa860a1fde45461aaa3141b7dd0efd9546b6db6d84652459064072e1870a4","signature":"59be9348946adc746a9ee5b7c03c1f293ba60d7a6646f45c76fa962207de2f01"},{"version":"6a14b997ca1477a9317158cdcc98df530de89858c96d7a3b51e6c1caf13630b1","signature":"1269505d024fe59653f1789b7897073cdb4d29dc99093a1921849c99a30b4080"},{"version":"630f0200962a9442c01f4d89376ff577b1a3782f9f8aba0a961053f61185e228","signature":"b46fbaff85ea35cfe2ef8dca455fc85394e2e8be592feb827152cfedc57e0262"},{"version":"4df1b82a6fab71ffad04aa6db995f980cd982f4c8041664550e4b5464dfa2b2e","signature":"c3ef56f121f2679b3f337ed0ca1dc33c25ebe1bee45a2cfa510c879b8b12a14c"},{"version":"210c03de7f9383a532c888d7da80563c8f80ace5a75f54363628dc8f86b7483d","signature":"d92db3dfcef7481ade8af11dae97f83c3d117aeb3221ac4430464406621d9df4"},{"version":"fa103472d20ae90bc62a38e7e180f63fab8d2b26a84f78ff0009002b7ba7b13d","signature":"fe513e9f038509da759da21aa2f87e2869b2c7f47d4948be79ed8dbdb499cb3a"},{"version":"54317971c93886ae1f92a5d71a6ab5afd578e9b427e71bc402d1ae5ae8ac9811","signature":"c90b7865ea1c875c18af5fb7a8b44974bcf2df746224a00f5931ff9274f6e7f3"},{"version":"4e30ada63fd58fb32bcd499677413534cfd0d8d16663c4ad94ff146e61d0805d","signature":"c65cac17de5d5e7eee19bf8e2a3b8d052418cda60c7a7eae338c89d7473fef4f"},{"version":"9ac428b0b35ab4080066ef9ef7db3843866f4442eacd4c3cdce84b01339fe303","signature":"4d7010f00467d1993bc6d5292f69462bdbb2abfc0d5cf71fb5f3e0d9605c2215"},{"version":"a7f8f2fb3844e56a8903b50262aaa3203385a2427827ac4db49ce3d0ad66b0de","signature":"d86a3a626c15cb0730cc2c7dfecd3f9f6483d04c395ee1561e49b05856421304"},{"version":"e9670f79c5b3a4e9530a77f147db2c9a97851835f9116a58112af5ff5a1e0b7f","signature":"f8b66106cc7dc5ed954a28d056fc243acda8bbdc5e1999141dd35f34e97fa245"},{"version":"e2a93aef6b1814a41816f65389743134ed751fbc1121d619f9a5b63d06da5e16","signature":"a81afccd5831e390cd504701da7288714e795151e1df630b5281ccf3774c969b"},{"version":"45388419360a08931649691c09e74d24febaa94e9d389b87826d4c2c21086554","signature":"9a8ba8f4f4be98077c4b7734ee7b805f374fcd71850d77ae6e9cd15b91b6f4bc"},{"version":"9f511624ad1e73a35fad0c9890370acaae633c67c3e360192208ad6e464e683a","signature":"d239ddd36ff2760f669f87809db8aca94a749344f3e171a5d1ef122468a9ccc3"},{"version":"5159671b722465235f52db303d34bf6150e45bd69be8473e0a98cfc65d6355f5","signature":"40620ec486318d369901a2266445d8180a85d083c3a2f813fd4dc82767bd4425"},{"version":"d8975b20a67928f91f6bdc97c0256e137df392b57abbc7e0b44632bd5e63d224","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[116,123],[265,267],[281,313]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"rootDir":"../../src/devserver","skipLibCheck":true,"sourceMap":false,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"suppressImplicitAnyIndexErrors":false,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[111,1],[112,2],[113,1],[115,3],[114,1],[110,1],[106,4],[99,5],[97,6],[103,7],[102,1],[105,8],[95,8],[98,9],[96,10],[104,11],[101,12],[107,13],[270,14],[271,14],[269,15],[94,1],[274,16],[275,17],[277,18],[276,17],[273,19],[278,20],[279,21],[280,22],[272,15],[268,1],[187,23],[188,23],[189,24],[125,25],[190,26],[191,27],[192,28],[193,29],[194,30],[195,31],[196,32],[197,33],[198,34],[199,34],[200,35],[201,36],[202,1],[203,37],[204,38],[126,1],[124,1],[205,39],[206,40],[207,41],[250,42],[208,8],[209,43],[210,8],[211,44],[212,45],[214,46],[215,47],[216,47],[217,47],[218,48],[219,49],[220,50],[221,51],[222,52],[223,53],[224,53],[225,54],[226,1],[227,1],[228,55],[229,56],[230,57],[231,58],[232,59],[233,60],[234,61],[235,62],[236,63],[237,64],[238,65],[239,66],[240,67],[241,68],[242,69],[243,70],[244,71],[245,72],[246,73],[127,8],[128,1],[129,74],[130,75],[131,1],[132,76],[133,1],[178,77],[179,78],[180,79],[181,79],[182,80],[183,1],[184,26],[185,81],[186,78],[247,82],[248,83],[249,84],[264,85],[251,86],[258,87],[254,88],[252,89],[255,90],[259,91],[260,87],[257,92],[256,93],[261,94],[262,95],[263,96],[253,97],[213,1],[109,98],[108,1],[100,1],[92,1],[93,1],[16,1],[14,1],[15,1],[21,1],[20,1],[2,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[28,1],[29,1],[3,1],[30,1],[31,1],[4,1],[32,1],[36,1],[33,1],[34,1],[35,1],[37,1],[38,1],[39,1],[5,1],[40,1],[41,1],[42,1],[43,1],[6,1],[47,1],[44,1],[45,1],[46,1],[48,1],[7,1],[49,1],[54,1],[55,1],[50,1],[51,1],[52,1],[53,1],[8,1],[59,1],[56,1],[57,1],[58,1],[60,1],[9,1],[61,1],[62,1],[63,1],[65,1],[64,1],[66,1],[67,1],[10,1],[68,1],[69,1],[70,1],[11,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[12,1],[77,1],[78,1],[79,1],[80,1],[81,1],[1,1],[82,1],[83,1],[13,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[19,1],[17,1],[18,1],[152,99],[166,100],[149,101],[167,9],[176,102],[140,103],[141,104],[139,105],[175,106],[170,107],[174,108],[143,109],[153,110],[163,111],[142,112],[173,113],[137,114],[138,107],[144,110],[145,1],[151,115],[148,110],[135,116],[177,117],[168,118],[156,119],[155,110],[157,120],[160,121],[154,122],[158,123],[171,106],[146,124],[147,125],[161,126],[136,9],[165,127],[164,110],[150,125],[159,128],[162,129],[169,1],[134,1],[172,130],[119,131],[116,47],[117,132],[118,1],[291,133],[292,134],[289,135],[293,136],[294,137],[285,138],[286,139],[287,140],[288,141],[298,142],[284,1],[120,1],[122,143],[267,144],[265,145],[123,1],[121,1],[266,1],[297,1],[296,1],[295,146],[301,147],[312,148],[310,1],[313,149],[311,150],[281,151],[282,152],[299,153],[309,154],[300,1],[302,133],[303,135],[304,155],[305,156],[307,157],[308,158],[306,159],[283,1],[290,133]],"version":"6.0.3"}
|
|
1
|
+
{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.webworker.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@dacely/uwebsockets.js/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/LiveFile.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/SSEventStream.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Response.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/MultipartField.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Request.d.ts","../../node_modules/typed-emitter/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/ws/Websocket.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareNext.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareHandler.d.ts","../../node_modules/@dacely/hyper-express/types/components/router/Router.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/HostManager.d.ts","../../node_modules/@dacely/hyper-express/types/components/Server.d.ts","../../node_modules/@dacely/hyper-express/types/index.d.ts","../../node_modules/picocolors/types.d.ts","../../node_modules/picocolors/picocolors.d.ts","../shared/index.d.ts","../io/FastMap.d.ts","../io/FastSet.d.ts","../io/codec.d.ts","../io/types.d.ts","../io/index.d.ts","../../src/devserver/config/dotenv.ts","../../src/devserver/config/env.ts","../../src/devserver/config/ratelimit.ts","../../src/devserver/analytics/index.ts","../../src/devserver/email/caps.ts","../../src/devserver/email/validate.ts","../../src/devserver/email/config.ts","../../src/devserver/email/status.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/@types/node/web-globals/console.d.ts","../../node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/utility.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client-stats.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/undici-types/h2c-client.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-call-history.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/@types/node/web-globals/url.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/ffi.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/inspector/promises.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/path/posix.d.ts","../../node_modules/@types/node/path/win32.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/quic.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/iter.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/test/reporters.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/zlib/iter.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../node_modules/@types/nodemailer/index.d.ts","../../src/devserver/email/providers.ts","../../src/devserver/email/wire.ts","../../src/devserver/email/index.ts","../../node_modules/@noble/hashes/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-dsa.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-kem.d.ts","../../node_modules/@noble/curves/utils.d.ts","../../node_modules/@noble/curves/abstract/modular.d.ts","../../node_modules/@noble/curves/abstract/curve.d.ts","../../node_modules/@noble/curves/abstract/edwards.d.ts","../../node_modules/@noble/curves/abstract/hash-to-curve.d.ts","../../node_modules/@noble/curves/abstract/frost.d.ts","../../node_modules/@noble/curves/abstract/montgomery.d.ts","../../node_modules/@noble/curves/abstract/oprf.d.ts","../../node_modules/@noble/curves/ed25519.d.ts","../../src/devserver/runtime/crypto.ts","../../src/devserver/runtime/host.ts","../../src/devserver/wasm/sections.ts","../../src/devserver/db/types.ts","../../src/devserver/db/catalog.ts","../../src/devserver/db/database.ts","../../src/devserver/db/derives.ts","../../src/devserver/db/index.ts","../../src/devserver/daemon/host.ts","../../src/devserver/wasm/surface.ts","../../src/devserver/daemon/catalog.ts","../../src/devserver/daemon/cron.ts","../../src/devserver/daemon/index.ts","../../src/devserver/daemon/runtime.ts","../../src/devserver/http/proxy.ts","../../src/devserver/http/envelope.ts","../../src/devserver/http/cache.ts","../../src/devserver/db/routeKinds.ts","../../src/devserver/runtime/module.ts","../../src/devserver/ssr.ts","../../src/devserver/http/runtime.ts","../../src/devserver/stream/catalog.ts","../../src/devserver/stream/host.ts","../../src/devserver/stream/index.ts","../../src/devserver/stream/manager.ts","../../src/devserver/stream/ws.ts","../../src/devserver/stream/router.ts","../../src/devserver/stream/wire.ts","../../src/devserver/server.ts","../../src/devserver/production-ipc.ts","../../src/devserver/production.ts","../../src/devserver/index.ts","../../src/devserver/production-worker.ts"],"fileIdsList":[[125,190,198,203,206,208,209,210,223],[111,125,190,198,203,206,208,209,210,223],[111,112,113,114,125,190,198,203,206,208,209,210,223],[94,97,99,104,105,125,190,198,203,206,208,209,210,223,228],[94,98,106,125,190,198,203,206,208,209,210,223,228],[94,95,96,106,125,190,198,203,206,208,209,210,223,228],[97,99,102,125,190,198,203,206,208,209,210,223],[125,190,198,201,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,228],[97,125,190,198,203,206,208,209,210,223],[94,97,99,101,103,125,190,198,203,206,208,209,210,223,228],[94,97,100,125,190,198,201,203,206,208,209,210,223,228],[94,95,96,97,98,99,101,102,103,104,106,125,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,269],[125,190,198,203,206,208,209,210,223,268],[125,190,198,203,206,208,209,210,223,272,273],[125,190,198,203,206,208,209,210,223,272,273,274],[125,190,198,203,206,208,209,210,223,272,273,274,276],[125,190,198,203,206,208,209,210,223,272],[125,190,198,203,206,208,209,210,223,272,274],[125,190,198,203,206,208,209,210,223,272,274,276],[125,190,198,203,206,208,209,210,223,272,273,274,275,276,277,278,279],[125,187,188,190,198,203,206,208,209,210,223],[125,189,190,198,203,206,208,209,210,223],[190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,232],[125,190,191,196,198,201,203,206,208,209,210,212,223,228,241],[125,190,191,192,198,201,203,206,208,209,210,223],[125,190,193,198,203,206,208,209,210,223,242],[125,190,194,195,198,203,206,208,209,210,214,223],[125,190,195,198,203,206,208,209,210,223,228,238],[125,190,196,198,201,203,206,208,209,210,212,223],[125,189,190,197,198,203,206,208,209,210,223],[125,190,198,199,203,206,208,209,210,223],[125,190,198,200,201,203,206,208,209,210,223],[125,189,190,198,201,203,206,208,209,210,223],[125,190,198,201,203,204,206,208,209,210,223,228,241],[125,190,198,201,203,204,206,208,209,210,223,228,230,232],[125,177,190,198,201,203,205,206,208,209,210,212,223,228,241],[125,190,198,201,203,205,206,208,209,210,212,223,228,238,241],[125,190,198,203,205,206,207,208,209,210,223,228,238,241],[124,125,126,127,128,129,130,131,132,133,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[125,190,198,203,206,208,210,223],[125,190,198,203,206,208,209,210,211,223,241],[125,190,198,201,203,206,208,209,210,212,223,228],[125,190,198,203,206,208,209,210,214,223],[125,190,198,203,206,208,209,210,215,223],[125,190,198,201,203,206,208,209,210,218,223],[125,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248],[125,190,198,203,206,208,209,210,220,223],[125,190,198,203,206,208,209,210,221,223],[125,190,195,198,203,206,208,209,210,212,223,232],[125,190,198,201,203,206,208,209,210,223,224],[125,190,198,203,206,208,209,210,223,225,242,245],[125,190,198,201,203,206,208,209,210,223,228,230,231,232],[125,190,198,203,206,208,209,210,223,229,232],[125,190,198,201,203,206,208,209,210,223,228,230],[125,190,198,201,203,206,208,209,210,223,228,231,232],[125,190,198,203,206,208,209,210,223,232,242],[125,190,198,203,206,208,209,210,223,233],[125,187,190,198,203,206,208,209,210,223,228,235,241],[125,190,198,203,206,208,209,210,223,228,234],[125,190,198,201,203,206,208,209,210,223,236,237],[125,190,198,203,206,208,209,210,223,236,237],[125,190,195,198,203,206,208,209,210,212,223,228,238],[125,190,198,203,206,208,209,210,223,239],[125,190,198,203,206,208,209,210,212,223,240],[125,190,198,203,205,206,208,209,210,221,223,241],[125,190,198,203,206,208,209,210,223,242,243],[125,190,195,198,203,206,208,209,210,223,243],[125,190,198,203,206,208,209,210,223,228,244],[125,190,198,203,206,208,209,210,211,223,245],[125,190,198,203,206,208,209,210,223,246],[125,190,193,198,203,206,208,209,210,223],[125,190,195,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,242],[125,177,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,223,247],[125,190,198,203,206,208,209,210,218,223],[125,190,198,203,206,208,209,210,223,237],[125,177,190,198,201,203,204,206,208,209,210,218,223,228,232,241,244,245,247],[125,190,198,203,206,208,209,210,223,228,248],[125,190,198,203,206,208,209,210,223,230,249],[125,190,198,203,206,208,209,210,223,250,252,254,258,259,260,261,262,263],[125,190,198,203,206,208,209,210,223,228,250],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,201,203,206,208,209,210,212,223,228,241,250,251,252,253,255,256,257,264],[125,190,198,203,206,208,209,210,223,228,250,254,255],[125,190,198,203,206,208,209,210,223,228,250,254],[125,190,198,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,203,206,208,209,210,223,228,250,256],[125,190,198,201,203,206,208,209,210,212,223,228,238,250,253,255,257],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,253,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,254,255,257,264],[125,190,198,203,205,206,208,209,210,223,228,250,257],[108,125,190,198,203,206,208,209,210,223],[125,140,143,146,147,190,198,203,206,208,209,210,223,241],[125,143,190,198,203,206,208,209,210,223,228,241],[125,143,147,190,198,203,206,208,209,210,223,241],[125,137,190,198,203,206,208,209,210,223],[125,141,190,198,203,206,208,209,210,223],[125,139,140,143,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,212,223,238],[125,190,198,203,206,208,209,210,223,250],[125,137,190,198,203,206,208,209,210,223,250],[125,139,143,190,198,203,206,208,209,210,212,223,241],[125,134,135,136,138,142,190,198,201,203,206,208,209,210,223,228,241],[125,143,190,198,203,206,208,209,210,223],[125,143,152,161,190,198,203,206,208,209,210,223],[125,135,141,190,198,203,206,208,209,210,223],[125,143,171,172,190,198,203,206,208,209,210,223],[125,135,138,143,190,198,203,206,208,209,210,223,232,241,250],[125,139,143,190,198,203,206,208,209,210,223,241],[125,134,190,198,203,206,208,209,210,223],[125,137,138,139,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,190,198,203,206,208,209,210,223],[125,143,164,167,190,198,203,206,208,209,210,223],[125,143,152,154,155,190,198,203,206,208,209,210,223],[125,141,143,154,156,190,198,203,206,208,209,210,223],[125,142,190,198,203,206,208,209,210,223],[125,135,137,143,190,198,203,206,208,209,210,223],[125,143,147,154,156,190,198,203,206,208,209,210,223],[125,147,190,198,203,206,208,209,210,223],[125,141,143,146,190,198,203,206,208,209,210,223,241],[125,135,139,143,152,190,198,203,206,208,209,210,223],[125,143,164,190,198,203,206,208,209,210,223],[125,156,190,198,203,206,208,209,210,223],[125,135,139,143,147,190,198,203,206,208,209,210,223],[125,137,143,171,190,198,203,206,208,209,210,223,232,247,250],[125,190,198,203,206,208,209,210,223,282,288],[116,125,190,198,203,206,208,209,210,223],[115,125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,291],[125,190,198,203,206,208,209,210,223,281,282,288],[109,125,190,198,203,206,208,209,210,223,282,289,290,291,292],[109,125,190,198,203,206,208,209,210,223,289,293],[115,125,190,198,203,206,208,209,210,223,283,284],[115,125,190,195,198,203,206,208,209,210,215,223,282,284,285],[125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,284,285,286,287],[125,190,198,203,206,208,209,210,223,283,284],[110,121,125,190,198,203,206,208,209,210,223],[110,116,120,121,122,123,125,190,198,203,206,208,209,210,223,265,266],[122,123,125,190,198,203,206,208,209,210,223,264],[107,125,190,198,203,206,208,209,210,223],[107,109,125,190,198,203,206,208,209,210,215,223,296,297,299,300],[125,190,198,203,206,208,209,210,223,282,283,289,290,291,292,293,295,296,299,309,311],[125,190,198,203,206,208,209,210,223,310,311],[107,109,110,125,190,191,198,203,206,208,209,210,214,215,223,241,267,288,289,294,299,300,301,310],[125,190,195,198,203,206,208,209,210,223,270,271,280,282],[117,118,119,125,190,198,203,206,208,209,210,223,266,267,281,288],[125,190,198,203,206,208,209,210,223,282,288,296,298],[107,109,110,125,190,198,203,206,208,209,210,215,223,267,288,289,294,295,299,300,301,307,308],[125,190,198,203,206,208,209,210,223,290,303],[125,190,198,203,206,208,209,210,223,304],[125,190,198,203,206,208,209,210,223,302,305,306],[107,125,190,198,203,206,208,209,210,223,295,307],[125,190,198,203,206,208,209,210,223,305]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"d52ed68e7eb5881768a55713c9b5c7c443e6b46de15c04e348928b8efd20b110","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"7719a661a691dcf1a84eed5581eb223494502f579aa1e2425178b6f20ec8fcd0","impliedFormat":1},{"version":"4c51e36c9004c2d14a0bba49beb91630da51b15a0c41f91b2b076038126a5806","impliedFormat":1},{"version":"aca6ac8bf8de795cf3b67d450592d0f36356a3dcd0fb6425ac52c910aeb98ce4","impliedFormat":1},{"version":"f6feef58f3338b06119e40473c60553cbd5c75d74545d0aa3522374b6405720a","impliedFormat":1},{"version":"af6e515790bebd2d99ab46c08a3570f9fd74cd8542a4ecd2ca54fc7356680d24","impliedFormat":1},{"version":"5c5d0c9af035f7c920ef604080a6eef0a76cb4067ab4747ad2dc07026bfbfb48","impliedFormat":1},{"version":"6c27d4b5ba01295ef334456d9af4366aca789f228eee70fcb874b903a59b0e5b","impliedFormat":1},{"version":"93aa15a50eb71c40884e6f9b290eba6fb99d602706d21f8facf95c3bb8669abb","impliedFormat":1},{"version":"78ae308b449f2a861b1b1fbdd4aa0ba371c5e9e66aed2c2acf3b851785e652a4","impliedFormat":1},{"version":"d9e5cffcb3a6159f0a1e6fc1ad13abfe496a86cb82e0f59a82c926f8dad9d869","impliedFormat":1},{"version":"4485b7cd73d47ac60ff0a67f9c94f8b600c4d9665a27b268dd623baccc95c4eb","impliedFormat":1},{"version":"3800c5ce959fa102827db5cb875a461a05d43688ef4d85b76855c968a1573830","impliedFormat":1},{"version":"98c771706beebbe0f3720bb0a582b82e7c98cf62da175b8074cabecef2692546","impliedFormat":1},{"version":"9b1b01c85fe22541212ba4fa627d7f2059fa8af782ad6a899c43e9f4ceae4d0a","impliedFormat":1},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},"7427c56ad284f0a61481dac8b11e66b3282aac3674ed9c7bcd91760566157867","6a4c287c863003342a42d8bf876c7df4c2e82e95f556af5ade71f05255845200","272e7bc3a3734cc9e7419625f04cff7095131e315e51a83fa992a5134763df49","b9f2341c8b486561706db362b6f89ee6b149ef08fb4fa6aaea1041bce04fe1c5","3952955b5e83c1164fc78d7d54377fd4d09d2c11b79763cba53a7ff4b27a0601","48d0d0bebe2ccfd875953713d746fe4adae81b1e3a91ffafae29ead23fd5c39b",{"version":"17ed1b2c9dd69f94e1a977d96890c383f112ce1993df4c03eabd49418ea4033a","signature":"1d81abf2d4af00b47cc1c90a593df8bc20973a6f10f876ba2edf4472c92916e7"},{"version":"e50757614c24c77f3b0d9a6d1f5dc43d7bc94fcab901aac19ebfb70a090687b6","signature":"d5a0eccefdb38d9b0ae85975882356b139b5ff945800644aca4d4625ea6c02a5"},{"version":"cc8cbe5bd9904c3dacef70927c1ea76e45848a948400e88ad9b5eaf638408583","signature":"5cb1fc4c5698dc71e64f17b2fcaee2bee90307dcf0a8c2a44a5cbd7d0fac5413"},{"version":"a743c1554152f00200d77542d0a37ab1b2b36fd9281aaa260770d09ca4482b45","signature":"c590ac32820b7afb6dce1b9e8b8d37408ab1967f756e1ef7a989f930c184c3d9"},{"version":"76596c58da9b3ec9669154b9aab3c015dd1f2c3a9fb42422c21293bac8a693c8","signature":"93fed7f494e689ff198a654fe4cace52bc84427a05b826cdcb5aca6b03d88e07"},{"version":"fed82d3ea110e523349def3b954fcae7df438ec5895179405e6edb763273c6de","signature":"1c3e333dafced9c79c077ce18d0aa60c7b6aa61e25a1ec031eb2c2bbb6d0fa4c"},{"version":"c383d81ef5b6823445274ba41a543356033c6e2f9e038b1957b7a22ff7dacafa","signature":"a6d2ce012a3fe324ef167e7b8f339c2579a0fec5f137eb8c7027baf6987558c9"},{"version":"97de9e20711004c6f771e29b37b7e66dc2810c7ed21dff371ff27d2e1688f197","signature":"c318bd5c2b2ab237dac0e9173d410b4b488ce28ad2be3dad2ee8d3e99d1ec7ec"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"3ac40516c33b87f751f7507346933081a26cdb8a3e11a6b3aa07d23f803c85db","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"829bc57ee8f287b490ab5bbc5a962fca57e432c1e38ec680ecd3ecaf12800613","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"3a3ff14da53d5013f3e6d8c4ad55225e3649c08786c4421ce639c00d8d589b7d","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"d243db6b25788f439e7e2f03c05688e92f46764351673bb0e7b2f3631232e186","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"9ac977503f15bf13ca7c82ad9a32a782f42d43e474824e8b3bffe228fd5f2639","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"7cb4f431a4591b0e23002bed805dc871a874dfed6b9a3994dce68a6df73e6739","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"2e6fca0024dd8a076a886d9ec031a936ea59ad878a25b944820495d92f8381dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"177459cba484e2f1e08872a3d2fdbca3162d9d43ca5ec9dc0c946835b55f74be","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"0e312260895afc9de021ce9de3c8a857392f0ccc7f19d3a030e4d6136a4ac91e","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"98fc7231d6c846a8ed19bdef026ddffe5e2182cc818be74899287421ad370a87","impliedFormat":1},{"version":"3a40b5d34e014017539acb92f04cf2bc0aa71e49efb33c66039df93be97842a1","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"79a85c64bf083c5f4dd7074e804d1000c0c47301b84d48417a224decd681be30","impliedFormat":1},{"version":"9f1e3a76d5f509b5579e567de522b402cb79e201c4f47dcd014451c0580b290d","impliedFormat":1},{"version":"2ddab5b6932f9a6327f71baeb82a1d6b0824e0d23a4c7a5de5d355857113c22f","impliedFormat":1},{"version":"70f3f8b2dcaf7388f26731a59c79437813e3620b594903525a303cb2a7901016","impliedFormat":1},{"version":"62e8f884c3bc6dff6189b6e662ebe8b238a645938f2df7a97b8a82fca56773a4","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"57a0d1b3d59063d4af2d3f8aac27cfe3c20a0f5d1faf0f8598ccf0b779637939","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"93ecf87143cac7b9d05cffc1d6bdc075b7e4fdd48ff05f1fad85043f6ae678d3","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"6f200afcb82b3e9a54bed6db23f2edf2508cd266801257312c0f124b47f2bdb9","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"39338f84e8c4d0e3de7b3c4a7024fb3925f42100eed5cbe73be58902799dff4d","impliedFormat":1},{"version":"fbf83eb33bf5e329527add92acc65da59323876c702ddccf5f4bf1e848c92369","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"515318bc6e656f75e9e34db625316bfafbafd800dfb1642574af93735a24ad38","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"03b7804d69cecd66850abada858ed6d4a59001f8c228a9fe212306ee860a4ff6","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"987fd1f85dc36f4b2c927aa3db814ac6b452e970f4f55d24ed4ecbb7df09be00","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"b4769767f13a1692a66186e01c3aa186ff808d5ff72ed36eda8c37738fb2ac92","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"683edfc4f2b411ebe04729cb6dc09ddd26fbac2c57771a6d7c55964af776e176","impliedFormat":1},{"version":"1ec3f3a5f04cc42df33274fbe5c0937d9a9e06f249a7a26288d7d54f0763ffd4","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"e47f532d6e1617833f13a5b0710c0089d402c89c2f2b54f324e5a20e418d287a","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"82c3cc48c692438e41b94d936b8acd75ca97b18c50fa1af8a0715eb9d07d18cd","impliedFormat":1},{"version":"045a210189ec63c5488410b33f9fca53d77d051599d0d6506d8048551399c5f3","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"632c45ccb4cdc2c3a80c7a36a63dd7763016e59cac5e07bfb3e37e3548957028","impliedFormat":1},{"version":"c9a2daf6cd1eb854cd5b9e424247c5e306692055738c2effd35f7871d942b76e","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"e50a7130339a951e6da9e968ed5521b0997a5b0479e148914087213839b5474c","impliedFormat":1},{"version":"6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","impliedFormat":1},{"version":"1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","impliedFormat":1},{"version":"6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","impliedFormat":1},{"version":"4192ff616e838c06d10db071fbd3628f798bf7f279b84759cbc6a9c4f4c94dfb","impliedFormat":1},{"version":"b61028c5e29a0691e91a03fa2c4501ea7ed27f8fa536286dc2887a39a38b6c44","impliedFormat":1},{"version":"a4bf154e0f9d56112713c3a7d2d60c85d667cae17e69f7869a32578881b652a8","impliedFormat":1},{"version":"d5f65e3a5277cbd0b2c89da26703c5879cc428da7ca816d1d1fcdfd7c0a2500e","impliedFormat":1},{"version":"c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","impliedFormat":1},{"version":"feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","impliedFormat":1},{"version":"51d4fca2239d818a6254ba46be06e4def3be685ec034e9255cba403d3b27a07c","impliedFormat":1},{"version":"b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","impliedFormat":1},{"version":"859cf43771b68e589bb12c6e5cde3edcde4b530c7d324f455af2b9e61d4f4768","impliedFormat":1},{"version":"9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","impliedFormat":1},{"version":"ba2e5b6da441b8cf9baddc30520c59dc3ab47ad3674f6cb51f64e7e1f662df12","impliedFormat":1},{"version":"fefd77e646c5e5e59cd1be3e3a0a9bf7e4f4e408483cc6139d742130f205f97a","signature":"6569281b678977214d8f4a6e343449fd6093f8b068d8aec99ac0ec4be2b27080"},{"version":"28535ae92479a1bead22fc9d16f2c9cb7eee6b63610e6b7d59a53ace4e96eaa3","signature":"aaada990646de4a4b933f7779577f712d8bbb90e51a07fa6c775aa939b760cba"},{"version":"42ccc8d3d0168b59fccbf70c0b610c5aaba17b3e8b48d1eca5df16a60244b653","signature":"e0cb9987a908a42e7fdbc379c59ec328639618a13ea88be65d5b7698360defaf"},{"version":"5d01f288556ba56b803dfbd9b207502aaaa831afddd9e71b2b5ce250dc395152","impliedFormat":99},{"version":"7b9d4f3cc667e8896241f6c95d2824ced607ce7f2858cedf04058ddd23287602","impliedFormat":99},{"version":"371e624178bb67607b2c63e1f8ec3e5d9585455b39bac8f0816eba540072383f","impliedFormat":99},{"version":"c468447508a5ca66c0a2523ed935cf5cb1d768d890c991e20397df618db741d1","impliedFormat":99},{"version":"b8c741cb7cd15e89b24af6c25b6d95a581b2d79f7c0d959552220743f7269c7f","impliedFormat":99},{"version":"1b65eaf896a59cf1904bae76e68bc64941671555a3b1ee4190bcd6d3b16d5b61","impliedFormat":99},{"version":"2cea0605228c4357d9f57b6d13fd607752579a0a70995ccf70179110b098435b","impliedFormat":99},{"version":"edc4a14bf998e6512257766b4f291c940b5e88fe8bea8aec0c499e2e41da1d34","impliedFormat":99},{"version":"74853f56c2d22c7794408839dc106c4c412818fbd2e855b1d7dc4a70447f8387","impliedFormat":99},{"version":"61d04e1fb8987919928a5c4982fe4b32ec4147bd39491b4da9720bb518fd77ce","impliedFormat":99},{"version":"c1d730d8774ef9d198a2f8ecedd6806b1efd9e00a502ba7e28969f5a2c550ae1","impliedFormat":99},{"version":"9155fc738cfdd9a8dbeb7a9657998407101fc278c1649d8bb24b24b4fc7e5ad4","impliedFormat":99},{"version":"aa9a3b2c5d46f501a49ebde65cbdd59a7c05122f4f15785467bc30b6d8956751","impliedFormat":99},{"version":"b9eb3a236acf7eac683fc3d9ab8e627d5b9c96f900d25fb9948db513b6d372d4","signature":"ca82ed5bd0e6a6a2ee805fb8ff9f76022342ab3a4830687792b225105117f1d2"},{"version":"914b59b2f85658732c9b8738d9192da4add017c84e08ed9ca2df0545ed092eea","signature":"914b55a462408dd85c771a10b6981a06a582753fb8ede0b9d3ee8255f8c134e7"},{"version":"ec8ca603dd6b8e963e473b6dc5a29e974f8bf476c5a02c4ba8b818273fc274c7","signature":"16f83be6917e40d274663129464b0ff536a82badf5d6dd6b63621a3fcbef3a52"},{"version":"0a8029dc27a383d6078b5cbc70263877566164ec731a8aef712c3d31ab9e10ae","signature":"fd16e281a88d7f188c066f0a4b765cc3daaa6b94aaf61015c668021dc618a8c9"},{"version":"2f125f2963183677d731b2c16d13a59b441b1accf25b15164316b95fce86db81","signature":"7d81fa2c747ede1d7353d14e46a294f8067e3185ab52990748133eb1ecbb8e95"},{"version":"f4e420058e14ab6f3b4e7952a4db453995249baa71bfe90ee39a0b747f7c8497","signature":"33b4d9939d258fe23886bdb50057afecc3e0644b27e9117ab794ad4af7f419cd"},{"version":"396bdd79dd0ddace0329e0f155c61f3f4f6571350dc2db66fd23076cc0df17f2","signature":"d3421d1c910ed6b9b3b40e81be3f1099176bb7e4d7577c59fc6328cc0af67f6e"},{"version":"7a348d795b245410f8fc22456c9679d798dee0d67f94b4b5e24f839bc7747868","signature":"747cf7fbc97027491d1419c2d3c1e599f6ca806b490147fb09c412a574057495"},{"version":"5a0809ccc03a8835caddfcccec07afecda734877a478c087141458f0df9edfc9","signature":"954496a4abdbf18ad54d15ef7482301b2dccec5144a6b44aec42983f63b22ec4"},{"version":"d8092d647207303f352e2e2deb9a2923d83e1711e19ff150e0788aea5168c7d5","signature":"0640afefa828d574be4b51943041822e739b18a7eeb65ee316908a576dc96806"},{"version":"c7682a515c2020870948f1dfa42fe5852614b4b188870056a736c2f34588bad9","signature":"a6d795d9d6803cbde86e2a30c4ddde6a90ba347a93211e88aa342e914153f832"},{"version":"013a1649e98404562b1b378d8800a20ebffd0035a10ffee4201954742bba3143","signature":"e62ba68263ee74daa6727e0741273f73bbd8c51d055452404cfcbee6e1a727c9"},{"version":"d0f1816e2aeff2fb826592d224769969113033bb99861d192ca7a2d3883227ec","signature":"b7a2a3cc0a5c07d1fe6ce60943a491b44872e3f1e99a96dc28c6384e4b040e97"},{"version":"f94c59f47201178c34d4401559fef7c9c0ebeb75bf26426f1d09a962b7a9b339","signature":"7df91913922a7e6e3fe90aeff301971de5c0c7809d7e373e301d9e59d48811c6"},{"version":"55c44a8b71a85737b62cbed1ab8812bfa64be4a9fe0ce9f396c238d431271740","signature":"18363e751472a5f649e32d5f9603251d045a3b9b266334625e2ec59c1ccf317f"},{"version":"68e1c894bee4c9c1924aa53eb809df81b686dde38124e0d27d172a0630bfc293","signature":"d8746f554d940f6522ec6ede961ef38d31a0947100d8f834db7a64f93cef6dd2"},{"version":"ca2e8a22cada8ffa630d8e58af373a74fcf4d847fab5d0a3ce23e3301984a3bd","signature":"623a11bcaa7716d2f7bf0272c80a5a2fdafea82333c1ed23664ea8132f890d1c"},{"version":"4947191b6aaf6b7f2ba52af719480b0a8fd748919db2c29c9f46182f6f5963f1","signature":"59be9348946adc746a9ee5b7c03c1f293ba60d7a6646f45c76fa962207de2f01"},{"version":"474d44fccaf2bfaed24f180fcb4b0480b95655042bb88c3f826b4ec07956713f","signature":"1269505d024fe59653f1789b7897073cdb4d29dc99093a1921849c99a30b4080"},{"version":"630f0200962a9442c01f4d89376ff577b1a3782f9f8aba0a961053f61185e228","signature":"b46fbaff85ea35cfe2ef8dca455fc85394e2e8be592feb827152cfedc57e0262"},{"version":"4df1b82a6fab71ffad04aa6db995f980cd982f4c8041664550e4b5464dfa2b2e","signature":"c3ef56f121f2679b3f337ed0ca1dc33c25ebe1bee45a2cfa510c879b8b12a14c"},{"version":"210c03de7f9383a532c888d7da80563c8f80ace5a75f54363628dc8f86b7483d","signature":"d92db3dfcef7481ade8af11dae97f83c3d117aeb3221ac4430464406621d9df4"},{"version":"fa103472d20ae90bc62a38e7e180f63fab8d2b26a84f78ff0009002b7ba7b13d","signature":"fe513e9f038509da759da21aa2f87e2869b2c7f47d4948be79ed8dbdb499cb3a"},{"version":"54317971c93886ae1f92a5d71a6ab5afd578e9b427e71bc402d1ae5ae8ac9811","signature":"c90b7865ea1c875c18af5fb7a8b44974bcf2df746224a00f5931ff9274f6e7f3"},{"version":"4e30ada63fd58fb32bcd499677413534cfd0d8d16663c4ad94ff146e61d0805d","signature":"c65cac17de5d5e7eee19bf8e2a3b8d052418cda60c7a7eae338c89d7473fef4f"},{"version":"9ac428b0b35ab4080066ef9ef7db3843866f4442eacd4c3cdce84b01339fe303","signature":"4d7010f00467d1993bc6d5292f69462bdbb2abfc0d5cf71fb5f3e0d9605c2215"},{"version":"a7f8f2fb3844e56a8903b50262aaa3203385a2427827ac4db49ce3d0ad66b0de","signature":"d86a3a626c15cb0730cc2c7dfecd3f9f6483d04c395ee1561e49b05856421304"},{"version":"e9670f79c5b3a4e9530a77f147db2c9a97851835f9116a58112af5ff5a1e0b7f","signature":"f8b66106cc7dc5ed954a28d056fc243acda8bbdc5e1999141dd35f34e97fa245"},{"version":"e2a93aef6b1814a41816f65389743134ed751fbc1121d619f9a5b63d06da5e16","signature":"a81afccd5831e390cd504701da7288714e795151e1df630b5281ccf3774c969b"},{"version":"45388419360a08931649691c09e74d24febaa94e9d389b87826d4c2c21086554","signature":"9a8ba8f4f4be98077c4b7734ee7b805f374fcd71850d77ae6e9cd15b91b6f4bc"},{"version":"9f511624ad1e73a35fad0c9890370acaae633c67c3e360192208ad6e464e683a","signature":"d239ddd36ff2760f669f87809db8aca94a749344f3e171a5d1ef122468a9ccc3"},{"version":"5159671b722465235f52db303d34bf6150e45bd69be8473e0a98cfc65d6355f5","signature":"40620ec486318d369901a2266445d8180a85d083c3a2f813fd4dc82767bd4425"},{"version":"d8975b20a67928f91f6bdc97c0256e137df392b57abbc7e0b44632bd5e63d224","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[116,123],[265,267],[281,313]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"rootDir":"../../src/devserver","skipLibCheck":true,"sourceMap":false,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"suppressImplicitAnyIndexErrors":false,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[111,1],[112,2],[113,1],[115,3],[114,1],[110,1],[106,4],[99,5],[97,6],[103,7],[102,1],[105,8],[95,8],[98,9],[96,10],[104,11],[101,12],[107,13],[270,14],[271,14],[269,15],[94,1],[274,16],[275,17],[277,18],[276,17],[273,19],[278,20],[279,21],[280,22],[272,15],[268,1],[187,23],[188,23],[189,24],[125,25],[190,26],[191,27],[192,28],[193,29],[194,30],[195,31],[196,32],[197,33],[198,34],[199,34],[200,35],[201,36],[202,1],[203,37],[204,38],[126,1],[124,1],[205,39],[206,40],[207,41],[250,42],[208,8],[209,43],[210,8],[211,44],[212,45],[214,46],[215,47],[216,47],[217,47],[218,48],[219,49],[220,50],[221,51],[222,52],[223,53],[224,53],[225,54],[226,1],[227,1],[228,55],[229,56],[230,57],[231,58],[232,59],[233,60],[234,61],[235,62],[236,63],[237,64],[238,65],[239,66],[240,67],[241,68],[242,69],[243,70],[244,71],[245,72],[246,73],[127,8],[128,1],[129,74],[130,75],[131,1],[132,76],[133,1],[178,77],[179,78],[180,79],[181,79],[182,80],[183,1],[184,26],[185,81],[186,78],[247,82],[248,83],[249,84],[264,85],[251,86],[258,87],[254,88],[252,89],[255,90],[259,91],[260,87],[257,92],[256,93],[261,94],[262,95],[263,96],[253,97],[213,1],[109,98],[108,1],[100,1],[92,1],[93,1],[16,1],[14,1],[15,1],[21,1],[20,1],[2,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[28,1],[29,1],[3,1],[30,1],[31,1],[4,1],[32,1],[36,1],[33,1],[34,1],[35,1],[37,1],[38,1],[39,1],[5,1],[40,1],[41,1],[42,1],[43,1],[6,1],[47,1],[44,1],[45,1],[46,1],[48,1],[7,1],[49,1],[54,1],[55,1],[50,1],[51,1],[52,1],[53,1],[8,1],[59,1],[56,1],[57,1],[58,1],[60,1],[9,1],[61,1],[62,1],[63,1],[65,1],[64,1],[66,1],[67,1],[10,1],[68,1],[69,1],[70,1],[11,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[12,1],[77,1],[78,1],[79,1],[80,1],[81,1],[1,1],[82,1],[83,1],[13,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[19,1],[17,1],[18,1],[152,99],[166,100],[149,101],[167,9],[176,102],[140,103],[141,104],[139,105],[175,106],[170,107],[174,108],[143,109],[153,110],[163,111],[142,112],[173,113],[137,114],[138,107],[144,110],[145,1],[151,115],[148,110],[135,116],[177,117],[168,118],[156,119],[155,110],[157,120],[160,121],[154,122],[158,123],[171,106],[146,124],[147,125],[161,126],[136,9],[165,127],[164,110],[150,125],[159,128],[162,129],[169,1],[134,1],[172,130],[119,131],[116,47],[117,132],[118,1],[291,133],[292,134],[289,135],[293,136],[294,137],[285,138],[286,139],[287,140],[288,141],[298,142],[284,1],[120,1],[122,143],[267,144],[265,145],[123,1],[121,1],[266,1],[297,1],[296,1],[295,146],[301,147],[312,148],[310,1],[313,149],[311,150],[281,151],[282,152],[299,153],[309,154],[300,1],[302,133],[303,135],[304,155],[305,156],[307,157],[308,158],[306,159],[283,1],[290,133]],"version":"6.0.3"}
|