diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index ad6ec0238..74dc227db 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,32 @@ wire format may change and such changes are recorded here. ## Unreleased +### Tariff version 6: a job priced per endpoint, a third party's usage billed, and an upscale and a tone mapping billed by what re-derives them + +- **Tariff and invoice version 6** ([extensions/receipt-ledger.md](extensions/receipt-ledger.md) §4.9). A job price names + an `endpoint`, or none for every endpoint, since two providers of one capability have different list prices; a price + of any endpoint beside a price of one is refused, since it would bill a job at both. +- **A third party's usage.** A new job unit, `usage`, in a unit the price names. A job source may give `third_party`, + the hop records of [route-record](extensions/route-record.md) §6.2, and a job is billed what its billed hop's record + states the provider bills. A failed hop's billed usage and a record's `charge` reach no line; the line cites the + record, which states both. Records are kind 17. +- **An upscale and a tone mapping** are jobs of their own forms, `media.upscale` and `media.tonemap`, billed in `subpixels`. + An upscale's record is proved by exact-upscale §7 from its input and its prior, and a tone mapping's by exact-tonemap + §8 from its envelope, and what the hop delivered is held to what they prove. Their records are kinds 18 and 19, and a + later invoice may cite them again, as an output receipt is. +- A tariff of versions 1 to 5, its invoices and its sources read, verify and bill as before. The corpus grows from 120 + to 169 vectors. + +- **Breaking:** `api:rust:wai::receipt_ledger::JobPrice::endpoint` and `api:rust:wai::receipt_ledger::JobPrice::usage`: new + members of a public struct. +- **Breaking:** `api:rust:wai::receipt_ledger::JobFacts::endpoint`, `api:rust:wai::receipt_ledger::JobFacts::usage`, + `api:rust:wai::receipt_ledger::JobFacts::third_party`, `api:rust:wai::receipt_ledger::JobFacts::upscales` and + `api:rust:wai::receipt_ledger::JobFacts::renditions`: new members of a public struct. +- **Breaking:** `api:rust:wai::receipt_ledger::JOB_UNITS`: holds a fourth name, an array of 4. +- **Breaking:** `record:corpus:wai/live-conformance/ledger/vectors.json`: the control `invoice_version` gives an + invoice of version 7, since version 6 is now defined, and is refused `unknown_version` as before; every other vector + keeps its outcome, and the new vectors are added. + ### A probe no longer panics on two adjacent start codes - `wai.video.avs3` and `wai.audio.avs3`: a payload with a start code prefix directly after another (`00 00 01 00 00 01`) diff --git a/wai/extensions/receipt-ledger.md b/wai/extensions/receipt-ledger.md index a8e4e4f39..6b928854e 100644 --- a/wai/extensions/receipt-ledger.md +++ b/wai/extensions/receipt-ledger.md @@ -31,7 +31,10 @@ > receipt of version 2 states (live-metering §4.4), at a price per 10^9 bytes; a package's work > once per run that made it, by the work units it states, its receipt the product each run > cites; a package's storage by byte-days for each period it is held; and its invoices state -> every hop's energy, the hops not billed in a scope of their own (§6.6). Whatever the version, +> every hop's energy, the hops not billed in a scope of their own (§6.6). A tariff of version 6 +> also prices a job **per endpoint**, and by the **usage** a third party's hop record states +> ([route-record](route-record.md) §6.2), and bills an upscale and a tone mapping by the subpixels +> their records state, each re-derived from what it read (§4.9). Whatever the version, > a job's output receipt is of an object its served hop states it delivered, where its route > record states it (§5.1), and a route record's routing figures are never charges. No new transport, no payment > and no tax: an invoice is the recomputable figures a payment rests on. The reference implementation is the @@ -124,7 +127,7 @@ records recomputes all three. | field | size | meaning | |---|---|---| | `magic` | 4 | `WLT1` (ASCII) | -| `version` | 1 | 1; 2 for a tariff that prices jobs (§4.5); 3 for one that prices them per operation and bills their work (§4.6, §6.9); 4 for one that also prices bytes out, a package's work and its storage by byte-time (§4.7) | +| `version` | 1 | 1; 2 for a tariff that prices jobs (§4.5); 3 for one that prices them per operation and bills their work (§4.6, §6.9); 4 for one that also prices bytes out, a package's work and its storage by byte-time (§4.7); 5 for one that holds a decode to its frames (§4.8); 6 for one that also prices a job per endpoint and by a third party's usage, and bills an upscale and a tone mapping (§4.9) | | `seller` | 32 | the seller's key, which signs the tariff and every invoice under it | | `buyer` | 32 | the buyer's key, which accepts the tariff by signing it | | `start`, `end` | 8 each | u64: the period the tariff is good for | @@ -133,7 +136,7 @@ records recomputes all three. | `delivery` | 32 | four u64: millionths of a minor unit per 10^9 acknowledged bytes of each object class, in class order (settlement §7.1) | | `package` | 24, in version 4 8 | three u64: millionths of a minor unit per package receipt, per entry, and per 10^9 stored bytes; in version 4 one, per 10^9 byte-days held (§4.7) | | `ads` | 16 | two u64: millionths of a minor unit per presented impression, and per billable impression | -| `job` | 2 + Σ (18 + *c*), in versions 3 and 4 2 + Σ (19 + *c* + *o*) | versions 2 to 4, absent in version 1: a u16 count *j*, then each job price (§4.5, §4.6): `cap_len` (u8), `capability` (`cap_len` bytes), in versions 3 and 4 `op_len` (u8) and `operation` (`op_len` bytes), then `unit` (u8), `divisor` (u64) and `price` (u64) | +| `job` | 2 + Σ (18 + *c*), in versions 3 and 4 2 + Σ (19 + *c* + *o*), in version 6 2 + Σ (21 + *c* + *o* + *e* + *u*) | versions 2 to 4, absent in version 1: a u16 count *j*, then each job price (§4.5, §4.6, §4.9): `cap_len` (u8), `capability` (`cap_len` bytes), in versions 3 and 4 `op_len` (u8) and `operation` (`op_len` bytes), in version 6 `end_len` (u8) and `endpoint` (`end_len` bytes), then `unit` (u8), in version 6 `use_len` (u8) and `usage` (`use_len` bytes), then `divisor` (u64) and `price` (u64) | | `scope` | 2 + 33 × *n* | a u16 count *n*, then each entry: `kind` (u8) and `id` (32), in strictly ascending order of (`kind`, `id`) | | `seller_sig` | 64 | §4.2 | | `buyer_sig` | 64 | §4.2 | @@ -152,7 +155,7 @@ tariff the buyer did not sign bills nobody. A reader reads exactly the bytes it is given as one tariff, in the order of §4.1, and refuses at the first of these that holds: fewer than 4 bytes, `truncated`; a magic other than `WLT1`, -`malformed`; no fifth byte, `truncated`; a version other than 1 to 5, `unknown_version`; the +`malformed`; no fifth byte, `truncated`; a version other than 1 to 6, `unknown_version`; the bytes end before a field the layout requires, `truncated`; bytes after `buyer_sig`, `malformed`. It then refuses as `tariff_invalid` a tariff that breaks any of these: @@ -163,7 +166,11 @@ It then refuses as `tariff_invalid` a tariff that breaks any of these: - in version 2, `job` has at most 255 prices, each as §4.5 requires, in strictly ascending order of (`capability`'s bytes, `unit`); in versions 3 and 4, at most 255, each as §4.6 requires, in strictly ascending order of (`capability`'s bytes, `operation`'s bytes, `unit`); - each `unit` 1 or 2, and in version 4 1 to 3. + each `unit` 1 or 2, and in version 4 1 to 3; +- in version 6, at most 255, each as §4.9 requires, in strictly ascending order of + (`capability`'s bytes, `operation`'s bytes, `endpoint`'s bytes, `unit`, `usage`'s bytes), each + `unit` 1 to 4; and no price of any endpoint beside a price of one for the same `capability`, + `operation`, `unit` and `usage` (§4.9). Then the seller's signature, then the buyer's: `bad_key`, `bad_signature`. @@ -195,6 +202,7 @@ The units are the records' own figures, never converted: | 1 | `jobs` | 1 | | 2 | `subpixels` | the sum of its output receipts' `work_pixel_ops` (integer-payloads §15.1): the subpixels its output decodes to | | 3 | `work_units` (version 4) | the sum of its output packages' `work_units` (packaging §9.1, §4.7) | +| 4 | `usage` (version 6) | what its billed hop's third-party record states the provider bills, in the price's own unit (§4.9) | A job the tariff has no price for, by its serving capability, is billed nothing, and a buyer pays for a capability only at a price it signed. A package job stays a package source (§5.1), @@ -335,6 +343,83 @@ a version-4 verdict on a decode must not change under it, so version 5 is a vers A tariff of versions 1 to 4, its invoices and its sources read, verify and bill exactly as before. +### 4.9 An endpoint, a third party's usage, and what re-derives an output (version 6) + +A tariff of version 6 is version 5's in its layout but for its job prices (§4.1), in its rules +but for theirs (§4.3), and in its scope and prices (§4.4 to §4.8), and an invoice of version 6 is +version 5's (§6.1) but for the records it may list; each bills what version 5 bills. Where this +text says version 4 or 5, or a range of versions ending at either, version 6 is included, except +as this section says. + +**A job price names an endpoint.** Its `endpoint` is the endpoint of the attempt it prices, a +token of route-record §2's form, or empty, which prices every endpoint. Two providers of one +capability have different list prices, so one price per capability overprices one or underprices +the other, and a buyer pays each at the price it signed for it. A job is priced as §4.6 prices it +and, where a price names an endpoint, by its billed hop's. A price of any endpoint beside a price +of one, for the same capability, operation, unit and usage, would bill one job at both, so a +tariff that has both is `tariff_invalid`: its seller states one price for every endpoint or a +price for each. + +**A third party's usage.** A job price of unit 4 names `usage`, a unit of route-record §2's form, +and of any other unit none. A job source may give `third_party`, a list of third-party hop +records' texts, which route-record §7.2 step 9 verifies with the rest of its document, a refusal +there being the source's. Each record contributes itself (§5.2, kind 17). A job's quantity at a +price of usage is the `usage.quantity` of its billed hop's record, when that record's `usage.unit` +is the price's `usage`, and otherwise none: + +- a job given no record bills nothing at a price of usage, and bills by its other units; +- a failed hop's record, and a late hop's, state what the provider billed for it, which is what + the router's operator owes the provider, and no line reads it: only the billed hop's usage + reaches a line, as §5.1 holds a failed hop's figures from a line; +- a record's `charge` reaches no line. It is the provider's own figure in its own terms, and a + line adds jobs, so it cannot be summed. The line cites the record, which states it signed, so a + buyer reads the two side by side. + +A third party's output has no WAI receipt, and a job it served gives no output receipt for it: its +record names the objects, and the route record holds them to the hop (route-record §6.2). + +**An upscale.** A job whose route record's `operation` is `media.upscale` gives each output as an +object of exactly `upscale` (the text of an upscale record, exact-upscale §4.2), `object` (the +input: a `WAI1` of capability `wai.image.png` holding a PNG of 8-bit RGB that packaging §5's reader +reads, hex), `prior` (the `WSR1` it names, hex) and `picture` (the object the hop delivered: a PNG +that reader reads, hex). The record is verified by exact-upscale §7 under `require-proof`, holding +the input, its samples and the prior, and the picture is of the size the record's output is, with +the samples whose digest is its `output`. So what is billed is what the derivation gives: the +record's subpixels are the output's width × height × 3, the record contributes itself by its link +hash (§5.2, kind 18), and the picture is its object (§5.1). No residual is given, so a record that +names one is not proved here. Otherwise the source is refused `output_invalid`: at `outputs`, the +output's index and `object` where the input does not read so; at `outputs`, the output's index and +`picture` where the picture does not read or is not the output; and at `outputs` and the output's +index where the record does not read or is not proved. + +**A tone mapping.** A job whose route record's `operation` is `media.tonemap` gives each output as +an object of exactly `tonemap` (the text of a rendition record, exact-tonemap §7.1), `envelope` +(the `WAI2` it read, hex) and `renditions` (each picture's rendition, its `RGB16` bytes, exact-tonemap +§2, in the record's order, hex), and under a route record of version 3 `proofs`, in place of +`proof`: one inclusion proof for each rendition (route-record §6.1). The record is verified by +exact-tonemap §8 under `require-proof`, holding the envelope and no decoded frame, so what is proved +is a still's pictures, and a record of a video's frames is refused. There is one rendition for each +picture, whose digest is the picture's `output`. So the record's subpixels are its pictures × width +× height × 3, and it contributes itself by its link hash (§5.2, kind 19). Otherwise the source is +refused `output_invalid`: at `outputs`, the output's index, `renditions` and the rendition's index +where a rendition is not its picture's; at `outputs`, the output's index and `renditions` where +their number is not the record's; and at `outputs` and the output's index where the record does not +read or is not proved. Each rendition is an object the hop delivered, and none is another output's +(§5.1): otherwise `output_not_delivered`, at `outputs`, the output's index, `renditions` and the +rendition's index. Two pictures of one record may render one picture: the hop states that object +once (route-record §5.2), and both are billed, since the record states and proves both. + +A job of either operation gives its outputs in that form alone, and any other form is `malformed`. +A job's `subpixels` (§4.5) sum its output receipts' `work_pixel_ops` and these records' subpixels. +These records are the evidence of what a job delivered, as an output receipt is (§6.9): the +derivations are exact, so a run of the same request delivers the same picture, and a later invoice +may cite a record again for a new hop's work. Each is a record of the signer that made it, and what +its figure rests on is the derivation, which any holder of the source recomputes. + +A version-5 reader cannot read a job price that names an endpoint, a job source's `third_party`, +these outputs or kinds 17 to 19, so version 6 is a version of its own. A tariff of versions 1 to 5, +its invoices and its sources read, verify and bill exactly as before. + ## 5. Sources ### 5.1 Kinds and their documents @@ -349,7 +434,7 @@ extension's verifier is given. Bytes are lowercase hexadecimal strings. | `package` | `receipt` (the text of `package.receipt.json`), `indexes` (the index files in the receipt's component order) | packaging §9, a receipt of version 2 against its indexes | | `ads` | `descriptor`, `grants`, `key_log`, `chains`, `policy`, `pt0_ms`, `receipts` (form-2 receipts in their JSON carriage), `pods`, `claims`, `creatives`, `issuers` | live-ads §9, with ad-presentation §9 under a policy that requires claims | | `stitched` | `records` (pod-input records), `claims` (stitched claims), `manifests`, `responses` (VAST and VMAP documents), `receipts` (form-1 receipts in their JSON carriage), `creatives`, `issuers` | stitched-presentation §7, its signers the tariff's (§4.4) | -| `job` (versions 2 to 4) | `request`, `pricebook`, `policy`, `record`, `receipts`, `keys` (a route record's verification document, route-record §7.1, its `receipts` and `keys` not `null`) and `outputs`, a list of objects of exactly `receipt` (the text of a `wai.video.int_motion` decode receipt's JSON form, integer-payloads §15.2) and `codestream` (the `WIV1` payload it describes: the object the hop delivered, named by its content hash; in version 5 a decode's output also has `frames`, the animation of its frames it delivered, and its codestream is what it read, §4.8), or, in version 4, of exactly `package` (the text of a package receipt of version 2, `package.receipt.json`: the object the hop delivered) and `indexes` (its index files in its component order); under a route record of version 3, each output also has `proof`, its object's inclusion proof (route-record §6.1) | route-record §7, accepted with its hop receipts checked; then each output receipt read by integer-payloads §15.2 and re-derived from its `codestream` (§15.1 there), each package verified against its indexes by packaging §9, or `output_invalid` at `outputs` and its index; then each output held to what its hop delivered, or `output_not_delivered` there | +| `job` (versions 2 to 4) | `request`, `pricebook`, `policy`, `record`, `receipts`, `keys` (a route record's verification document, route-record §7.1, its `receipts` and `keys` not `null`) and `outputs`, a list of objects of exactly `receipt` (the text of a `wai.video.int_motion` decode receipt's JSON form, integer-payloads §15.2) and `codestream` (the `WIV1` payload it describes: the object the hop delivered, named by its content hash; in version 5 a decode's output also has `frames`, the animation of its frames it delivered, and its codestream is what it read, §4.8), or, in version 4, of exactly `package` (the text of a package receipt of version 2, `package.receipt.json`: the object the hop delivered) and `indexes` (its index files in its component order); under a route record of version 3, each output also has `proof`, its object's inclusion proof (route-record §6.1); in version 6, it may also have `third_party`, and an upscale's and a tone mapping's outputs have their own forms (§4.9) | route-record §7, accepted with its hop receipts checked; then each output receipt read by integer-payloads §15.2 and re-derived from its `codestream` (§15.1 there), each package verified against its indexes by packaging §9, or `output_invalid` at `outputs` and its index, an upscale's and a tone mapping's outputs as §4.9 says; then each output held to what its hop delivered, or `output_not_delivered` there | A source is accepted when its extension's verifier accepts it; for `ads`, when the outcome is **accept** (live-ads §9.4), a **gap** being `source_gap`. A `stitched` source is always @@ -439,8 +524,11 @@ the others are the ledger's own: | 14 | an OER/2 receipt | the 32 bytes its `receipt_id` names (oer-receipts §5) | a `job` source (versions 2 to 4): the receipt of each attempt of its record | | 15 | a `wai.video.int_motion` decode receipt | its receipt hash (integer-payloads §15.1) | a `job` source (versions 2 to 4): each output receipt | | 16 | a route record | its digest (route-record §5.3) | a `job` source (versions 2 to 4): its record | +| 17 | a third-party hop record | its digest (route-record §6.2) | a `job` source (version 6): each record it gives | +| 18 | an upscale record | its link hash (exact-upscale §2) | a `job` source (version 6): each upscale's record (§4.9) | +| 19 | a rendition record | its link hash (exact-tonemap §2) | a `job` source (version 6): each tone mapping's record (§4.9) | -Kinds 17 to 127 are unassigned. Kinds **128 to 255 are reserved for private and provisional +Kinds 20 to 127 are unassigned. Kinds **128 to 255 are reserved for private and provisional use**: an implementation's own records, such as a hosted service's provisional records carried beside WAI's until WAI defines them, may name records by them, and no kind WAI assigns later will ever be one of them. A WAI record never states one, and a WAI verifier refuses one wherever a WAI @@ -537,7 +625,7 @@ each: | 3 | 3 | `byte_days` (version 4, its only package unit) | ⌊Σ `stored_bytes` × (`end` − `start`) / 86 400 000 000⌋ over the package receipts the previous invoice lists, which are held (§4.7) | `package` 0 of version 4 | 10^9 | | 4 | 1 | `presented_impressions` | under a policy that requires claims, the impressions that count (ad-presentation §9.2); of a stitched source, the presentations of its accepted records' ads (stitched-presentation §7.4), one per session | `ads` 0 | 1 | | 4 | 2 | `billable_impressions` | under a policy that does not, the billable impressions (quartile at least 1) | `ads` 1 | 1 | -| 5 | *k* | the *k*-th job price's unit | over the router's job sources with a billed hop whose serving capability is that price's `capability` (and, in versions 3 and 4, whose operation is its `operation`): one per job (`jobs`), each job's output receipts' `work_pixel_ops` (`subpixels`), or, in version 4, its output packages' `work_units` (`work_units`) | the *k*-th job price's `price` | its `divisor` | +| 5 | *k* | the *k*-th job price's unit | over the router's job sources with a billed hop whose serving capability is that price's `capability` (and, in versions 3 and 4, whose operation is its `operation`, and, in version 6, whose endpoint is its `endpoint`, when it names one): one per job (`jobs`), each job's output receipts' `work_pixel_ops` (`subpixels`), in version 6 with its upscale and rendition records' subpixels, or, in version 4, its output packages' `work_units` (`work_units`), or, in version 6, its billed hop's record's usage in the price's unit (`usage`, §4.9) | the *k*-th job price's `price` | its `divisor` | In version 4 a package source bills only its `byte_days`, and its work is its run's job line. There is one line for each source and unit whose @@ -571,7 +659,8 @@ Each line cites the records it came from: and 4, an output receipt that two jobs of the line delivered is cited once and its `work_pixel_ops` counted for each (§6.9); in version 4, for `work_units`, each of its output packages whose `work_units` is above 0, a package that two runs of the line made cited once - and counted for each. + and counted for each; in version 6, for `subpixels`, each of its upscale and rendition records, + counted as an output receipt is, and for `usage`, its billed hop's third-party record. `cited` is their number, and `cites` is SHA-256 over the 17 bytes `wai:ledger-cites` (ASCII) and 0x01, followed by each cited record's `kind` and identity, in ascending order of (`kind`, @@ -630,7 +719,8 @@ invoice with a row of tag 0. It refuses as `private_kind` an invoice with a reco - `start` is below `end`; `currency` is three capitals `A`–`Z`; - each list is in the strictly ascending order §6.1 gives it; each record's `kind` is 1 to 9 (in - versions 2 to 4, also 14 to 16: kinds 10 to 13 are no ledger source's, §5.2); + versions 2 to 4, also 14 to 16: kinds 10 to 13 are no ledger source's, §5.2; in version 6, also + 17 to 19); - each line's `source_kind` is 1 to 4 (1 to 5 in versions 2 to 4), its `unit` a unit of its kind in its version (§6.3; for kind 5, at least 1), its `quantity` and `cited` above 0; - each row's `scope` is 1 to 4 (1 to 5 in versions 2 and 3, 1 to 6 in version 4), its `tag` 2 to 5 @@ -643,7 +733,8 @@ Then the signature (§6.7): `bad_key`, `bad_signature`. The invoices of one tariff form a **chain**: each names in `prev` the invoice before it, the first names zero, and their periods do not overlap. A ledger keeps one chain per tariff. No record is in the `records` of two invoices of a chain, but, under a tariff of version 3 or 4, an output receipt -(kind 15), and under one of version 4 a package receipt (kind 5), which each run that made it +(kind 15), under one of version 6 an upscale record and a rendition record (kinds 18 and 19, §4.9), +and under one of version 4 a package receipt (kind 5), which each run that made it cites and each invoice whose period it is held through lists again to bill its storage (§4.7): a record billed once is billed never again, whatever period a later invoice states, and a package receipt, which states no time, is billed in the invoice that first holds it. @@ -654,7 +745,7 @@ run again delivers the same objects, of the same content hashes, under the same tariff of version 3 or 4, therefore: - the records a chain bills once for a job are its route record and its hops' OER/2 receipts, - the billed hop's among them; + the billed hop's among them, and in version 6 its hops' third-party records, each of one hop; - an output receipt is cited, and carried in its lines' citation digests, but is not billed once: a later invoice may list it again for another job's hop; - a re-run whose route record and hop receipt are new is billed, in the invoice that holds it; @@ -703,7 +794,8 @@ It runs these steps and stops at the first refusal, which it reports with the re (`record_duplicate`); a receipt, statement or ad receipt overlapping an earlier one, or, in version 2, a route record of the router and job an earlier one names (§5.3, `record_overlap`); and a record that is in the previous invoice's `records`, in versions 3 and - 4 an output receipt excepted, and in version 4 a package receipt (§6.9, `record_rebilled`). + 4 an output receipt excepted, in version 4 a package receipt, and in version 6 an upscale or + rendition record (§6.9, `record_rebilled`). 7. **The figures**, at `invoice`, recomputed from the sources as §6.2 to §6.6 compute them and compared in this order: 1. a line whose source and unit no source gives, or that states a larger quantity than the @@ -720,7 +812,8 @@ A figure that cannot be held in its field is a difference. - **refuse**: the reason and where. - **accept**: the invoice's digest; the tariff's digest; the currency and the period; the number of records; each line with its source kind, source, unit name (and, for a job line, the job - price's `capability`, and in versions 3 and 4 its `operation`), quantity, price, amount and its + price's `capability`, in versions 3 and 4 its `operation`, and in version 6 its `endpoint` and, + for a usage, its `usage` as `usage_unit`), quantity, price, amount and its cited records; each energy row by scope and class label with its figures, joules and `max_ppm`; each scope's unmetered figures and coverage (scopes 1 to 4, in versions 2 and 3 scope 5, and in version 4 scopes 5 and 6); the @@ -815,9 +908,9 @@ The codes this extension adds, each with where it is raised: | `citation_mismatch` | §6.5, §7.2 step 7 | | `invoice_mismatch` | §7.2 step 7 | | `private_kind` | §5.2, §6.8, §7.2 step 2 | -| `output_invalid` | §5.1, §7.2 step 5 | +| `output_invalid` | §4.8, §4.9, §5.1, §7.2 step 5 | | `job_figure_invalid` | §5.1, §7.2 step 5 | -| `output_not_delivered` | §5.1, §7.2 step 5 | +| `output_not_delivered` | §4.8, §4.9, §5.1, §7.2 step 5 | A verifier of this extension also raises `truncated`, `malformed` and `unknown_version` for a tariff or an invoice that does not read, and `malformed` for a source that does not read (§5.1); `bad_key` and `bad_signature` for their signatures; @@ -873,7 +966,15 @@ outcome §7.3 gives it: held to its codestream; and jobs whose route records are of version 3, each output proved among what its hop delivered: an encode whose clip is the second of two objects, a decode of version 5 whose animation is its one object, and a package's run whose receipt is the first - of 1,501 objects. + of 1,501 objects; and, under a tariff of version 6, a third party's jobs billed per job and by + what each record states the provider bills, each endpoint at its own price: a served hop, + another provider's, a failover whose failed hop's billed usage reaches no line, a job with no + record, a job in another unit at that unit's price, and one in a unit no price names; an encode, + a decode held to its frames and a package's run, billed as version 5 bills them; an upscale of + two pictures and two tone mappings, one of whose records states two pictures of one rendering, + each re-derived from what it read; the next invoice of that chain, billing the upscale run again + and citing its records again; and an upscale and a tone mapping whose route records are of + version 2. - **Refused**: each reason of §10 at least once, each vector a control of one defect; a source of each kind outside the scope, a room receipt and a statement under other prices, and a source of each timed kind outside the period; a refusal of each source kind by its own extension; and, for @@ -907,7 +1008,24 @@ outcome §7.3 gives it: a proof under a record of version 2 and a proof whose index is text (`malformed`), a proof of another place, one past the count, one a sibling short, an output its hop did not deliver, one output twice, a decode's animation at another place, a decode with an object past its animation, - and an output of a job no hop served (`output_not_delivered`). + and an output of a job no hop served (`output_not_delivered`); and, for version 6, job prices out + of order by endpoint, a price of any endpoint beside one, a price of usage naming no unit, a + price per job naming one, an endpoint not of its form and a unit past `usage` + (`tariff_invalid`); a price of usage under version 5, and an invoice of version 5 listing a + third-party record (`invoice_invalid`), and an invoice of version 5 under a tariff of version 6; + a job given third-party records, and an upscale and a tone mapping in version 6's form, under + version 5 (`malformed`); another job's record (`third_party_mismatch`); a failed hop's usage added to a + line, a usage line for a job with no record, and subpixels above a record's + (`quantity_not_recorded`); a usage at another endpoint's price and a record left out of the + invoice's (`invoice_mismatch`), and a usage line not citing its records (`citation_mismatch`); + an upscale whose picture is altered, of another shape or not a PNG, under another prior, of + another input, whose input is not an envelope, of another capability or not RGB, whose record + states another output, names a residual or does not verify (`output_invalid`), whose picture its + hop did not deliver or given twice (`output_not_delivered`), in an encode's form (`malformed`); + and a tone mapping with a rendition altered, one missing, renditions out of order, of another + envelope, whose record does not verify (`output_invalid`), with a rendition its hop did not + deliver or given twice (`output_not_delivered`), a proof short, without its proofs, with proofs + under a list, or in an encode's form (`malformed`). `wai_receipt_ledger_vectors verify` and the test `tests/receipt_ledger.rs` check that the file regenerates byte for byte, that `wai-rs` gives every vector its outcome, that every reason of §10 @@ -916,7 +1034,8 @@ refuses a vector, and that §10 lists exactly the reference's codes. it shares no code with `wai-rs`, verifies signatures with WAI's strict rule written from RFC 8032 (`claim-conformance/_ed25519.py`), verifies each source with that corpus's own second implementation (`live_metering_verify.py`, `settlement_verify.py`, `live_ads_verify.py` with -`ad_presentation_verify.py`, `stitched_presentation_verify.py`, `route_record_verify.py`, and +`ad_presentation_verify.py`, `stitched_presentation_verify.py`, `route_record_verify.py`, +`upscale_verify.py`, `tonemap_verify.py` and `pack-conformance/pack_verify.py`) and each output receipt by `_int_motion_receipt.py`, written from integer-payloads §15, computes each output's content hash with BLAKE3 written from its specification (`claim-conformance/_blake3.py`), recomputes every line, @@ -951,6 +1070,17 @@ copy of the corpus to fail. so it was written by the start of the period billed, and a buyer holding the chain sees each period billed once. Whether the seller kept the bytes through the period is the seller's statement, as a delivery is the acknowledging parties' (settlement §13). +- **A third party's usage.** Under a tariff of version 6 a job may be billed by what a third + party's record states the provider bills. That figure is the router's statement: no provider + signs anything, so the record holds what the router read, with the provider's response kept + where it was JSON and every byte named by digest (route-record §6.2), and a router can state a + usage the provider did not bill. A buyer holds the price it signed and the record the router + signed, each line cites that record, and the provider's own `charge` is stated beside it, so a + dispute is about a signed figure; it is not recomputable, as a re-derived subpixel is. +- **What re-derives an output.** Under a tariff of version 6 an upscale's and a tone mapping's + subpixels are recomputed by the verifier from the record, what it read and what the hop + delivered. That binds the picture to its input, and nothing binds the input to what the buyer + asked for: the hop's receipt names its inputs by digest, which a holder of them checks. - **Every hop's energy.** Under a tariff of version 4 an invoice states the energy every hop of its jobs spent, the hops the buyer was not billed for in a scope of their own, so a seller whose router fails often shows it in the energy it states, and is not paid for it. diff --git a/wai/extensions/route-record.md b/wai/extensions/route-record.md index 81b37ba68..6140b5331 100644 --- a/wai/extensions/route-record.md +++ b/wai/extensions/route-record.md @@ -596,7 +596,8 @@ So the provider's work is tied to the hop that paid for it: the receipt says the these objects, the record says which calls produced them and what the provider bills, and the route record names both. The `charge` is the provider's own figure, in its own terms, beside the usage and never added to it; a reader who compares what the provider says it charged with what -a job was billed reads both from signed documents. The record states no energy figure: the +a job was billed reads both from signed documents. A tariff of version 6 bills a billed hop by the +record's usage (receipt-ledger §4.9). The record states no energy figure: the hop's receipt states it, or the unmetered marker where the provider gave none (oer-receipts §3.1). diff --git a/wai/live-conformance/ledger/README.md b/wai/live-conformance/ledger/README.md index de7ec1dfd..8daceae1f 100644 --- a/wai/live-conformance/ledger/README.md +++ b/wai/live-conformance/ledger/README.md @@ -85,6 +85,21 @@ The accepted vectors: (`job_v3r_decode`) whose animation is its one object, and a package's run (`package_run_v3r`) whose receipt is the first of 1,501 objects, the rest standing for the package's own; billed under the tariff of version 5. +- `version_6_a_third_partys_usage_per_endpoint` (version 6, §4.9): a third party's jobs, each + `third_party` record naming what the provider bills, billed per job and by that usage at its + endpoint's price: gen.alpha (`job_tp_alpha`), gen.beta (`job_tp_beta`), a failover whose failed + hop's billed usage reaches no line (`job_tp_failover`), a job given no record, billed by the job + alone (`job_tp_unrecorded`), one in another unit at that unit's price (`job_tp_images`), and one + in a unit no price names (`job_tp_a_unit_no_price_names`). +- `version_6_holds_what_version_5_holds`: the encode, decode and package run of version 5's route + records of version 3, at prices of any endpoint. +- `version_6_an_upscale_and_a_tone_mapping`: an upscale of two pictures (`job_upscale`) and two tone + mappings, one of whose records states two pictures of one rendering + (`job_tonemap_two_pictures_of_one_rendering`), each re-derived from what it read; and + `version_6_an_upscale_run_again`, the next invoice, billing the upscale's new hop and citing its + records again. +- `version_6_re_derived_jobs_under_a_list`: an upscale and a tone mapping whose route records are of + version 2, so that no output gives a proof. Every other vector is refused, a control of one defect: each reason of §10, the reused codes, and a refusal of each source kind by its own extension. @@ -108,7 +123,11 @@ manifests, responses and receipts they name, by their bytes), media jobs from router under its price book and policy, their hop receipts sealed under its hop key, the replayed and the claimed one being `served_first_try`'s own; the jobs of version 2 (`job_v2_*`) routed here by that router under the route corpus's price book of version 2, and the runs of -`package.build` (`package_run*`) under a price book of version 2 of its own; and the +`package.build` (`package_run*`) under a price book of version 2 of its own; the third party's +jobs (`job_tp_*`), the upscales (`job_upscale*`) and the tone mappings (`job_tonemap*`) routed here by +that router, the upscales derived under the prior `generic.wsr` of +[`live-conformance/upscale/priors/`](../upscale/priors/) and the tone mappings' envelopes written +by exact-tonemap's corpus encoder; and the packages `video-base-01` and `video-staged-01` of [`pack-conformance/packs/`](../../pack-conformance/packs/). When one of those corpora is regenerated, so is this one. Nothing here was fetched from outside the repository. @@ -116,8 +135,8 @@ regenerated, so is this one. Nothing here was fetched from outside the repositor Regenerate and check: cd wai/wai-rs - cargo run -q --no-default-features --features receipt_ledger --bin wai_receipt_ledger_vectors -- gen ../live-conformance/ledger - cargo run -q --no-default-features --features receipt_ledger --bin wai_receipt_ledger_vectors -- verify ../live-conformance/ledger + cargo run -q --release --no-default-features --features receipt_ledger --bin wai_receipt_ledger_vectors -- gen ../live-conformance/ledger + cargo run -q --release --no-default-features --features receipt_ledger --bin wai_receipt_ledger_vectors -- verify ../live-conformance/ledger cargo test -q --no-default-features --features receipt_ledger --test receipt_ledger python3 -I ../live-conformance/receipt_ledger_verify.py ../live-conformance/ledger diff --git a/wai/live-conformance/ledger/vectors.json b/wai/live-conformance/ledger/vectors.json index ffa9eddc9..980f6c709 100644 --- a/wai/live-conformance/ledger/vectors.json +++ b/wai/live-conformance/ledger/vectors.json @@ -1229,6 +1229,710 @@ }, "outputs": [] }, + "job_tonemap": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7201\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7201\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"ce5a67815ce004ef2e210e8bf1b37526fd15af4ccdf9b9fbb81fc0f4ffc2aa2e\",\"sig\":\"ac5bc317056b3c362dfb98ce60ea876c902ac53c842ec116e0827198046d06480a3a9e22a8ed99fc241335ddd3654ff1da2e33d89858479cfbca682434b6e90d\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:bad616a1cb83888eb5b625aaa7e285f7ffa566f5aa62872c3215b8e801b57f12\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:06891a7c9e948ac8641a53a6f6b4232dc98e75d8951faf618436ced315798d8c\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"5f517c5742b3e60eab4ff244481121e5d70fe268136f5b6099dabe7ad96a3883ffa6fc305934a84b90d8a5d61b9b27cb963970d4c03bcdb0dd14c533e7a98c01\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + } + ] + } + ] + }, + "job_tonemap_a_proof_short": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7217\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:fc1fdb6e43a5a886343c1740d2271b8273fb92ab415cfe8e86a93c2af46d14e4\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7217\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"a01605c4fe6751ca80052c3c99b6c66e9b02bef9f0bfb44fc756f51c4d1721aa\",\"sig\":\"461f834abdee022e6a2df7c82395e069db4b0d32cef036328ab35e52209d41ed72d96f8d8b1f606b2a172d84eb8c5a2f99582924aa8c7ea8595133959ed03d04\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:fc1fdb6e43a5a886343c1740d2271b8273fb92ab415cfe8e86a93c2af46d14e4\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:503c4381095d41c210ee18d4315895061645f0ab2178170c4793774db165fa90\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:78eab2c93030e1f45b6007b7a3f6107db79da765eea93a68e3776df0056924bf\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"c25ae59fe6337afabe34d812f3965c778961d72b8ac1dc9bd2bb21bb3a7b4d6a4d8b0bae0a717ac5274be8b7773997388c2d31353c0a7a0b0f1acca68ad2ef01\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + } + ] + } + ] + }, + "job_tonemap_a_record_that_does_not_verify": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7214\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:ce1665bbfb7007f8606ba1a5eaaeaa36a676f9e1e2a6385ab21b37c0de939984\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7214\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"841f3ab323d1b42a8f807785a7df32289a77732e93191c058c7976be87e27cad\",\"sig\":\"3ef9b401f5cc50fb0b33d8c64a04bbec4dc994ed8fb7fa1c0022da3599e9fbb5e8ad9bccc7f8ec4338639ddec663702ef8f9849335dd3d23e0300755fb90e300\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:ce1665bbfb7007f8606ba1a5eaaeaa36a676f9e1e2a6385ab21b37c0de939984\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:7a12ede396605324f7076b0f6c6b420bdab1ae211a730fa2433e42516bd9f2b8\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:cd47eaa049a4196bf6ba8660a0a9cbbb410159f74d54d98d3cf1d859416d2ae6\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"b0f863ba94e7f01afb0c8573a216b1d020070b29fc6a7085c95957e1ccb20c18a93329c8ab8e4d7f0104fd55b12e2c12f8117570738693f71ec56f866238b20f\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2025-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + } + ] + } + ] + }, + "job_tonemap_a_rendition_altered": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7210\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"d521d691787a10db9c5655341bd073ba141bdc4f883014454dbcfc77f5ccb9c4\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:b98d32769b33f34b73532cedea35f336e425f8918b76239c0409ed2c39b3612c\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7210\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"f8207a47da76f066130be1fa3d0e931d5470a21ae59e0afc4fa8f439ea0857df\",\"sig\":\"d6fef37e832a049ec6a9792d3ca261a1de792adbc97198e92e78f58bac6ef0e116fe6bcf8f7d68640598250062417536a2790acaa6b217f673cc33e10fd61a0c\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:b98d32769b33f34b73532cedea35f336e425f8918b76239c0409ed2c39b3612c\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:c0f6d00a24ad3b61ed93ea5a429a8fa97cf745e57f4833ec6564c0450ce46af4\"],\"output\":\"d521d691787a10db9c5655341bd073ba141bdc4f883014454dbcfc77f5ccb9c4\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:b43210fffc5a598d89c4dc39c4634e93168c0f124f07fbf05dc5dc8e6e1b9654\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"d7f70369e7ddf474e311a037675e26ac81a63d8a2c81bd0dd9a7e88014c5b8f0c9b2b3344f007225d9a9fc1f7e8e67eedd43b6eeee8bd4ec5742e3e3ef541303\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c41e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "56c4a372a412a0deb4ba02b9ae0e052b6a67e3992d881e0b2d68e559e2f12756", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "a1e19a882c5e0192a9ed7b448c1eb3bb88773bcf9a9aa910a4898d7822117708" + ] + } + ] + } + ] + }, + "job_tonemap_a_rendition_its_hop_did_not_deliver": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7215\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:0202a3f563ba8d77e22cc30298a7fcebc2bff9fa5a4877600cc0286a50156463\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7215\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"86f209f7cfae91e6d90b4df82538afd0df80fdd7bbe5d125a9194a97adc488ab\",\"sig\":\"dbb2e4e23fd7e668eb377ea93e7ef87cf443e8d29be509e8f1ec423121f357bbbee799bb84eb1390724feb9d453ea4ddb2bf9bd9554b4bf9dbb354486e1f0d0d\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:0202a3f563ba8d77e22cc30298a7fcebc2bff9fa5a4877600cc0286a50156463\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:27211de914e31816426dd0f6feac3565756c6cbf24eba2e4bba58bb7bc7cbb1d\"],\"output\":\"b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:2804f5d19064229e12bade81755edcf3362d18d66762b12f89b69a74ccc8c24d\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"138c7d5298d6f32ccb8d92590dcbd900935c355bd075ef555b85664a0a768ed68befd96edd43611259a428877380bb48a8ba1b77eeea4ca1c6ddd36a50cf3209\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07" + ] + } + ] + } + ] + }, + "job_tonemap_a_rendition_missing": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7211\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:272d5115a5dc622c4eefb1f92f296834ac274a46fad0faddc4d326d5e14fbf13\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7211\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"ccfc232bbf310fa94f8d2e371872da5f657cc1e4a0b5f53eca6d6152c773c912\",\"sig\":\"05ba9cabd4d035acd9250ab99ffef12e7abbd16d67479c6c21dee714d63e8ff165e56154578ad13315bbc7ccff50cd429b29fd053b442f00ee1581f617cd380b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:272d5115a5dc622c4eefb1f92f296834ac274a46fad0faddc4d326d5e14fbf13\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:da40af0697055516ecb89a3df376da98921c5b0e29f3642372c55498969dbfdb\"],\"output\":\"b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:3bb45968966c3edac7d801a475acd76e0e1636050c4eb92a9207b5ab736c0f5a\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"51bfb28f2cf018f52c1c3e76806a7b70342340a9c8063b9edfb17652229559fe7e6214ebf115d547e1ee2d1e821a192ec3700db9ad74ea3a6692cd30be7e7b09\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07" + ] + } + ] + } + ] + }, + "job_tonemap_another_envelope": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7212\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:d16b14a729de7c8947e2523879ea66f825a365953d0f8afc283eaffcf418663c\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7212\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"2b5ef5b5da71fba3e7b3eaf6d60b64c949956d5377ff76b293b43db99d9b9653\",\"sig\":\"8c7042ae6cd85f2c0961cff03b3dd761a1d18993299eb37910c5a8dc5106b43c1a87f49ba45ba183420f1faf4cf93645d00c77e68e47eadbd0fed1f7f69a4d05\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:d16b14a729de7c8947e2523879ea66f825a365953d0f8afc283eaffcf418663c\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:453adfed80f675a7f63afcdda0d7de4cf0149aa7964927d6e06798ffe22e759e\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:40782d9176597dca722ba2f4c6b8ebbfad1ec54126cd949efe00554805d7e21a\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"c4f5fe01d5e78155b76925ddc446b7c106ccb82919a6e011409c6e3d0f422e50ef8df043e36f792405773aba9bb6a65d4d5d19ec2a98ed59846ba6714108190a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2231306534313932663665313630343136376137313031653064343338616538383138363063366266633463373861366264346632386661303064343363323965227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d0200000000006c0000006c0000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000003349444154780163f4f55dc4cef09f9d81194cfe06932036636bd82a2005e1a048ec8d9f04a4201c1489af19b3801484832c010041171b23b645fc3f0000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + } + ] + } + ] + }, + "job_tonemap_in_an_encodes_form": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7220\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"9489bec83829fd0e694a10ff891e61445848a0888f44c486d2961703eae3d3ea\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:73b34d87a007c1ea0b75bbf64dea1bd5209c697001a37b273fd337208697f214\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7220\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"98eaeb6bc43a872400624578b1a454be9472ce56d923cbe5733464d00a4dc0f7\",\"sig\":\"c3449e58b8ca01a7d57b2029e28994995c0148fdf0816573f9d9c176f2670b2bc66f909f667245d11a1a5e684e9dd8929a606a13705038358358dd91f6bba90a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:73b34d87a007c1ea0b75bbf64dea1bd5209c697001a37b273fd337208697f214\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:309ba8ec60337f1ad984dbfdd467646ee349381ad6e971a86b82fb75f3bf8e13\"],\"output\":\"9489bec83829fd0e694a10ff891e61445848a0888f44c486d2961703eae3d3ea\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:7d1f0b92abb5419b08cc7a9930dde3ed55c83fb6304384b2abdaf16e9a1f8015\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"036a994de7b89659684272b6c6d4f42bfccbf51c9903de39f623c2da2917e38a9ea20a284da26a8548382c82961265df94951fdc5a9cd107531c473d0417c30d\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_tonemap_one_output_twice": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7216\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:57a0d3b60895c99cb0f211dc85b2c0cf3f9938290de82b0ecd5743667ef5376b\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7216\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"1d90669540cdc3a2cd050cdb7c568265681edf1f31ba9fb2e3edb622981ebd27\",\"sig\":\"114248f2c8ee3d5f39ee26032314a6e311dd8667eaefb218df03cf5fd025782efcf8707197e3d86af227008149e73399b5c759373ab82383d59c97e03565e90c\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:57a0d3b60895c99cb0f211dc85b2c0cf3f9938290de82b0ecd5743667ef5376b\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:e6cde91ae81c94c0d1ef27c19e88bc92daafc99dedd02f2ad3811f1c7c69faf3\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:6881387b257c0a9eb527ba91a9c5149721e57bce82919e4a0fefcde565ab5c06\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"8519b2f5bf84d818f8c5b13a0b59b8f21c4a712b8e85a57f4a5f2375e56a31c41adf94560c12b0e01fc31e2135ef61bc61007c7ddb8337d5aba6510708371801\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + } + ] + }, + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + } + ] + } + ] + }, + "job_tonemap_proofs_under_a_list": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7219\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"outputs\":[\"d68cc625a6254f68a5ac99f88e96ade393235b718dc6eaf3a396f5e37f3a390b\",\"b49bfff9582bfb42b80c2314a2890ac824b36f232605b1eb2b3ab9167b308af0\",\"ab4c667b3ded105b5a8125593956daa9d48384e0fe8e83631efb8e213babfedc\"],\"receipt\":\"sha256:f75f21c3a7cfea09aa89a1de0e7dfa1c63b43d6626a67f93f22a06d225d86f1d\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7219\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"5c1f911c18eb206afeeb1788c1cb85c448c5c481d9e15a18d07aaead9d8d67cb\",\"sig\":\"69d3fb934b3d23baae92fadaa8aabe39f1f3b937ff07a19e89ef024202e19b8da3578e94b61505574201b318f276e0c8b7f081e923c9c42c92077c281925660e\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":2}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:f75f21c3a7cfea09aa89a1de0e7dfa1c63b43d6626a67f93f22a06d225d86f1d\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:e139b922976f80aa7151dab0d25f3940b9e83cbaeaaededb71215220de783f1a\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:4f2c69b1ab7f77f108d137dce44015a56b7a95c91960d690668b690db84de542\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"c4f6baafcde51a894474136388a96de619a62af7bf9ff925e4b65be65b9348f13ceae42536ff6be2aadb531955bdfe3f52e7128a0cc79bb20bd6f0717a76d408\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ], + "proofs": [ + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + } + ] + } + ] + }, + "job_tonemap_renditions_out_of_order": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7213\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:bef80076bd3c563105c4087626cdd946a153ddbdb44ce56041c32e3cf716e142\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7213\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"aaccbd845cfc221e04641afdbeb133e09e0f25a28a2a504feccff303d78bd836\",\"sig\":\"8e065d60cb49836b0ab85c1ac76abcc0725342cd360f6ba489f5fc9fdcb9ead7e757e9e512d6d43ab338a0a97b709cdd7a26538563cb18add34850bd84df120a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:bef80076bd3c563105c4087626cdd946a153ddbdb44ce56041c32e3cf716e142\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:e0e7855ecbab228fbf35fcecdcc4a0a643346c4787fcfca2afc254248e8385c5\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:435b0bfe32e0aa8a5bc7d33d2a2b855aee86013eefcf8ad914f6ad5de5e8c3b4\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"deafa7619331c2ec6b0961f6accbb53273e10f777c493121c501a7bfa483cedfe2927db2d372fc098fc2917451de291541cf8462461eccce8c91b24ed928dc08\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05" + ], + "proofs": [ + { + "index": 2, + "siblings": [ + "d51b2f554cc2652f2d1fc92c8e28092633a69450ee61820006fd3a1814efd7c5", + "b20f807ea94a8a26b088cb565e187f5d5d66352e2f75c1a28dd3d6365c675bd7" + ] + }, + { + "index": 1, + "siblings": [ + "abb118ec7b90a829bc07f96a1171a8a72853a1d6248e749053417c432521fd07", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + }, + { + "index": 0, + "siblings": [ + "ed70a0265491283b2a31997a62539270e31f10886627aeb9ff5ee3c5ed5d9060", + "52436657967f9ac89c94785551a74d56922de058b846cdca8ff8c89bf1a9b289" + ] + } + ] + } + ] + }, + "job_tonemap_two_pictures_of_one_rendering": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7203\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"2102bb29a11dc62ef47521f90585d0094b7ac01c755219b145acaa96bf156c45\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:d065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7203\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"7828cd4a55f75761a78381544e5192d9c5c2208cc29338d6b2c7a162176607ef\",\"sig\":\"b600ed9503dd4fba3fff19cb5cca8a42786d752a2497eb4dd498bc5cfa0f0f942714a948f5cd814d48b4e5b0b9f176aa74c53e4c5374dc5fc9e5b5d6ff2e210e\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:d065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:a5e57fdc3bef47731f40fda2b9ae62dd8504064f113db810925b486bb11b70a0\"],\"output\":\"2102bb29a11dc62ef47521f90585d0094b7ac01c755219b145acaa96bf156c45\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:2d97ea7748bc065aca3283b060b676fc896583e52836d4a543b914e249aa8f99\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"78dee09f72340f01e03d4afecbf41349642ba7d76aa73893e28acc2ab0a6851b5d8750d94a8a67cd738201fb7ceb332c4102ee460eae2eee1ba43e199445b000\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"8f2aeba1474cde21760a4e15efe1bff162f907d757461f9fa846ed25b4c90e61\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"1cddea66e6b668705747666d60531942299b3ae5fb530f4718eaa10205ff9254\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"8f2aeba1474cde21760a4e15efe1bff162f907d757461f9fa846ed25b4c90e61\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"2ea9ab9198d1638007400cd2c3bef1cc745b864b76011a0e1bc52180ac6452d4\",\"output\":\"5d89f056865052bcb89c910d2d62872e029fb273c3db03f8968a52a41593c1b5\"},{\"frame\":0,\"headroom\":20000,\"input\":\"2ea9ab9198d1638007400cd2c3bef1cc745b864b76011a0e1bc52180ac6452d4\",\"output\":\"5d89f056865052bcb89c910d2d62872e029fb273c3db03f8968a52a41593c1b5\"}],\"sig\":\"1af6ed42fa99356446f1898cd545034be9426d925a88b0622c9e2dedf52811515317a59fcfef789d3bf04502cb7c6edb132192f957c9a2c59f77c8a7a11caa05\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2236336432646333653939666561633134316432633331353632666462646562386631343137333731393435326432613139643334656137363864636536313530227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2231636464656136366536623636383730353734373636366436303533313934323239396233616535666235333066343731386561613130323035666639323534222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000047000000470000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000000e4944415478016364c001a8280100015e0005bbdffea00000000049454e44ae42608257474d3101003d000000000040000000000000000100000001000100000000000000010000000000010001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364600000000600029770a4910000000049454e44ae426082", + "renditions": [ + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "proofs": [ + { + "index": 0, + "siblings": [] + }, + { + "index": 0, + "siblings": [] + } + ] + } + ] + }, + "job_tonemap_under_a_list": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7202\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"outputs\":[\"d68cc625a6254f68a5ac99f88e96ade393235b718dc6eaf3a396f5e37f3a390b\",\"b49bfff9582bfb42b80c2314a2890ac824b36f232605b1eb2b3ab9167b308af0\",\"ab4c667b3ded105b5a8125593956daa9d48384e0fe8e83631efb8e213babfedc\"],\"receipt\":\"sha256:5ba1661c9ad6106a9e1873730d5e5f9f1220cdf4950854311363518f01456d02\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7202\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"07e62a71ae7966d9cfac3d8bb2c1a70bed4c0d20e8258691fce5077ffe429857\",\"sig\":\"8f234ee866aae0ab227ca201e3cb424116bfcd5035ec880a700bd80cb47a8f43f6ca27f385342c6ca628f2f17e1afeba743173b6dacfa4dcd6a9dd7632612606\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":2}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:5ba1661c9ad6106a9e1873730d5e5f9f1220cdf4950854311363518f01456d02\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:7896eccc6f37843128d348fd1c0256f34fe2945d16850346ee307fc31ef4d779\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:100e3ddb7c2a00b74a0d90ea77da046e1084d87dd219071db12b79fafe114ee5\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"84dd05740d6397746b2b1ef62fa36bc309b16b57bf8e713e450b0e67f4a98818b5ef50b8782bbf2681ed799989a4befdc705a378c0e689957db878a420d4440a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ] + } + ] + }, + "job_tonemap_without_its_proofs": { + "kind": "job", + "request": "{\"capability\":\"wai.media.tonemap\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7218\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.tonemap\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.tonemap\",\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":3,\"root\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"end\":1793000004000000,\"endpoint\":\"tm.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:43ef00551628b1bdac605d2edda387963992fff9083d61f307d4802841fbc296\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.tonemap\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"tm.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.tonemap\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.tonemap\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7218\",\"kind\":\"wai-route-record\",\"operation\":\"media.tonemap\",\"order\":[\"tm.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"eb6c04cd160ccd782b2a774709b41b0a86ef3736f760808abbbe8b837c9ff3df\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"93f09b44ed8024d98ff1e34aedc87e57ec4c89cde417e510527c3ef1048b44c0\",\"sig\":\"025c0f1be432c7a1caf74bb1f11a9add6f22d7aff4aaa6ec3bc5df990c54bc949b6660c0c81244722f899a7f310470c8f2ef4dab8793592182ad6d7b7b7a9700\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:43ef00551628b1bdac605d2edda387963992fff9083d61f307d4802841fbc296\",\"kind\":\"job\",\"capability\":\"oer.job.media.tonemap\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:e3a0e1520b157e045303026cb95759cd62635b586d7e3c37070da627e35817c8\"],\"output\":\"c3dd4f13b4832fafa99aef803b2a72ec6800f743c5bcaa10f7019120aa59f56c\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"2.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"2.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"tm.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:37f0ecc2dba27c5f88b907470f784d44e0f0464b694bf26ec31b8284c1a1f7d2\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"1818078ca547e49200943300be74a171747984db4bda3b6b0a7999a3e58d61051b573ede7cd225f7b6eb001920c40bbff875bc93480ddf87dcf5fd67de7c2b09\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "tonemap": "{\"base\":{\"height\":4,\"object\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"rendition\":0,\"width\":8},\"class\":\"reconstructed\",\"companion\":{\"index\":1,\"sha256\":\"4822e24de2c40e28e7022e794b43e5a82e11e85c1c5363382815422efa8f9a08\"},\"derivation\":\"wai-tonemap:gainmap\",\"inputs\":[{\"class\":\"captured\",\"content_hash\":\"b9a076f1eccf0cbaabf073f9d1981526167bbf9f810038530103649e620403ff\",\"origin\":null}],\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-tonemap\",\"pictures\":[{\"frame\":0,\"headroom\":10000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"a0bd97299bec4e4f888f15a868b71c094c4da3bc409c7aa077bb6046c8e3dc5b\"},{\"frame\":0,\"headroom\":20000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"f08f2e2083f8139605073a1357ddfdcf61f2ac1924a98ac8797faa9cb0ec0ba8\"},{\"frame\":0,\"headroom\":40000,\"input\":\"60179b8b8319c27852f570dda7f9bc8176818f1ee5aac91c21f523c876a2fb3f\",\"output\":\"dac1e539b43df62e9896413f60220c50a08b82fa59d377614e2dc86a1c2e5df1\"}],\"sig\":\"3d46c1d4cf460aec275538be061da9efcb79376991c2034471a05b19f301ffdc3768c589abc0d899d8be7dc9b12d7e8290205d130befd56158323f15f3a8c30a\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\"}", + "envelope": "57414932af0100007b22776169223a22312e31222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c2272656e646974696f6e73223a5b7b226361706162696c697479223a227761692e696d6167652e706e67222c226b696e64223a22706e67222c226964223a2262617365222c22736861323536223a2239633264613364636239666132303661316461353762633563323534643830306134633161653730303361626465613333393665366164666162333038633739227d2c7b226361706162696c697479223a227761692e6d6574612e6761696e6d6170222c226b696e64223a2264657363726970746f72222c226964223a226761696e6d6170222c22736861323536223a2234383232653234646532633430653238653730323265373934623433653561383265313165383563316335333633333832383135343232656661386639613038222c22726f6c65223a22636f6d70616e696f6e222c22636f6d70616e696f6e5f6f66223a227761692e696d6167652e706e67222c22636f6d70616e696f6e5f6f665f6964223a2262617365227d5d2c22746172676574223a6e756c6c7d02000000000088000000880000008900000089504e470d0a1a0a0000000d49484452000000080000000408020000003cafe9a70000004f494441547801639cb7fe220312d0551636d1953e73f929e3e4a5c7817c085094e4f576d406328080b175fa2e2005077646b236661a474edd60dc161a0ae4cf8f02120c0ccbd27b9a4e026957ff8500af741458a1ec50240000000049454e44ae42608257474d3101003d0000000000400000000000000001000295c00001000000009ca2000100000001fa090001000000000001000000010000000100000040000000010000004089504e470d0a1a0a0000000d4948445200000002000000010800000000d14920560000000b4944415478016364f80f000105010180e997d80000000049454e44ae426082", + "renditions": [ + "ed3303418560ed3303418560733626442265db3bdf4a036fc9413c52d779507d23876ca2dedadedadeda46838e8d1eaa5d2c1b397e565d2c1b397e56882edf3ba35a2f33cd4183637d579562c87dfed0fed0fed0dedadedadedadedadedadedabb23082f6a4abb23082f6a4a80255431fe4d48293e36a7556e2da23b0d5e9e72977a6c8ededadedadeda14786b802e95e8460f0e0f0ee8460f0e0f0ecf0e2644cf0e6b10df4a6b102f122f124d60ab9d6c8ef93124a52e9568349d059d059d05", + "c51e7b260b39c51e7b260b39d021432a9b3ece28f332604b3331623db65a51664a6e6f84a1baa1baa1ba3870f4783891501ad2212333501ad2212333ee1c28252138f122d22c9a4346417d49a15d39aa39aa39aaa1baa1baa1baa1baa1baa1ba3b15e31b052c3b15e31b052c5c17a71e5530401c03253d3a2022a52c2246a35d1b643374a1baa1baa1bab566cb6d6e7ff42976087608f429760876085e09432a5e09730bf332730bf30df30dcc47938033742d29fd8c6e7f382d780578057805", + "7e089d0ab90f7e089d0ab90f9709fa0bba11370c3e0f86168b0f60139a1c0a22af24082cb53fb53fb53f58265229973144075509190e44075509190e3608890ae60f780a6a0d351499142f17851d933893389338b53fb53fb53fb53fb53fb53fde05b307230cde05b307230ca306b208b10d7908160b6a11cd0a1c0e2016281f4e21a526b53fb53fb53f1a238425872b920b5a025a02920b5a025a02ae02fa0bae0276033e0f760374047404a616c02aa526bf0d2630872b810ff401f401f401" + ] + } + ] + }, + "job_tp_a_unit_no_price_names": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7006\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"frames\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"frames\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"85f6b9b1be6a91c70c5cdcb95bc75101bbc3c7be47d978d43dd15c14f59b7ae2\"},\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a8689\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"frames\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7006\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"b08a1055440160f1a2ee22859d8bd8214df70ab436013685171fc133ca95cfed\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"frames\"}],\"request\":\"9f62069140b2b437caad3795ca3def2d513318ec91e387e6e1d9e02477ab7bfb\",\"sig\":\"920433ea9e5b7bcd40f6bef716b30b4a2dd97cb587092e3b5f72faf591f1ca018a2d6c26bd1d799a78196f6eee4313b7af55b6e0ffb7d1be12b134bdbbb11205\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a8689\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:93b48980b3907834caaea9a3c16edf16e3b2c90150698b0fad0575a154265ee8\"],\"output\":\"85f6b9b1be6a91c70c5cdcb95bc75101bbc3c7be47d978d43dd15c14f59b7ae2\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:74dc512467a90a1e60dd796926836ede32d0bbb910f008df566c724ca740446b\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"61ef377fdce5d32811cf7b4cedeb8017227e12ca55a2d5fd5cdf1fb44b6e50655c6069e60b5d6e6b7aeaaed248c9c2fe52da939908cd1394eb05d2cc0406d00c\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [], + "third_party": [ + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"exchanges\":[{\"end\":1793000000101000,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000000001000,\"status\":200,\"url\":\"https://api.provider.example/v1/jobs\"},{\"end\":1793000000201000,\"json\":null,\"method\":\"GET\",\"received\":{\"bytes\":22,\"sha256\":\"4e9addbd6a8524f62331a7305ea46f237a6f19f76933a8b135d28a7220fa1a20\"},\"sent\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"start\":1793000000101000,\"status\":200,\"url\":\"https://cdn.provider.example/outputs/task-1\"}],\"hop\":1,\"job\":\"job-7006\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"served\",\"outputs\":[[\"output-0.bin\",\"85f6b9b1be6a91c70c5cdcb95bc75101bbc3c7be47d978d43dd15c14f59b7ae2\"]],\"provider\":\"prov-alpha\",\"provider_job\":null,\"receipt\":\"sha256:2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a8689\",\"sig\":\"233fa1ba321b013cb2bfb9a8a137564a8b16ac7d3277504f84c86b21b1db727bfb41ffa47402c9508f6dd595fb8b927cac1407029298d4f439b414b778990d0c\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000000001000,\"usage\":{\"quantity\":240,\"source\":\"the response's usage\",\"unit\":\"frames\"},\"version\":1}" + ] + }, + "job_tp_alpha": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"91576e82524afc236566bb08808a121ec9bfdcc6dad8cb50b5c4a36bd8d711e0\"},\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7001\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"9e09e0eb0ee6b179f72939fdceb7c6a319002e3866c4e36c13d7b83f827672a1\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}],\"request\":\"bb80877c0da05496dfee2a38c14381d6423637351f08e787ecd55ca3125453e6\",\"sig\":\"a643732d170d7cf612c28b9163b2a632c754fb9475bd9bff35ac9bdf352a4900826e0e5b4558eb591544a9c3f3ffd9b15cdc0bb8cde198ab8a05db0a3a1aab0f\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:509bc35efbbf99df1e8dec91cfd6f4a8692352c5bb7006e2cc4f4090aa79687a\"],\"output\":\"91576e82524afc236566bb08808a121ec9bfdcc6dad8cb50b5c4a36bd8d711e0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:e71d8d159fafd4655e29c15c3e0f8d25ad5734c301d51a6854f04a4be04c454c\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"f50fce04d4f5511ea6895082b266cf81314cd9af61f8b6211b89c5c00078948559c3118dedafa918fb257cd89110a2723249cbf0f7f1e03202f578291bccdd01\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [], + "third_party": [ + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"exchanges\":[{\"end\":1793000000101000,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000000001000,\"status\":200,\"url\":\"https://api.provider.example/v1/jobs\"},{\"end\":1793000000201000,\"json\":null,\"method\":\"GET\",\"received\":{\"bytes\":22,\"sha256\":\"4e9addbd6a8524f62331a7305ea46f237a6f19f76933a8b135d28a7220fa1a20\"},\"sent\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"start\":1793000000101000,\"status\":200,\"url\":\"https://cdn.provider.example/outputs/task-1\"}],\"hop\":1,\"job\":\"job-7001\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"served\",\"outputs\":[[\"output-0.bin\",\"91576e82524afc236566bb08808a121ec9bfdcc6dad8cb50b5c4a36bd8d711e0\"]],\"provider\":\"prov-alpha\",\"provider_job\":null,\"receipt\":\"sha256:b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665\",\"sig\":\"cb88f6f9b49fc58db441cdf8007d6f1d721549319c1082d388c6050355409aacaacfa641edcc8c2d458b3993235b4973b781262bbdcf3ad432942e2f8354c005\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000000001000,\"usage\":{\"quantity\":8,\"source\":\"the response's usage\",\"unit\":\"seconds\"},\"version\":1}" + ] + }, + "job_tp_another_jobs_record": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7001\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"91576e82524afc236566bb08808a121ec9bfdcc6dad8cb50b5c4a36bd8d711e0\"},\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7001\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"9e09e0eb0ee6b179f72939fdceb7c6a319002e3866c4e36c13d7b83f827672a1\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}],\"request\":\"bb80877c0da05496dfee2a38c14381d6423637351f08e787ecd55ca3125453e6\",\"sig\":\"a643732d170d7cf612c28b9163b2a632c754fb9475bd9bff35ac9bdf352a4900826e0e5b4558eb591544a9c3f3ffd9b15cdc0bb8cde198ab8a05db0a3a1aab0f\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:509bc35efbbf99df1e8dec91cfd6f4a8692352c5bb7006e2cc4f4090aa79687a\"],\"output\":\"91576e82524afc236566bb08808a121ec9bfdcc6dad8cb50b5c4a36bd8d711e0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:e71d8d159fafd4655e29c15c3e0f8d25ad5734c301d51a6854f04a4be04c454c\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"f50fce04d4f5511ea6895082b266cf81314cd9af61f8b6211b89c5c00078948559c3118dedafa918fb257cd89110a2723249cbf0f7f1e03202f578291bccdd01\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [], + "third_party": [ + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000004000000,\"endpoint\":\"gen.beta\",\"error\":null,\"exchanges\":[{\"end\":1793000000101000,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000000001000,\"status\":200,\"url\":\"https://api.provider.example/v1/jobs\"},{\"end\":1793000000201000,\"json\":null,\"method\":\"GET\",\"received\":{\"bytes\":22,\"sha256\":\"4e9addbd6a8524f62331a7305ea46f237a6f19f76933a8b135d28a7220fa1a20\"},\"sent\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"start\":1793000000101000,\"status\":200,\"url\":\"https://cdn.provider.example/outputs/task-1\"}],\"hop\":1,\"job\":\"job-7002\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"served\",\"outputs\":[[\"output-0.bin\",\"55f096711487fbaa1dcef5eb0bbf90e1fe5464408ba9b38ad9ca99396ed9c328\"]],\"provider\":\"prov-beta\",\"provider_job\":null,\"receipt\":\"sha256:4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef05\",\"sig\":\"6ca44de371071f97dbddd439da6e63192e42a1edaafebd655d9b60059e37fd3d2eb90da50a4c7784f0cadc723a1bdc746b02d38173c4b98bbf8373545997a505\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000000001000,\"usage\":{\"quantity\":3,\"source\":\"the response's usage\",\"unit\":\"seconds\"},\"version\":1}" + ] + }, + "job_tp_beta": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7002\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.beta\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"55f096711487fbaa1dcef5eb0bbf90e1fe5464408ba9b38ad9ca99396ed9c328\"},\"end\":1793000004000000,\"endpoint\":\"gen.beta\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef05\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.beta\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7002\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.beta\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1c1cb54ad273c69d9cb0f16cfda4333c90b107c746ec7ad0805c193ba6fe6be3\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}],\"request\":\"f33dab48f1c3403703edc4987fad80a8bf1727ac720e9c120b5fce3f867d7dfe\",\"sig\":\"96b30c5b1b5a22edd12948db32db568e635bad19eb1ddfb6b0017017597553115c28e4e7a302092fb50059ad0b7a03ce24221e8ac3a2a2d5f669e14050cbcc08\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef05\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:8358e1f92593c057118ca87e62289956641abebce8a7f651b27a6cddafa5f01f\"],\"output\":\"55f096711487fbaa1dcef5eb0bbf90e1fe5464408ba9b38ad9ca99396ed9c328\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.beta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:e0e35bdaa4f5d59c8837496538df12330974fc307d4a2f2f1f7f1ec96fe697b5\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e80314e1f0e61c5fe8c434510a58ac76f77c27650e2a554e707fc9da609695233dad4bf96612aa7a55aa719786675b6e949b239002dd815444c8bc8301c56e07\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [], + "third_party": [ + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000004000000,\"endpoint\":\"gen.beta\",\"error\":null,\"exchanges\":[{\"end\":1793000000101000,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000000001000,\"status\":200,\"url\":\"https://api.provider.example/v1/jobs\"},{\"end\":1793000000201000,\"json\":null,\"method\":\"GET\",\"received\":{\"bytes\":22,\"sha256\":\"4e9addbd6a8524f62331a7305ea46f237a6f19f76933a8b135d28a7220fa1a20\"},\"sent\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"start\":1793000000101000,\"status\":200,\"url\":\"https://cdn.provider.example/outputs/task-1\"}],\"hop\":1,\"job\":\"job-7002\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"served\",\"outputs\":[[\"output-0.bin\",\"55f096711487fbaa1dcef5eb0bbf90e1fe5464408ba9b38ad9ca99396ed9c328\"]],\"provider\":\"prov-beta\",\"provider_job\":null,\"receipt\":\"sha256:4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef05\",\"sig\":\"6ca44de371071f97dbddd439da6e63192e42a1edaafebd655d9b60059e37fd3d2eb90da50a4c7784f0cadc723a1bdc746b02d38173c4b98bbf8373545997a505\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000000001000,\"usage\":{\"quantity\":3,\"source\":\"the response's usage\",\"unit\":\"seconds\"},\"version\":1}" + ] + }, + "job_tp_failover": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7003\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\"},{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.beta\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-beta\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":false,\"delivered\":{\"count\":0,\"root\":\"0000000000000000000000000000000000000000000000000000000000000000\"},\"end\":1793000002000000,\"endpoint\":\"gen.alpha\",\"error\":\"server_error\",\"hop\":1,\"not_billed\":\"failed\",\"outcome\":\"failed\",\"receipt\":\"sha256:2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa\",\"start\":1793000000001000},{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"1fe003b59e892ab45cd191415463df03fbb7615386036c93b808b7a2f4321f35\"},\"end\":1793000009000000,\"endpoint\":\"gen.beta\",\"error\":null,\"hop\":2,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff61\",\"start\":1793000002000100}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\",\"via_fallback\":false},{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.beta\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-beta\",\"quality\":950,\"rank\":2,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"endpoint\",\"runner_up\":\"gen.beta\"},\"fallback\":null,\"job\":\"job-7003\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.alpha\",\"gen.beta\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"35b8584e67ff53ab61d2bc7c8000c7bee1465f84bca57e174f7fac38513865d7\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}],\"request\":\"1c91d0fef6395d6bcfea33949027b3917a13fb006702220a665adff1b2ec92c8\",\"sig\":\"a3a23f379969d01e3a423863fa88e118a328c97d6196821dd1a8ee4feb1d6a59e02242b5aad6e9124109961a785b0c7fa6e13a386fa6bbfac7e53bc351265f0d\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6cd53f8d9e765a6f47796093bccfb85b4bdfbc036f32b7936f95c14bdfc92bcf\"],\"output\":\"\"},\"work\":{\"status\":-1,\"outcome\":\"failed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:b5908955675d08f41c28513be375d48aba244185415b4dce7e20c497149d93e1\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"2590b2fe04d896a797a57b51df61daec87218a10d3cdd959a270e9f5b6775cb1dfc6cc3172e3c0b814c4e2d6639ebafdd9781d399625b513df9f0fe42f291d0b\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}", + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff61\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:db62cc61c39fa497a094f3b6d8a01f2fb8b9ca64b19c9247d82a4db908368965\"],\"output\":\"1fe003b59e892ab45cd191415463df03fbb7615386036c93b808b7a2f4321f35\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.beta\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:16c12535e4dfc9f04dd37523c4db3056f519a44cedc1f439ddb02dc5ef0927f8\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"80cdf937d34bc711af541e47a15218bc6483dc26c7638c984584f55dc2e490bc76d86443a55c1791b2722635083040582fdf652ef0e9a50e1fa036138eed080a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [], + "third_party": [ + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000002000000,\"endpoint\":\"gen.alpha\",\"error\":{\"class\":\"server_error\",\"code\":\"503\"},\"exchanges\":[{\"end\":1793000000101000,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000000001000,\"status\":503,\"url\":\"https://api.provider.example/v1/jobs\"}],\"hop\":1,\"job\":\"job-7003\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"failed\",\"outputs\":[],\"provider\":\"prov-alpha\",\"provider_job\":null,\"receipt\":\"sha256:2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa\",\"sig\":\"ea352b1d2f015c3145608f7d05290909b678a0a44b2fd5fcf4210d324961d26ae7cb41c144bd7f7352f3e04f140ab38a7cef8bfcb94775e0e1696e074759f209\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000000001000,\"usage\":{\"quantity\":1,\"source\":\"the response's usage\",\"unit\":\"seconds\"},\"version\":1}", + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000009000000,\"endpoint\":\"gen.beta\",\"error\":null,\"exchanges\":[{\"end\":1793000002100100,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000002000100,\"status\":200,\"url\":\"https://api.provider.example/v1/jobs\"},{\"end\":1793000002200100,\"json\":null,\"method\":\"GET\",\"received\":{\"bytes\":22,\"sha256\":\"4e9addbd6a8524f62331a7305ea46f237a6f19f76933a8b135d28a7220fa1a20\"},\"sent\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"start\":1793000002100100,\"status\":200,\"url\":\"https://cdn.provider.example/outputs/task-1\"}],\"hop\":2,\"job\":\"job-7003\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"served\",\"outputs\":[[\"output-0.bin\",\"1fe003b59e892ab45cd191415463df03fbb7615386036c93b808b7a2f4321f35\"]],\"provider\":\"prov-beta\",\"provider_job\":null,\"receipt\":\"sha256:95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff61\",\"sig\":\"4d110c9c6a79e7e7514e15fa7ee84d8a1235e77ba10ef7384a604f82f2c363967570062336b16f2c74237953d430f5e6d02f3bfa93b7c5bd2a006d219587710b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000002000100,\"usage\":{\"quantity\":5,\"source\":\"the response's usage\",\"unit\":\"seconds\"},\"version\":1}" + ] + }, + "job_tp_images": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7005\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"images\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"images\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"7c434a9c5a0cfc5bfaa6d7a5e19cb757e19ef077bb2274a948f1262fc12f8b56\"},\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:e8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b24353\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"images\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7005\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"7897889bd89d4312f356573cfbbd7dc5b969ed99a7cab6cd5694382f0fc3715a\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"images\"}],\"request\":\"b3cd69ba98a8370be3873d7054111fcddb2dfa5cd4c4d7d69dce6bb87d09d8d4\",\"sig\":\"7b7bc170860d8c576e0c9704e4aa0224a05c68a60e80c1f8d16f52aac10438eb0078858463fab021dd795473187d25b70350ae884fa5df7273a5ef80daf68209\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:e8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b24353\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:50e2ef48054a962953c558e4623dbd247833448ddc1f05d9793911ec3993ec77\"],\"output\":\"7c434a9c5a0cfc5bfaa6d7a5e19cb757e19ef077bb2274a948f1262fc12f8b56\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:fdfec7578524d0c1192ec0e65ced93aa4357c9f96d7728cdec4a67a51c05d3eb\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"be6c5ed2201ba58cc6c58be11a9e80dadd66ae2830cce45e90ff19fc14e7ca1e991d8f6c0af825e7f4662ae006b7cbf67c4b099e32848032a911c6d550341702\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [], + "third_party": [ + "{\"account\":\"operator\",\"charge\":null,\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"exchanges\":[{\"end\":1793000000101000,\"json\":{\"id\":\"task-1\"},\"method\":\"POST\",\"received\":{\"bytes\":15,\"sha256\":\"beab373b6d8385d578369fa14568feb11fd350b26296c673bb82ee01c4e542e2\"},\"sent\":{\"bytes\":14,\"sha256\":\"732acbb3e402e912437dbe53442ca54368b45e73c284acbf4c0530fac53cca74\"},\"start\":1793000000001000,\"status\":200,\"url\":\"https://api.provider.example/v1/jobs\"},{\"end\":1793000000201000,\"json\":null,\"method\":\"GET\",\"received\":{\"bytes\":22,\"sha256\":\"4e9addbd6a8524f62331a7305ea46f237a6f19f76933a8b135d28a7220fa1a20\"},\"sent\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"start\":1793000000101000,\"status\":200,\"url\":\"https://cdn.provider.example/outputs/task-1\"}],\"hop\":1,\"job\":\"job-7005\",\"kind\":\"wai-route-third-party-hop\",\"origin\":\"https://api.provider.example\",\"outcome\":\"served\",\"outputs\":[[\"output-0.bin\",\"7c434a9c5a0cfc5bfaa6d7a5e19cb757e19ef077bb2274a948f1262fc12f8b56\"]],\"provider\":\"prov-alpha\",\"provider_job\":null,\"receipt\":\"sha256:e8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b24353\",\"sig\":\"83d9d96f0cbd0ff1560c9ded0a3d5ed665b740b9ff008e5e68124db932c33400baec7b4442950468337a10e725586c9dfc609384b5b6907ce4d3af97e603c306\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"start\":1793000000001000,\"usage\":{\"quantity\":2,\"source\":\"the response's usage\",\"unit\":\"images\"},\"version\":1}" + ] + }, + "job_tp_unrecorded": { + "kind": "job", + "request": "{\"capability\":\"wai.video.generate\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7004\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.generate\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.video.generate\",\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"517e877c63a14093ae127bfd6aef9ab93da8df639bcca1f971daac5e786eb458\"},\"end\":1793000004000000,\"endpoint\":\"gen.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add149442\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.video.generate\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"gen.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.generate\",\"price\":400000,\"provider\":\"prov-alpha\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"seconds\",\"via_fallback\":false}],\"capability\":\"wai.video.generate\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7004\",\"kind\":\"wai-route-record\",\"operation\":\"media.generate\",\"order\":[\"gen.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"9e09e0eb0ee6b179f72939fdceb7c6a319002e3866c4e36c13d7b83f827672a1\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"seconds\"}],\"request\":\"f91786398f6b92142aa21242ae919ffa344e739f06aded2e6f3c6286aa579dc6\",\"sig\":\"619e1dc1b0b82ee053aff9f4aa5ca52045edc142432ecb9c8a93093801af163feda8b56a9caba19cf5a13bb9edd4c262262044e64daecf08266d446322c05308\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add149442\",\"kind\":\"job\",\"capability\":\"oer.job.media.generate\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:be0200b0032848d0f99ac3f739a332e02c8dfee70dbf87c159ed1acc427abb16\"],\"output\":\"517e877c63a14093ae127bfd6aef9ab93da8df639bcca1f971daac5e786eb458\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":null,\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":null,\"movement_j\":null,\"idle_alloc_j\":null,\"shared_alloc_j\":null,\"upstream_j\":null},\"method\":\"unmetered\",\"temperature_k\":\"300\"},\"provenance\":{\"how\":\"projected\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"projected\",\"input\":\"gen.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:c76b2e32b41566bc368ea27d11434484a52216007d2da78b6c9f4b6ee0041507\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"ebf6719770a941f43cb92a8d38c0a8a5dc261d0de05d967c6af33b01b5f97d54036246c658d2cd4360715b4179418f612235152591dcea64106222bc91e5c80b\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [] + }, "job_unclassed": { "kind": "job", "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-0006\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[{\"divisor\":1,\"price\":150000000,\"unit\":\"seconds\"}],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", @@ -1286,6 +1990,473 @@ } ] }, + "job_upscale": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7101\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7101\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"da65d5ba7e61ce559b9f3145c92b4ac3aaee07160539c72bc5375047490e909b\",\"sig\":\"8d41d48657f5b36c7ab1c22b2cf51eaf60cc4f62d4e32316f647be6ddac30d39326c8b9abe0e5ee605a153bbb2cdedf37c1d16a1527dade6ac90b1f4f196a60b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:51be9677b74acbe763b5c3fd9796b0f7402e27122f1ff8e6c3f940545ff9edf6\"],\"output\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:568831f661ce6f87e944c171bc62211e4b1bb4e6ee9698f86d389783bcc1e09e\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"fade09a52e6625c02a9d667289cf5eae952df93da37944c7efb44c08ef51f370d0d17b27750f0234dc37b8069ff406e376e2f0f1100d82a5b2a6b4d2e30ff002\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [ + "175177c82309fb27f94cd0353b8b9816f5b39bcee4fdc04986bc8efc754faa9c" + ] + } + }, + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":3,\"samples\":\"33e14a3f9b23104884aebd4a82e3ecaded0cf1151d3c48f1903a8544224d283c\",\"width\":4},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"74daa686dee839453d714d95e3ee559fe58525ea0e9fd577d42c47cf6b055b40\",\"output\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"61c44624bdf0694c862f7da8fa483cabc28f3a66b8f763915f96c72bb4495dc52587eebb73a6eb8ffe67fe625819f0b21500bc0419e285f5a8f1c13b76693806\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d5a00000089504e470d0a1a0a0000000d49484452000000040000000308020000003b963991000000214944415478016394972f6167f8cfcec00c2419ad350a801494136e5803a4201c00a35408cfffda6c1e0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d4948445200000008000000060802000000716748ac000000a04944415478016354942dfac7c8ccc6fc9f8d9191f13fc3ffdf4c6c8cff59feff6754512cfafe83919bf92f1f07c35f26d6bfdf18d9fefce062616634d7cefbf995918de91f17e77f867fcc8cdf98d898feb2313131faea9630fc66f8cffc9f859d81e50f33cb4f1656e6ffcc4c7f19c30d6a58fefd6762fccfccccc4ccc0c40a9463facfc4f48731dca886f93f03d036164626164646967f8c4c0c40abff0100a1d230ae285e7e980000000049454e44ae426082", + "proof": { + "index": 1, + "siblings": [ + "a1f08e0743fcba6d0038d224bc565589dd3df79de89e518f548a2d78cba7e647" + ] + } + } + ] + }, + "job_upscale_a_picture_altered": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7110\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"8c2346539fb1bac056322d103986b3a0c4ee2b7a2cbeb41b917ab84836381f40\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:ee6d78897142acd0f9ca31bad5a182f37ec2ce1dac1c893988bf03119b807838\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7110\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"7098a6482f2e5265b91f828341913583de1f215f02839da827fb5502d43b6cf4\",\"sig\":\"cfab29748f72366520bd3c96a378aca23e0ef6bddd56e2e8ff2bc48a8ba1e9224a881f04eeb380c63975a6ec88a744eeaf91771257f7b009300012e049fd9101\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:ee6d78897142acd0f9ca31bad5a182f37ec2ce1dac1c893988bf03119b807838\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:47e42247ed7dfd58dd73555e54876dd3dcd8b62b300479e9fffc5afb964d200c\"],\"output\":\"8c2346539fb1bac056322d103986b3a0c4ee2b7a2cbeb41b917ab84836381f40\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:53f548a00d146e4751de80c151ba9a5cf8dbe75dfb21eb02fc2cf06867e8d3ab\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"f9e478b0e2d7564bb9c346998a90320999cfa5f884b5d7a1472ac0d02b8ebf299d8eeaaaeeb6257289cdbf729321b663c18ff411d899eba98002e83c2697bb0c\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012a49444154780163646208fdc7c0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37f4666867fac0ccc2c0c40eb80ecff0c8cff196b255c591818589981fc7fcc0c7f59408afeb33030835cfe9f8189e11f232303001a715d0dcdccf2b00000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_a_picture_its_hop_did_not_deliver": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7121\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"473ce897c1b1688d867965cf565a2111898a6029e4205413be611f2d61d2d279\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:b19d691841e03e1f42d765a78f9a390134602dd272436cfa91488d2fbfe663b6\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7121\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"c95933e3cc24deb0cb204de2a2f3abdd081494b50ab200183bca0e1674b7e3dd\",\"sig\":\"8b72f20e7945e0ca596a8c07c9a4195dd41c085dca4d95f2e2b4f149b249a1bd4803fa881b14cb875928c60bebb6a9be8217708cf8e3e8a7a00cbd89a7685303\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:b19d691841e03e1f42d765a78f9a390134602dd272436cfa91488d2fbfe663b6\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:77afca2ce3168b982b47e9a55ed26e45e2fbf9ba836fc0cb92ad76fbf758f23f\"],\"output\":\"473ce897c1b1688d867965cf565a2111898a6029e4205413be611f2d61d2d279\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:18dd6ab977a734260466ddae2f31f8ded0d883de90621d592c6acc3baabf55e2\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"bfd2bd342863dff190baf61a4a8f681ac7490bb8eec892bcb3d355dc227513cede7710c8b6ce9a396eba1694f7fc23cb4c02db532fecdbeb2b42531af2236409\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_a_picture_of_another_shape": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7111\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"c8ca9c0857d149af88f4ac941f44dfb13f29790f1158af7eaf23d0e6d1ee8a5b\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:97141f6886b7dc17ff52b3ae85a7f0fceea2bf406d2fd2e345bb0370b97a4640\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7111\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"93e1f3bc0433903b1274f80af2588093cb8d9868619d7d9ac3bcc4b79c6b614c\",\"sig\":\"f1c0e80f80b09435f244a7e1f38d70d355fa3258ec5e15bed9b233a012b1cb04c592c7a3bd006d562de0b4602355cfa601cac2d081c6356028d09e1733b07004\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:97141f6886b7dc17ff52b3ae85a7f0fceea2bf406d2fd2e345bb0370b97a4640\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:95c5c8da5e38a081ae126eb750e582f668a239f87c6450df0f791a7604762ad4\"],\"output\":\"c8ca9c0857d149af88f4ac941f44dfb13f29790f1158af7eaf23d0e6d1ee8a5b\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:f216719325edb0b92a46c2c1308e273789fe51bac9b73cff4e0a855d5c9278dd\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"8920035f768a0a2489f8256544fe5c98a0513792c680c1895f0d75a8c66eb9488dfa324671e90969c73a5729c9d41994b9244e5e1cecd29fef1c1217a26b1f06\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d49484452000000080000000c0802000000d0fc6bca0000013249444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ff334a32f9fefbf79f9581898381f10923d38fff0c6c0c7f05399818c53843187eb03133025531b230fdfff3fb1f1bc36f7e066646353eff9fdf18d919ff71723332fc6567fcc1c1ccf8878d9199d19a3d91f10f03dbbfbf9c8ccc3f84befcffcaf49fe91f131703a3ab600cf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b54c5f49785f13713131303f3ffdf8c8982fe9c7fbeb133fe67f9fbef03af10e3d7bfecacff983819188b24fc58fe323231025dfc9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa097ffb1029d3b53da89ed1f90f39f81f1ffed7f2c2c0c0caccc40ee3fc61e69471690aaff2c0ccccc4c0c2cff199880a28c0c0025215dccb73e776b0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_a_picture_that_does_not_read": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7112\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5170ba19f23ca074cd733c405a5f6df4fc6807b72177f27aac6d0816dadf3cc6\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:69d7c30b35168b25dbd9819722d77287d8acd1c98c26475325abc117221a5be8\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7112\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"45b98a9ee847bd027b7c8500a346abaac6e1deb5ae04b086936686872e7705bf\",\"sig\":\"fe0d196a04c6e4040f29008a8b3d71acf38cc826812ca6413d0ac5a0c888c3fa55af43ee1f92ba87fa821f15cb08a40730db2bd2e9b7fa31572690d35be7bd0c\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:69d7c30b35168b25dbd9819722d77287d8acd1c98c26475325abc117221a5be8\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:a10273ccac41602a012c7d714dae1a27d01ddd99596da5be426f53bf12d0c1db\"],\"output\":\"5170ba19f23ca074cd733c405a5f6df4fc6807b72177f27aac6d0816dadf3cc6\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:c5fb22822073412e4d247e7f3a0de70088df8c94f04eed0e34fa55f4b96af38d\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"0fe129bc9a3ae3c088efc4b6d8898d30aedef6881ece8d9b04f408325e781382df2d25bbee1cef932b56ee610c4dc34094e60a6595d9a2a41b8cceca0425ea0c\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "6e6f74206120504e47", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_a_record_naming_a_residual": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7119\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:c5437c35e482c016dfd7863f129e940c6c6ead0782fc6a08f7780058b30e1001\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7119\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"3da4fb44a1a2572d72bf71c1aafe63267064c7c4cbf787de2552e057af2c6bc3\",\"sig\":\"cff07302d1efc2b73d9d9e09fe5c5990d6e63cfd3518f09ee887d2667d6aa5a09b6811e7014393c8fc65feb25842b47f0c281232b6c14f8d9d1f8d3df1abde00\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:c5437c35e482c016dfd7863f129e940c6c6ead0782fc6a08f7780058b30e1001\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:373750073e882906e99b34091d8cf9fb534333dc98c3ad986c2b9f6abc56f119\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:843d0878d48354aba00907907d7e389f7141f78237bf756b90c10765c6780ced\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"2dbf65918563c33c154a9d3c488b4fc75d5003e3fb510e5419ecada9d6457a01bcf0bc04fb913cb9c9de8c3d78d08827ffe3ee7f0ee332391f52d67f038b2602\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":{\"q\":1,\"sha256\":\"8d292adae8c2eab28fe7f889421b53e769f99887bc9e74409f098410d54debab\"},\"sig\":\"67311eaa322f9a83c9f6060fe7885cfd03f56035e7c8bbfe66dc3a056272cc2514c1799f6f0a2aef4b5aab0783e71d27d33415429937d447f4079a96cf77020f\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_a_record_of_another_output": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7118\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:a74273472a72a1947a5b8cb47aad585a3307818c723e83e86ac1f67ecdae1ae1\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7118\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"ab6cd08cf4b4f85a899d349f23701c8b1a2c902c3cea873e337716df06e7115c\",\"sig\":\"0cdef909be24f67ffd5d9001cb51883fefdc38e55050a3f3f9144bbf0f3535a4cfd68944be57b267ad3d6e0a569319810acb002155a4812da363cfee99d21207\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:a74273472a72a1947a5b8cb47aad585a3307818c723e83e86ac1f67ecdae1ae1\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:ad393dcb1e5af368c31fcdc0eff9af5aa836892708678da36d310845ed8be546\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:7033156ea023ed35e948c7f09d4cd4e10dab70855379c47b0b5b612c27932c0b\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"aa3f1704b9a43dbca041a416c9cc1b6b69bf2330e0b06d55ae6ba34cdec5d217fe00a8ffd37b3c05b67c52ff9a7d8bf8a42e73cbfb5f69dc7ca3daa08730bb0a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"569e2fb3b8796b0b8d0d73631ea65ab7de74d2f776f963812b2645d81cf4cd34a8d7310205f863d23560d9c531bec52746f19d794a1a5ba76481501e0fc8a003\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_a_record_that_does_not_verify": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7120\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:42efac915ccc9a56a47533b42d198f4afda8b94e7d752e74d4541e0a231ba7fa\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7120\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"ee5dd27700d4cf421cf176b717d196509125182edcb1e59e7fc3c21d67de7cae\",\"sig\":\"486672a84ab3c64253a00cf65dad9f9f1365450ba698376bfa8d85a1c33e4a3ba3e30c51043979cf5f959f7cc7f5142cf77e2684c05d9785c8a31218f4e2240d\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:42efac915ccc9a56a47533b42d198f4afda8b94e7d752e74d4541e0a231ba7fa\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:6ed96cccf7436ed15278c81a6c768b62dc0415fcf4bf1d598bcaf508328e37f6\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:534c53e32eedf738fa4cfc28b508e653b91263f9795a2e91da508a644f4ee4d2\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"9dc7808da2544701903b331740f42f55e0aa144a24227aa574f56f623150f5d27c600dc47f3f4b99983106f2938420d2a6c21d567ef53279b14d68d8aff0290c\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2025-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_an_input_not_rgb": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7117\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:09cbda688128cb8fa7403f3246cac43df5fa8852dd03ef43faa8e166d06feccd\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7117\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"86ee72fc93a985a7ac4732fd630f7750b000d3fab1d50921496e92da13fa9397\",\"sig\":\"6b89a7edc48627872cba496678da5bdfc769b9e9018105f5e295c22f21fda1f7bad619cbdce2ee9189f335cbf7de72e33b9ce0cfda0f5bc15d6b511642ddf10a\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:09cbda688128cb8fa7403f3246cac43df5fa8852dd03ef43faa8e166d06feccd\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:d34d232e55e2cdf101f744aef87d6b7d49c492f5fde6d800e201efe8b480097f\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:7f090b3a1e63edb364372ad6492ccfb958855b9cc021815f91c0944a5cb3830b\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"01b9e1454d6328b0bb3f610be55696f759ece42eb6f20548039e20fd4024bffc564f07888fb4a799a6cf9893090321fe8bfdd715c050db09a2e2df7bc1ec8807\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d4700000089504e470d0a1a0a0000000d4948445200000006000000040800000000886f119f0000000e49444154780163e4640001ac140002b4002965ae42c20000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_an_input_of_another_capability": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7116\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:b9f1ac447fbce0334d2fbbd60896a304735f5d7429d586bf46a5d9dfdbcdae29\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7116\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"6509dce88dc0d74316286f88d94146cc70c8523d6ed79e82e96eed1b673bc231\",\"sig\":\"8ed639ff032569178284ca51715f4c0a6d158fc1c55f14e2adafef38af6b3b79fd3d592a1f4e4efc60c95a5f0f124822157b3c10cb976260049fd19424cede06\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:b9f1ac447fbce0334d2fbbd60896a304735f5d7429d586bf46a5d9dfdbcdae29\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:a7bf7b45d879da9f5288e3628b83467637f433fb7bc30808ed90843d4a95aa1a\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:858bdd31cfd3ca30df4bb370602f2cb9dc4d0de7661aac8ab688b372302dc473\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"4ec419879efa7401dd3862ad09bfeb3e3935616400f0bfaaa121a0e65ce301dea6db5d9af6795cd448146a909153dab639cc1439d7bd45a2fcac0926e2e9420c\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931930000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e6a706567227d2c22636f6e646974696f6e696e67223a7b226b696e64223a226a706567227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_an_input_that_does_not_read": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7115\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:c70c507d7c6b568c6e5859cd4d276a22f85c5df318c762ecb73676a38c3284c4\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7115\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"535721f04f11929e2c0031875876e2642e951610c3b4a05ff5d05d9ae3cecd72\",\"sig\":\"708070ea43b3c27083914618d78116291819cc238ceda86b37794e6bb8209b5007e22f50133f54287d5a6cb6ba740b444d685e5ed4ed8d6cae03507e316a4c0b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:c70c507d7c6b568c6e5859cd4d276a22f85c5df318c762ecb73676a38c3284c4\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:cabed060fcf66b4c5e03ca42a4de1a430d2ca50ac63dd7b8aa51064b6a0fddd1\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:e04e5df66d75136280cd9f8069ea8751286e95065ae1e346c8de4ddb9102db3d\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e0251931577305aaa60cbda09f5ffb16015fbd94fe9ee3bcdf73ebc5aba8b4725798f15dcc2996a6742a99191541279206f6e425bae3442e4190347d1dae7503\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "6e6f7420616e20656e76656c6f7065", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_another_input": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7114\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:99da45011d2215cccd4c8c272e292a738825933ec1e2255aa760e2f9a7406a2f\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7114\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"1c382823e2f55c55ff68129d22e0934ec1960b09715c281953ce47aa712779c3\",\"sig\":\"a47cfdcfa4e44007554596459fc21ec38f5c444d6ba59c67ba4d56a7588d08c89a24aaa579a5ac7381947d9ff10790605f931841a8ed17c5461e948a13bf3200\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:99da45011d2215cccd4c8c272e292a738825933ec1e2255aa760e2f9a7406a2f\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:a6610f18320fc271e4246300532cf31a9a05aaa28a828ea579b561aa5c3b65fe\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:a361352ad8f03b1e49513860982b635a7c000eec176357f0c91a21c63519634b\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"85691b5f72580731067234dc1c7e741879f8013cd1f5013ba232bdc210cbe26e6c3862ccc57b075cf6cd056ca4a2cf99942e21e942097f19cd4cb4f2dc62960e\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d5a00000089504e470d0a1a0a0000000d49484452000000040000000308020000003b963991000000214944415478016394972f6167f8cfcec00c2419ad350a801494136e5803a4201c00a35408cfffda6c1e0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_another_prior": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7113\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:763a8c5641826c6987db6457f8922a18a5216811fdb9aeecb63bdc87d9602432\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7113\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"32d260dbd98b29ff1ffc173860b7dd259cfd3aac2680f3472d2e7e5bb13e4161\",\"sig\":\"0386401e5ee506d0f31d234fc1019165ce65c0c20415f214ec6dfd8ca88c53a4879d1d61dced8424034e4b4fffa3ca61dd64905537fb4d42614334903119b607\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:763a8c5641826c6987db6457f8922a18a5216811fdb9aeecb63bdc87d9602432\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:fa3b65636a1d38ac5a5a200d44865515e6d9eeb23e294dd04da7d102b841e2db\"],\"output\":\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:05dc5351e7fc28f1abf739a60cd3583df4f01414e2e17f144b3f8db0f38ad313\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"124085b22fa051e1a2ed429a1f9686513f77073f06a8d5d89dca1c5f834df4073a8f8431054c95389908ca59ebffba3295e7be5b7ad5bbb9b6b23e5750986405\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f9fd0c0ad6e733d800e812f92dec15ff070209f207d17fec14b11b1d2a0d279cee0ae9112a1af936810aff0800e935fa01c705f312f7d7ebfbed4005ff05f8521f051581fdfa0b012bfef701d70301fc02f330fd4d8400050204d81303141bf208eb0a5ae0fd4b81fef9f900f203e90c18fcef0dfb0bf30612f5b70ddb17e7e8dd187f26e811c8ca47d81881510c2308f3ec160e5c0fc6e72f10b247f4d22c2feb210a4001f8d2f7fe07fcf37fd3e8c70807fbf6f235f901fcfbff0301f93f110509b6feff03f7a8e705fd7ffe0feb0eb317f0151d02fe020009d3fbc27302f600ef29e714e0fefd010804b413f7b07f020b08c811e83ba465de0a19dbe500deee7f051ad3334cb3a9533414e7e9eb2805936b0c0505f1bd11011ded0cfafc157f97109718e52b22f9e9fe12ea7fdceae4eedd150221f140f7fdc912df00ea4e46eb0a9af904f70f29e7fcdc20fd0204ff2df407d00009ee07fd9d25047fe4022af501f7e348a42dfebd2c1bb6c3e47f220007e1f17674ddd6a8d5cdf5e76e0c0105f9d9c509f17fe9fd050304da05012a01feef0a04f515ec2ff3f6f000dc1800e67f0dd001fbfb5af2dfb60d0710f2fc0200006e000000260000003600000045020000eb030000e1000000b9000000090000008bfffffff4030000eeffffffd6ffffff7cffffff14000000ff020000067d1786b9a3ae8d0193b45567a2df7c33793655b954c273c694ca4a0da2098b0317100019eeefe8d02405ea1312f403f9151afb1a0fef041003ef0d1701e7e90b050cfa0107f6f3e9d40ac3d80b1f110d1502fb0dc20e00e8200afd0401f9d819fcf710e90a0d03fc2b3ef8ff16fc7f03ed4715ff1919f329d920f807f7ebf601c72803efe7f612071121130711f6fc3228fa2908d71e11ff397803052c19ff030407f8f00bf4fa292c0fe4f4faf31bf3e6e7ec1fe107f90ee2f6e8ffff0a06f80111f9080c02f702faf008140e22f1ec1007dc1c0ffc49f8f6f4e8d4e5fb07fa01e8fd05efd501e4f101fcf902fe03091e1707fafff212fc29282b22020f5740073702100beb00402702152312f20d24ccf50be5c626120a00191106fbe80c127f2d1dfb271f0c07160523102920f7091502efff00e006223d4cf8ff21eebd22e8fc1705221ff1e4eaf0e6e813fff5deff0dee09350bee07f50b2408301ff30118f9c96502f9540702ff01cec9fbf208f21e16f90ad713e1cbf10702ed29fe1908f513f8f5d2f5061b313dedec0321fa2a1915090d0f07041a16172019def90de6c231e1c70427fa00132611fef50d203b4b2e301118191f1ef72f421336f2212202eeee2b000710467ff2e40ff3a302e0e31d08d8dbd5f5001a06ccf716132515d807f9f0ec22ec3db8ff08fa2d081728f8fe16050cd60bcffa81cf0f0fedda0aecfde01bf839d80901ff0611a5f792eed8f90efa2804f04211010d1ff14ada2c00f2dcfc0cf93116e808e6f500ee15f5fefb0dfbed14e2dd39140a260406f4391800eeecffc6f2ef2c14e8cdbee8f9ed02ff01c51f163ff10dc8fed6d0f8d2eefbb91cbc1df920d2f4f613f62cebd4cc45f0181014ecfef431d305f71b10ffebd5f715edd4272ac3811c0adcf30f14eaf42afcd6eee5e00217d11734cfda1017ecfb04e6de02e60dcc03fbf8e7f3af1a10c80f11ed2529eed3ea1618f306200610d3ececf8e6a30df2caf7f9f9fdd95f10d10517fef0fbea195c1bfe1bfae90f17f2e90432fbf9042ad7e041f8a5d1e5f0b5eee7fecd11eff9d504d9fe24e90331f2f7e904050deb0c19f5f8f70d10eca4ab29f110f1e32418df40fbdfcec873c6f1cfcce10a17a5efbb01b1c0410049d1e80ce6ed11f6ec0c062d9cfdc8e04c4b39ad55d50df8ea72e62e1ecfe4eeb4c6f1ea09ff00076b005bf134101ddedb611d2c0028d1b8f8011fe621e23dc221012bc4fdc6c50f375bd6c1caf5eb8121b5fe3ddec33d06da22f7b8e3dcfc13f315cefddc0841efcd31b7d31db0ea9fbed0e8d9f7f5edb206a4dc3ab7e3f9befffbeda59f9eaf13dfedffed1ff107fddbdcee01e7dd23fdf3fdac23e405322a05ef07e8051d15db07d3ee4ee81c25e21a1de9c5e7d9f2329cb237bfbbfac3342bfc054af9e8fbb230a3c07f2233e4f7c81b0d21e20706cafbfbf10d240fe40f04b01808fa1df8dbf6fdddf1fce817ece1390e334af7fc10fbf90f11021afde915f7e07ffb424912f9eeecc4e2e80400e2fcf901dde90100dc0a09e705e70c28482907eafef003fd41463414fd073eef17e31c1322f8f6210917191c15fbfd07e6de0fdde9053617f22a1df805e70c213739154030211b07281e4405233ef11b1ff4fdf30605f1ff1324edec19e5cf17f6eb0b1a00f70308e6ffe404fe0b0106152bdb0454f8f515fbcc38241d4400e8fdd30e46110050f8f4f2f1d5beecf511ebe101e0fde63be5cf02fce8f4e8231d48060ffaf51a06f947334508280ed7242327061409ecfe1f2814441616e90d31c8cf37cbaa021c4f0f4e1d100adf19137f5c32400b3427232920262b2e25f03030fbf4f811dcf311556fe7f31a00a3f8dde90a0305f51be5f4f2e2f5f5f119ffc147f12449f7fa10f6ca4e1a547ff6e00e00064801106306ecf1efc4d4f2fdfbf6ebe9f510d501d2e907ffe807e500164926fae00302cefcfcdf3d2712170e2a1b191d0e2aeffb4017092a2315f60320d9ba39d2d20d3b320041f40ffaeb0d2640420b2839350b0d3e5137f7273ef00428f9f3efee1eef252159eff51bdbcd12f3f60d21f22cf0d811f4ddf1fc0017dcf47ff3166208f5fdeafb2612191bf8f911f5d309fe0c3f0be402edd7e4f705f4e8faf6fae0e8f7f6d50bfbc1dee9091e3a0d09f2f9d9eef824393d1ce40814470a14131c27ecee35e82918201aeae91ee5e805e0e207454b07182bff00df173c454d243c19340ef91ae53a1c175df82e20f3eb0a19e4db123a29e0003be2bf1afce30235d8fed51df8f4e61608bc0e0712eff31cf707e5fbf30700ffdb0c0befcc09c30227df1808f50c81d3f924defded0a09fff9000acb0a0e0cf22d04f7e316f410ec07fb001618f70d029aee54a4fd54f4dd0ff10619370be908171418d7d40d01f5df22243bea071a0304f900b6f50d20db16060813e5fff42611d7fbe10dfafc05ec04ed34fafdeaffe006f8d3fb1eee1415221f010dfde3c508ededf1c6adfa0307f703effc0ffd02fef7f3fd0205f181fb1239f7f52ce0270511d6d9e6e623eae5f70232eff8eb1b03b5ba07274b071908fdf9e4fb01f708cd091735a803d122f308de190b261337fd0624f5e9f6e2f0eb12e9c3e910320a0f0713f6e320d81d07030c0e02180f0efce121ee500800f6efd7c600faadfb1806f210db05dae1dee1fc24eae9f80efddf0d15cccc09dd281707fd090412f3ceeb1707f607f0fcfbcc010601c2c109d3e1fe1f0bfacc2ae4bee0ddf0ef1b06f128f2323293d9041202e0fe061f04fe0b14eb810d0f030020ec2804d9f50bf80319060b05f6dcf3c1e2e6110218d5d0d4f70bee3405fa110ce217e6014f2a0ee60608fcdee4fae609203205191228ef0507e8c61f09d615060aff0fd2f2fdccfe05e301dd2006eeef2efcf010ed0c1b142226fcd815030330041c5c10f0effdb0dcf500faead1f1f8e5dbfbdbe90207f8f2f7ff2efe1106e1ffd6f7002d4b3d2f0a191b4a050e10173cf6f63b1c14243119edf81ce0bb3cd0d02057390d1d260fffd61b243f34141e373717064e314705274deb1d28e9f2f810d5171d707feef130d1c640f4e91c2bdcf60d0ee503edfa00c90b028123feff1c01fafe16f808060c10f1d00fe4a133ebed10e41208fe09daede50209d90d140df61506fbff1e0bc70428f6f7e9ebfd032ae6fc0dec03dcf70807d225e3f50d06e1061cd41808df0a0ef6080af00902fb05cc11ed11f803001b03e73e1825f9efe8f0090918060ed40a0209040810f5eaf5f6dde611f6de0706e1f3f0f70437f9ffff40fcffff05faffffd3faffff3cf8ffffd1fcffffe0feffff39faffff1cf6ffffc4faffff2ef8ffff6cfaffff31ffffff3afbffffcbf9ffff35010000db74f9846f6f73ab0b898a476c536f7a9164056f8767649dd2a6a6c88472dbcc031a0c000116f30b05f2fef40505f20806df0bf60f000dfefbd0e6f11803fdfeff0af701d60129fdedfa02b91806292e04e104fd0419ed0be1300506e637d927ffca050b35fb214af8feeb0bfaf604e1500a00fbfcf6e301f7c603020302fd14fb2809f8fa05fe001210f61fc206f1f468dd17c4fbf913f900121501aff5edf7470afaf003fbe402fdfefdebf7067fb90d0413f3fbfe07fd02fcfffb0205fdfcfb13dc040106fb15f5f6cd0402090401f90d05fdde05f93508ff01ff06f2fffa1722e006f31ff8feee02e15e041852effbe1f4fa2c16f9530ffded0404e3061abf5300fcf106e8eb00e8df040701f91208fc3cf3f70104ff071103de3dfd10eb2e15e9c1f6fd1500000b0f06fe81010c121104f2fdfcf8ec030001f918fe953bf004f9ff010202fd1af40aec04fefdfd0adf0afe0101fefc09141cfed9d8fb0103f9fe1df0faecfc0307fc1fe405cf1eff0f1401d504071307f111e8fbefb8eb14f326faf4fa2c7ff002f905050a02d3f3f5013404010405f4bc0bfdf6f902fefb0017ff2204fc02f6edfd1dc0fb0705a92bf267d71add10faf0fdfd185510fee4e40005fcf7d106ff05031112f94cbb1518f50200ff07fb020bfbfefcfffefe0205e70310f0fffe05fd2a08f5be0201000004ee3700f3e70409041111fd10bdf9e016f729ca0ff02eefef1b0cdf44d6012302faf5fcfa7f1bfdfd05fa0d01158a1b0f021e0afd0002dbe301fff10005fdeb2a07ff23fdfffffe02f20b020115caf106252ef0f2f80004de0225450b01ba08ff08fc0ad4f7f813fd10f10a9556e8f6f901fff905ec28ef0103fb07f8040ae10efa000efdff00c53bec0efb01fe001103e3db0a0510ebfe03af2e032521f9fbf7010907fe03f40b1710f2d8fc07050502f60bfdfcc00d09050316fcfe04e203040ef61e1f00233af6fdf901de05ff4434fff1ec07fd060a0436c202e8f125fb06e606f50002ff1112fd980de3fe520df8e400d0d906ff05f7d4ff037fd102fa0bfaff06f9fff91202ff0403fefdfffbff0109fc02f8060bd51104fe00fffb0cff0bd2ff0d1707feff0907030ce71009fbfef918fef8fffe03f002f4fbfe020efefe02fa01ecf5030703ff15f7fa02fefd0404fe200af34afafff904fcee060a2d07f6f6faff000802f52efcfef217fdfeedfeff06f9030407020a810f03170502eafb04c3010402fbfe09fecf15fdfb0101ff01040912f8e80ff9fe02fd03d814100107fc0bfff90ef0dd1af801fdf5f9260305bb0cf90a0215ee03b541f5ff020bf6f6001303f6050ff3f7170e09edfcfd05010af20decde02fdf9020dfb060decfdfae6fd4f7bf0fd0304080efec1f7fb59190302f7f6f822bc04070ecf08f929fd04f10ef6ebfeff107f0007c6dc050a02ddaa04d906fe0b05fe35da0710f5fd0103ff040903fcf110fffc00fdf1020612f6ff010212db0902ec070005f900fb31fb0ece0303050c000216cd00f807fe02fa01fd17f6fafd0010020202fcfd02fb01000df900eafafb07fdfa15fffdfc06fef201f97ffffc0306010a01f6d3060935fcfeff0201f307000310f5ec020d0d00fefd0001ec02232d1500c0040109fd0ab0fbfdeefe0af302c12af9fb000300fd01f0d3f3080508fb10f820a7eef9ea040205000eff0108010105f214ffe7d40d0017f8f402814efb2c1ff002fb02030200fa0301ff0e0ac9f8f8f91cfdfa06000716f704050205100103edf501fc00060bff0b14020002fffaf602f4da0ef1fa0000fcfafb5fb9fbf4f0110700f007f80103fe0908fdb609eaff381505e601e15414080afcd203006bda03f806ff00fefc03efd40312000108f6f926b0fbf0ffff0204f618f6f80e0400fe03000bccfc161c0e00fa03ec1019d60708fefdff07fffe00fd13d604f4cd05fc1afffffe00f81efdfe070604050aff01f200fb01fd0d02fe0c0fff01ff01f8fe0ed40203f1faff00f702ec6801f9ec06fe03f600ff020101fc06fe068111fc240002f7fc06e3440808fbff01fbcb0804fa05fdfffc00f5f0fa04ed000300fe1028f7f58801ff04fc0a00040cffff0000fa030d0400c60df4000316eefb8166f4fefc04fd02fe04fd0302fefbf52e12eff7f105fe020114fa0010fe01fbfe0113ff05e6fc0004fa0a0e05030ffffbfe03f8ec06f4e4060104fffe079b013815ebfb000610fd0007fbfa0001fa4cfb0ed0f7fd0406edd2000b650405ff0325ec0006fcfffffbfb05f2e2030ee306fff7f658e4eed0b70101fff513fdf51ff9fd0af601f934f50fc501ffff26ffff1b8115fb00ff04f9fd0704030cfcf10ed125f4e6f90302fef51907fa160305fa0001110afdf5f0fd05fffb1a0b02070b01f6050ce3f60bd3fefe010c03dce707054aeff302070d010003fe01f103182d12fdba02f809060ea30910293d0fe101b737f7f6f003fffffffffbfffffffbfffffffdfffffff9ffffffa5ffffff67fffffff5fffffffffffffff4fffffff2fffffffaffffffc183ee968891ff9a896c02c3ed6f4db8907c8eb19993f88d", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_in_an_encodes_form": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7123\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":1,\"root\":\"9489bec83829fd0e694a10ff891e61445848a0888f44c486d2961703eae3d3ea\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:74a4d369f02ecab97b1b922851d858315404643f40f691e7dba4fc3bb43cc8d7\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7123\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"0cd651295aaa1af3365e640d5a51970387b7c7c6c41b53d4718f4286c8ca009c\",\"sig\":\"8c9b6e77b1522b4da3642b9fd215e102acd0ca21f11f4a7b452bff32bad201439f0c326fdcd86f2429631d2f297ed6660eb8aa2b9a2b230da099679b91c0590b\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:74a4d369f02ecab97b1b922851d858315404643f40f691e7dba4fc3bb43cc8d7\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:42486bf244eee9f84dc801948cccbb5ec3c28ab0536851f3e02830d4b8dc2956\"],\"output\":\"9489bec83829fd0e694a10ff891e61445848a0888f44c486d2961703eae3d3ea\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:8d6c7bb2bdacc70288c54ccfe916976e7fdb6df4b8d362d87068c9a8f5ac0cd0\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"686014e0d0f79d5ca6c7ffd0e1e922bac6717476239c2a236bcd4d65aedf3f2a28055c65354ee9b71967c90e8254574193292b88b25b674362f86e9f1bcaad04\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "receipt": "{\"profile\":\"wai.video.int_motion/receipt\",\"codestream_hash\":\"277865b574029f700f4fac023de3ab06ae598ee6f8ed726444e91442a6bd59e9\",\"clip_hash\":\"3492566e8e2682e3b3bac083b4db02ef8eba9a7f15d9faf0e27feee0f6eb488c\",\"h\":48,\"w\":48,\"frames\":[\"e1d8e8f8b5c534be1421e5858ed9137808ddb849bdff2bf397beb32568d8eb69\",\"ae7214babf5bbd6ec279434740f3271be43d2392b8167813fa557b5c4426fa14\",\"b3ef86db27b82d303bc6b612cb224ad55259b4f2e2c0461c74dcce188cd64b99\",\"3906f91010bf1b9ca14f6e2ac9b499589ac02ff4465e1d9764a22443a8b29c22\",\"bedb1538c2071d705d2d3ab2df2c569ffed440278494649f9bf1ec881561c519\"],\"merkle_root\":\"0f3fe4aa201c275c10289c22f31e7211b555627b33a251bbe33d094abada6508\",\"work_pixel_ops\":34560,\"joules_micro\":0,\"uj_per_kilopixel_op\":null,\"energy_provenance\":null,\"parent_receipt_hash\":null,\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"signer_id\":\"did:example:sink/job-6001\",\"sig\":\"b0caed886abed9777621c42aa89adc4cfc9821de68345699fe31b2bc9faf5302319e43618a67cb83fcd485fe44b56fdbf5eb298555dd8cf0072accc0fe5c0c01\",\"receipt_hash\":\"849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0\"}", + "codestream": "57495631010100000500000030000000300000000800000006000000d5ffffff590000000000000004000000090000000f000000160000001e00000028000000330000004100000051000000640000007a00000094000000b3000000d8000000030100003601000073010000bb0100001002000074020000ea020000750300001a040000dd040000c3050000d2060000130800008e0900004e0b00005f0d0000d00f0000b21200001a160000201a0000e11e00007e240000202b0000f6320000383c00002747000012540000556300005c750000a38a0000aa9c0000edab0000d8b80000c7c3000009cd0000dfd4000081db00001ee10000dfe50000e5e900004ded00002ff00000a0f20000b1f4000071f60000ecf700002df900003cfa000022fb0000e5fb00008afc000015fd00008bfd0000effd000044fe00008cfe0000c9fe0000fcfe000027ff00004cff00006bff000085ff00009bff0000aeff0000beff0000ccff0000d7ff0000e1ff0000e9ff0000f0ff0000f6ff0000fbff0000ffff00000000010000000000feff0100ffff01000000000000000000000000000200fdfffbfffbfffcfffbfffdfffbff00000000000000000300fdfffbfffbfffbfffbfffcfffbfffffffbff000000000100fffffdfffbfffbfffbfffbfffbff00000000000000000000000000000000fcfffdfffbfffcff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0400fbff0400fcfffbff0100000000000000feff02000500fbfffbfffbfffbfffbfffdfffbff00000000ffff01000500fcfffefffbfffbfffbfffbfffbff000000000000000000000000fdfffbfffcfffbfffbfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fdff0200fcff0300000000000000000000000000fbfffcfffbfffbfffcfffbfffffffdff00000000000000000500fbfffbfffbfffbfffbfffffffbff00000000000000000300fefffdfffbfffbfffbfffbfffbff000000000000000000000000fdfffdfffcfffbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbff0200fbff0400ffff010000000000000000000300fefffbfffbfffbfffcff0100feff00000000000000000100fffffffffbfffbfffbfffbfffbff00000000000000000000000001000000fdfffcfffbfffbff74420000280b35593c000000a214bea9451501b9ad0cbdbd9a309164812c7ece531911d14717c3dbbc1d27782217989f7218f20d121d7bd4ca1f3eb3ef1f71131429e2d1f626c3e7ab249c33af4fe2d2c042a6d2222fb9b3c460c33836571567e55a40c90777634123135bfb8e1357858f0dfd6cd3316844ae2fdb041518b067b9167f09231b1d6f1c16b7df311ea6450d1ea29eed1ecc320c2b747de0206b34c82a708a2525b67967473d53e643c54f6f2f42e6355aaafd6534aabbdf5fe1a866406fac26314f6ad812ef006e0dd2c39e124439f5306ba6e0396f65ff1627ef771e0071f21b088eae1efd0a7d22d53ada205042fa23135ba627dfdecc3c473a7353bf1ea7435671e53209bdc9581998ef568e94f260c2af006595d31a5d0301d30b0e96f22e27c43d162997a218be088f12dc9d0915dff4db17246c1a3c61066e3807ec553cb509743e78e21d250c19332ef30e3d2d4f94a0275d0ead4e59f7ff403f44c02ed1b145563b075b55c0ece2599ea8038a52c4e77287a40b3015595e178405f01716799f12508739158ce39537c6364439c2c61335c774823feb0e4a46484b29464146093e52ba6e2e3e5a0631121b992d5a46a848c8478e518c794638949ff05b4c57d23967cc4b57d3bb164147bebb2f4cd1452f40e1701817cec818f564ff13f4072317feda4f17504f253558977544d057484615df8028fbee312a5a55ed2c1c72d1257130d62be71dda51a0a97748680d2735181dc85721d3923f8d192f8794fcc96be998eb135e56840f812d952b26dc2f2f8537db1701de931a9e0b811c99606b1d7a72b81fe6796623b2e3442266abe726bfe71c26713b582970ff964812b3a7511b88474ad1a39d60fe77fb5b93faa43aa689e37f22cf656dcdde8d4a529b091869c19a199bf5af108ce21a33eb8ae43a8485f63a7c0ae7f3e9d6d3fbf35320f44e2572fb823070f38da5d5fb4cd37f3e167531443d7027341943de2d2e0dbe4918ce0f53b1e5a7368b2c3c6ff4ff9044663d54810e945168c3b1d019852e9412c0563e10ce0287359612c8365ce0fd34c5cdb9f290f0e017571aaef2f889ca179debd4f3065bae18380425f4d7c9dd18bb2cf626ea6faa24e3f4384b1da15a3d6df8b52cc90b935da2e4c23b9597355cee7f1945393e249b7b14ad729ff91432962e6218224895175df6f11b30546af34ef81f1840d4b4f24290fa19e90d41f3792fbd17b307eff2702189161f1552f429b1fc18154682320160642d6a8c304b9a74645336beb060762fd36780e26160b5380e4500bf316ab3b6594b76993031ace92b2efad9cb178983121b9d4845f4ba36071a9d404af3f9d4f2199f14cff37ed44717baad75f448628d19af3421f46a8b0f19184461f3ef7bc1178d00634bcf58624c6725ac619927f15545490f360e0fb877c6814c6b9ea2f952ccf3a3abad91da10ef63f3144a0f23340223ff35814709f4d3516c16e5bb75f3a3574719c25228f4b5a03e1636db84f49a58781762e821f35742a2181bc2f7f397ef311637054630ad43d250643a45395291b55b725ae5723bdd1b62eae7a445bd65319f19c63568c61a5b1206b34d3bed1dd63786de01f49a49affb2a9cebf3518ed9fb7f061bf402f2bdfb0bb9c0f344eaa4fb1bb58df3fb10a4fb6bcbb8f3bb45a0fbfbd11ef477204efb6ff5815087d668629a2a0c5d17e9236a698d0061d79fdb460b2f26a9c24f33529ee32911b3aa1515876dab37a91b8339f13feff22ac0af17a839caf36b8b36183cace0f27ca7e419927205f46713bd1740d4a5f49da36019a6baa1f4ceac2c19b530c1f2eaf4de19c6322751ef91df5b92e05f6533f2a760db246a7d1551e266a304d149e19ef5ab9b67c917279abc17e5eb69fbf214f2182014b4fb9ffe3e163705e1fba23dfe17e466a2fb4cd37c16dcc16ffbaaa6f61663923efb92173218345ca6fb512703175f6a95fb422b751962216358fc9aad68a047125962cd87430577849addf21174af2dc5499c4fcf8778b8293377e4ed3b12154cf3afbf46fb6ab6baf3dc41b0fb4cbe91f32c0b39fb2ef0f3f2262a42fbe21813f3cd5230fb476af8f3870f92fbefea62f47a7a92fb7234cdf297d11f5d8e12023c55bf666f4ef6005c8d58bc9549953d730699fd4ff8264fb23cf0ac1886051a1c4d05891af4edc2fbf792baf24163bdfbe896c3f32f65e3fb6023ebf2ca07d7fb66774bf4993ad1fbd99a01f30be2a6fbd34630f3275768fb7ef1a1f2f78972fbe65735554ebaa9390610c05a5315734087513d8c09862074f653884a096d36bad118d01b4762691789a9a4fb84456418eb0ca3fb4aa9b419eedf99fb865a481883a740fbccb302171e6b31fbdcc4a318d918a3fb2772ae179e15aefb5dcf1b17b3873ffb7673f4189ca65c5d080bdc43f1e1b278e9bbf0411aed639db279b76db39473596dd293164dfc0317fddbabfb866f2cf49fee5afb376ea4f3351975fb9baa96f394a45afbd65b6bf333ddaffb9de9fdf212c3d7fbeeead4f2262aa9fbf329a1f4fa10ccfbaee586f41f6791fbe442375aab92fb3ebf0cd287434e9d6e5b5143a22f6941660f17d858c6629c18cba73c167536ce1e8e78a81944d168f419b32118417e79f37ee3a4168ea062f3684ff8160f7514f3d3335e16d0c984f4e44f5716db178bf3f1e44f1765e6d5f39b589417ffd4263cb1b60b56568bf7410b9931975f374f710f5c7f4fa42325bcbf1b8b7648524f17d3a2bc1d17f181fb389846f3eaf47dfb8dede9f2ef7b22fb6cb646f4429fd8fb1ab5a5f4cd8e2ffb7dc74ef4164ac2fb955678f3aea1abfb511264f4825bd7fb2cdbf5f268318f5c44110177dd73146b7a24ef4d9557b1ac71c8ac855c5302606910468a110d2833d76a203d85cc1c16f25d02f36cc7671902a893f3c335ff186fdffbf23bdcd317eae2b3f3dfb9001a3c8153f3a8edd118ccf62bf491591a17bed596f344cc8916cbf73c423ef6c45d15bc03651b1912a83850df6979ba2a6292c2eebd5d91e87574332d1ec8640e210884defb523cdff2811f84fb900283f397e066fbb5636bf4b5af3afbe896e9f2ed4ea3fbaabb7cf42cfc51fb744940f4fc3dc7fb444010f3ebf46cfb40019ff4ba45685818c3743cc9991ca49c3d626e6cdb6d54ca28d67ab141e2599329871efca9c71b6444e22057e352f45dd8b917feaa52f42bfc1119743121f3694f9818db6c99f3d79c4618989917f426394b16467b0df3b1fb8f19521d21f48db4ca175a186e3dbffda754ced3533d92a3eea77ad2e668dd293056741d36bf0ff6d877943fff1c5c2be22145ecd620c546c1f3241b6b1627e58ef43e187e1951f342f42ab1b917ec3602f4f8a719192312a0f21e3ac51704a731f4981c4f168ba270f48c969c181fea6d40d92c977aaa69c464c1fe0b4fe4ac6e6dca35ef5f6aa19dc29fe940765b492821c377c822552bbe2132b22720a4a99cfbe66ccb18874f90fb5de48618e3bcc8fb7a9dfc174fca80fb033b2e19226885fb5cbaa018cf7481fb4bbe3b1690f45071cf3b545fc7dc4c460fb904a5f494e4710bb28c59b37201bc93c3b85cedf29ed26f8cac231756f41e282b6e208e484d416f57f1f2d56f3617c0a984f402e336196a0dacf401f23a182db681f4e431cd161e6be5f31d3a03177b0239f33755483d85c9d2624864d23f6bb7c5a69c7e2164d4f8ed6167d7fdbd05c2405ff28607d169ffc3238fcc5423c78c9346c614a93f473a2b17750683fbeed5a017f40664fb11227117579a43fbf768d91957ef44fb4994591639592ffb3898db867e356462c5292e4270ba30a3145c994dc63817c2b506ff790c88855f7484a1d36b3cb022b49dc01f39897e3db627e7453b7eaa47ee9c181a325d08f3aea14718447cc5f3ce9d6d187dabeef346352a168c4c9bf38ff00e189a54f0817d9e5867e164264acf9f89a0468af5865b1d0f5d44650780f7a37565a8f4c0ceb96346217425be3f42ddfb460186a443dc4f4f39e726fd2e11ac22fba65269162b0d79fbccdde017447c95fbeeead617a64c9a609f26b64105687099d3e8f96edd6e714832a030810d602862a462e0c908e95486467e4f657a255646fefc1b3d6612ce46f05c183a0aa2e63122e07a4fe77fc847dfdb81f4981cdd5a7e25095e2496ff7c0d982d61f1b45a40c98a5da72c8cd36f9bae985ea04c49826f6e0159848c46d189116c7425229a29dca5753180914230f7d87f2cd1e2294a23bd653c8f2c033180eb015dc4796a35ffb37e5d2a91a83e040b6f9551375c7318d897491c79c9bfd5a26b563d7258cbb89e8e7b06429a6fdbbb519019578d2cf852092d88bd0f2a78859a2f1ffe22519dd8cb507fba725b0e80ca5d8ed18c6087f6007e90e4ac6bd0224e504285c6ad5e2a4885c47c8e5608003a80cdac406c2de6e9d9c33b3d881826ea313c35a52f98773329023e2e2f644eed4c9fd91548d5819c5845a9c356a9e281411746cb75d8b9686bb07213513a6827af9e2d2582d3aaee5d0a1e1582463d496d83be81d6d0003b8586b2b42e814ecb2eb4b31b288dd08d4a6d71253f6f90872d7f2ee65a725a8f582404ef5c515ac37806644d66e187784bf25f74a43c7dd98747933f580caf12c97de8796af508f6ce38d753833fa7e3df673b922672b38b4a3750af52b2e56f46a293d2301edf675a87c40637fa24ff5de154a43f0bf38b907403487346618150454a15be8935547faf98945cf4502f7649b7fb6993be0d924ba7e87e5c44373d6a05774e1f29b0405671ec2d2912145352a9f45d41c46d625518ce670cea41617a3a074385e691abd1d9156a1d614d5fb54f097d82d80c614b6b92cfc8bbf18ecd7c70d5e7049d93d1e01d3208d0df28de97dd2f92b2384b83a3414fd99c8754c10b9e5dd1be2056f367ff898dec986d36884b48e0487aa87651128106a3085ec747b37f462bcf65f40a63d5ef3e7f7cceecdee0471af487ef9a024980f7d83f5964932f413bab5da896195fea92a65bb5e08a7a9bd68e57b2e1444310b9ef9f9b1b0772aea0435d832578761abacc584d3588cdec05e37241fdd2de96b2b67eb007b4e5f9d4ef2a8742af5235a45147c3cab7323fd344569e919373f12bd5554e858d3c3b21c295a1d79c4a4fb2a7b79f3ab4817fe0416134b576cce565e369d8770ed9c2924f8be0dfa9dd680fe77af006c4499b2cf442c3a8c83284915263e978a0343afd905502056046dc7ab6773c132468e7578f4cfde095720b8e785a720e4bc40228f788b0f27669314a5f931b46bd7903017f8e10890fe23b330b2f9651075346d3114f7bd0563a61aa2b540a0abd34d4772278bec85e703c9d214d3cb2b767c686f94e8433cfbe3fab6a77d952576510c5cc764230fd772df1fee062380a787e5e1da520a88c3e08b7c330d28d614ff959b861ecc7795fe87c22712ae536609e6bee407518e19d641c5b653da09e59b8800e89d17848545190aad2538d869bd717dbd8356a67798d9ec5e38da75c9caf09b6ab547b3941643edf2f02e64254d50e36362c41616048da6c425bf9318c40ad18669821964ec7cbd2b8714e8f5dc27626caff71a47bf64d476ce899f18c24556f7820202b9b3fc5f4e77ac5be8c1bd2e3492682645389b4b359578edf64a5a823571c07547829153e647579c44813fa75b8937cd5797249dd5803ee0386f9cab266917789d973c3c989dff5e0de1a65817d238899a57e9e48eb67c3d0321d4dee57cc778c5525bf8f542e90828a8b72085cd25067411b57e1a7d11a4f67da559757ad36fbb9f6f3c55cf6723acf5d58348dc055fce03fd929925ba3f6e40db6df8f0358c8a335945849649d783b52b0006124cf4042c3f16a854dd4a7672206614e215921735710d162219312c171da4b7649882772eb6ac18293790f8a6ad0eb8a98988789622911a626f368e825d45f92441e6949bc1b3e57a98a2136eda230713b4b6c6175aa129315646973336e21535ebbb8b8a549687da77a9c603751abd14723da67adc45dd8ecffb37995aabce4d743db9059e992aa435f87ebf2069785b20d1282e032f87ec90a5977b5b6eb7ce5e14e76816f6d8aa2a99d88a41cda754a8eed7955bdc677bda57b7c9308d8853619ea8795f972807be4487ad3c6ba8177c1897f6ea77077cd107d7b0c6eb9775068bd82b5994983546a8b789ca4fc7e30fe328a23afde89fc09b97d0dc4b878a796bc885f381176c0dedd7c3009868708763778074f1483b056e47b2d2e6f775e060d80613be47905e3c28197a2b2867f2087840da05978d324ca77d0d2c3838b448282d320027d0815b57a46e25386e546797aea5eba75c4748a77a68fe6769eb2d488d27ee978dcf669752152f679d5d4447e23d3767a076168784a958b79e1e6cb7e174abe7e0952b07a7e773b7e902dfe83891d937b603f948047799278c0e56181423661814ddcad7e50682c7bd2708e8791bd117bd3ad5d764ab9e9851e6116883d29db86051203825f38767ecf081c7edad64780ccc1007a419fa88156cbfb8877f0068a366cf17ab74967805410d1775c0ec084f283567a15ff0480a7bab185479db782a0e0027c86b9e58487498f89cbd316877cf25b801767548ac2714878a7a81c89caa1d885c0633589a0289b7edbef3e82b44ae88619e8d979c7e36585e1ac7d81e3dea681258e21841709f6844a668580588df77ba9ec97766b4321899d7c8f84f0b64b880840f485a1533d851767a57d4a544c83b06ffa7dc8b02f8747de5c7fbfcc1387f25f5a8a96d15289712fee8898a5408dfef27fb1fe337a96b4d9119e22eb87a7befdb497371c3793e2cc0aac6839ae8fdf2214934812e67a0fae55765e185b83fc9293793110d187dcce0e868708c67c2d76639bf921f880fcbef0956f67119f67b9559a35d5fb9b7c1ecc997a8cb6b78d5cf38c291b8a8b95baa28623c1f77ac0c1d18300ec467e9c6e94869bba197d07b41b8215ed717c33a3518a2a69078e6c91f6ad16430393da5506a55aa5d0037315fafc42ea2304936366d8c6a231a413a65288914a4878fdecb7772cc2ad83e9a63a83e6830079d593e17e3d6ab47b4116c192d8e6c68cfe19c9af3ec9c39005755d013a19f177bd9ea67a4d820f7a4e487c042afd998ae5808088048d1c7cc641628a98e6237ed84a2e7b4c74f67ceebe667d388172975a9ae8afa684c0785fc93092ba7ee176bb07db75b140997b504ba975669b2c865791fb8b03a2327b42ee2879af368c80edb7ac827a8a198220b7b9783bfb7779379079828ed03eb60c7aed938ef44a98ff16557824090280d15731762a53287703a3b77fe63bd287bed734819a8f2080aac48c8253cc6a75084b27795ed0db7599b7f18705651188868021a7a69f5eb33e38d97dc4fd1985411d5076c1516a76d8de15829ba8e8861fdc0f88aa783f7b9aac607cc4b52478d9b68f7d03c7a57974203779ea94e0764e1d8f9d8ac846a5eb023c84085245853201b782e10ac287e06f07774edcdb8465e7e67b4f201381f6363f8327e4cc7f49584576e49dec82aad62b849a18e57ddab9dfa1dfa972a6a2b7127f6d3b3278c7a2f881f0af98824535538250c2998900cf9b88288d2778e3a5a29607b80c8af1e1f989ebb4ae7dd81bfe750a478a76390a5b7b16d7b9993e2d42cf578d667a5a367b78e9f23b7b6d993680088c68756815f1891602298a214723abf3ed7f8f93785d8a60b62d7f9eb218890b14197c055eff793efab48717d3f3b1cef2697a0b0daf7db98d5c89fd22457b7ea64a823c2d0d7cbbea0f763d9900fbcd7c0993dd268a901da4f37cdd3adc772d0a257608a94f6af2ecfe8990c841a548ad0f0355bd0b81c8cd508356dde386276d8987e4c8a17eae24597cac2c9685aa9cc780e78af9a7128b35a7e9e43f76e95770804540f4893590636813988480ba2f139c9f0c55cf83ba19860744d489391892880cfe0388f03fa186e898e57bdd04e379cba8b8fab785aa7d307981941cf013891e2b397be66ac778effb7b751ce013894acb3e846196ee03de219d897ead1781e16f55890797767732717b7de9e02981710be977bbb463fcf62c2695d6343a977160de77eb897f7530e5f883ab1320711d583f8542c6327aa93f847c26e8ae8708649b7e8188db85b068b58886efc983bb205d897fa99c8468f85ef91cde28a52f53e29aed1c0d7f8d8119889b02c485d946ab664e23bf880482d580c720ae03112885d3da3ef5804946a079c54cd5818cf8d489cd3b628376f4f882b02727872cc97d22c71cbb9c815fe9843299d185b9f9268620db128aaa5432880e540f7cb833b28a1d5a6dd08ba32078d731a87a3e5420770bf03f8511f95e7a99760a8607a9747f5599b1fab4e9db81987a0e879b025b7c8d6f6978d1bc797d09ed717cc600de87c2131b8498b4da03fa05068478a4b287491ec17eaf7e0c897045e87ea6f48782d212087c4ae8261d0f6f8a88c0755084709f6979ab8ade7818d3fd752beacb841a37c8786bccc77c149311847b83808ad929b8893b3819847bd2c27b19348181d8928287ace0be81a2481c1b8b644980cf780f771cc794839d461e7a85872d8038e63b7e25abcd8744d4f87b76233aa0aa52ebd7dcf395882d352a8351529c88f9ed62882f1b3d8a2e67d87b6dfe6bf8af405a83b1c9a7781e89ca76b46e807b4dd55f83761f5e88a1414e8af230b1851248a69d78bd977f239dc87a30b68d7f59940889c67e1177fd92fd861dee88864cb1591be244838471e77587929508875f678889cfd22b885a6c6081052f387e616a7a95bd77bbb1b62c138a067367797a4de184bef4d981d4d4f285ee3ca07ddad63c7a8003257fe6a788793612258267cd397e8529538850e641762ba213796a18c57ed784b7a52fd508a5ff20d6869efabf75d4df5f8a0e37078a9a432585d194c478d9b3b2786337658a8ca57d878c9eac7a19cf377e01f38482fee8c97926b98085796ae89e949cc590dc73e87d162af77c02e8088786b96a808534d2869636ba7c3117c086a46f587ac74f0e7ad36cd0806677b183ef845e870b1448822f4aa087dbd2be7aca2314810d587d869815da803de1e7855f800b850d17f47e7a1e32f90724a69a3f96087f43ea127b6a182a7bfd348b830732597c4f97457bcdbd9182687a998096417287ac455787b3a8cc8246a11e03b6260486f3a3837effe43b89e505de9b95289f9334b3ab840b670f7df76c63884d12b084dc574579ebb4018104286881d85c12861f1510767af346872d88fb86b01c9176e2bb40dccaa58cfa8517f60409c52a9ecaebf394ed2204a1499d827e71164f818c8ce57bf993528a8dff547c5a128f78fdab6e8acf492e82caa1737939ff837903492c9e15b105837ccb6c96d364cea13718beab45cc63a4dbb267872ee9ba80433d0f89b982877b7aa0437c178bc57cc9db49812ee96d839b96ec7f3087a979a9fe4f8942f577a8b8aa46a5009723940ef30e8fdd242eaf54b30298a5b8d579ef96f8844b5bf77d5e8fd989c2dd558aa5f488833c105b7734aa5889366c7f787df91d806ecb87859e787d9079ff13a63b6b2a8b01851c8c0015a1a35783748ad81b147ec9a56b894303be88adf98775b82cea775b4f787ba9ec7675b3313d7e4d8de588bcf81d8969f4238d5e69be94a58fecaa4121839ae315a69706ddf68a3c56d97b031a4487a743597a04bca87a08df6284aa30628a2da15488948dab86f283667e2ded9e895a7ef0864a1ece89683dfe7946884da33af14bac9579888c54d36097cbe562899b6efe818e3cda7c6f139b800d6a0c842c6fd87c625ffc79621e5084fe4da9803ad79080c31a237694b56d762587fe7576d051879db28578da6af183a7ba867b838b1388eb4f7384144be37e35e7437bd647c37642b8047bac91fd8509359281e07abc84e38bcd7b2ef4177e16d7e4829677b57b6a3c1c86ffaeea7554a4c381e629cd76f4b5647af3c05781599421804f32568846ba047bf5f23485aa42797d24c8e1823a8f7d7ef5c3137cb9f9f17d9b79c5771320817ec486607559163f8aad94d487d96a8478604ae689faf40f884899338a71ca6f8052b3ca7934c7b279ef72b6833c2dcf87157d32833183f87e41530f850d5f2f7f6271647a08dfcc76e52240864fd8967f99ff6c81e8509d75436ca985506f117690e56b82115360820063ec842f79887b035b9e81b91d167da253ea76c2179082a27e977eeebe1482cc8030886afb707ce3c56a868b4f457870aa77776ea76c77fd1b65780504aa7812bf8d87f5700f7f4a42167a2d9aa485e8eba27a02a7f98750398e754c7f1c887ba3f17f01a0b27dcbba247c8da525856b67a37ac57b168437f122843eef50897e485d7de3cc4683d97ca77da1c35f7b1e65eb79f4b56a88bc1597889e305e7b62cb8975661d3d7e1b6dd27fe8bc4079c2f3808adaa7f8865c81887f9797c6852b613681a2003e7ca021df7d2683247de48b3d806d107e75b2c9a0758575197e3457fb84c129f88193ae7b80eb7e668391225c87e994eb86a62a357d2003e5822c5d6989eb3d3d89e4e5fb82447a8c7eab8af6799e71b775277fe87aca187d82215976893f7f4277bcbb3d7aeab82e82a4b01789650b0179d29442896852507cef31227c8015c47a1ebf568a159a7d7d797c5080c1995f7b5cdfcf7e7743fc81c01b817e6dfeb0770e1e5479b355ae7be5cf2d8905addf7b8d5d8e83f57b35834e903f77ed5de57da439b5794eca49779e6a8d7f03743b88c0da998279b2597da81b237ca9466478589160773815fa845326708352a80576e0dfed75c23b5d863773717622b332872989b17f3d4d2a786f7f6586858e6981eb61547e87ae438220d4b781ca47f88066367f77171f6a88bd47c281d086d77c69edcb7881ed067b7a423b84e9e73d85d3a99788c01bc985b61e8d76b1b04178483ff5807d0b4b7ddf077f82ea658b811eb49c8866adfa7e3dc41d861bf6b97b1da66c8463379688ba6c5778bf607b82eed76178484af37837732a8261abaf7cfe95a67f144ba6784c62e087cae92979238bb68159c3217f4d16e97d58695287eda5f579b737557e8a4804765d5d4888738cf9790689308957215e8069a5c6889500347e88bc947e6cb65577c719ef8680d45c7d6f8aef86feb97182e5059a7b7b08898a5ff7cc7ae2be8b81c89ebd89ad77c57532305b85370ef17ad5c9d68482fba7880ffdf18283140b8a546afd7f4809617e5e7dd8788e9a0c83ce42227ada17358838520b785fcca87d83ccb57e3cec797c81ed177d3797b3796f6d557c59827e879f99c49d4094599d8f2e11a25021b88741121578fcf0f187ab6d9d86fe9540800201cb80da5f0f8072dce8867182408610c3e687b517098405940177a3c62f87a11de7a140c6518b772ffe90d0ff517a6337bc7a4731e884f009e481c9ff5d7e10aaaf85640f837a9ddae585f677827570a3df88fd176c7fb821e581e3141a880da01185b9c74d91a8d0adb5a830b98a98d596854b503a7f71f93979f199b87b576d82856732b6802081e17513731f86aa71de7bab9c0b7b9504b77dd33dc588c3081d8711a6d69ce9d132b70f581690eeb4c387ef1f3f891488ff850c6ad17f65c33c83fb556d7a7593da766c6ea289b8f2d4773175507ff665ba7b1b1a07889b55d5872eb3a3ad2635c08f9e5cb1abf8cd4880b438bd8207fc1880c7852a825ff03b799761ba7d45ff6e83f3c032836bd33c88f9528b7842413a8acd5f41791241c6797e00768626b90a94288aa1a5666113b2936c9e8674c93378bd4b018435dcbc896f86f58183f0878944c2787e8bc6a3800e95f28030ab2f84eff0738796e3f086a3bb4a787ab2db8e8605e8029dba41fc0fec099202a3146465e9e48541ca737910aaee828218f280c17cd777ba82bb7f86543685b164ef7c2ba9438786dd3a8a7b507f0163f5d885402166773f8ac7876b9d607ce33c1c7e19b2be8724cf6d7c03e4fc8980c2947b38276678a01a957f5b20d979fbb3b980449eb677a3f51a7f85875e977409adb1d85985923d3d9285a373648968b7367a99c2bf777a4d5e8bec6933b49ebb36866d3b2a857b913e801439228606bf4879af072c7846471082c4eb50792a9bacd048f7eaaf50a4298c43f866892c81747939ed307b3117b0807c33b579b10ac6ab76fefd84ed4008863e54757ee60c6c84d8e57b7d6f137d7befe98b81fc80327e5272b490077466a3fa75cc7bd93f9b809600d4816a061682318eb88537eacc9f21a31596839c47862c81877795452d83768f2486d13aef84288d59805cf1fc7da8802b7d5c2bd79efe2c8a7ba4035a8adce0c37c9689f17f1addd17ffb0d3d76923ba99a5f20aa87138ca276bc035f79cd58d37a36caff7de1d482802d1158980da6d278e6c8b2b0243f45784809ef7ebfcca47fc88c2e7670912e824b6d88813c80618ac0073991fe161885080abf80bf4366782a53be7d00c88f7c081ca67d279ca488d6e2fc838529d8da6786987e49e16a8672369b85ea9bab7632300484fc094a834564e5821320058750819d787050477ac7c6fc85a97c4c77ce05b385d731aa81ec7a6b7b21116d9f402da080b61ed37b640f807b9557458322ba2980bf02c67f26cbf57f844a31f92599597dcabe038254c80a7c11f9247eda30877de65f277dacaa7c751e2fb2862d35b4d8ab39677e7c740f822d9a4b8286fa6d88fb38668752b38b8981ac3286cae9891c02f27487ab62bb7a1fbbd7830cdae57b0009c67d972b7b7f732b0b8a8c270a7926b9557e26b965778754407bdb421988008793830761d8810386eb891e616e7dcdfeb21daf446f7f4d284f88033e8284a97cc4898d76f6794403cf75b181cc8384b694886398b385b1ed06868003e785b80f6c789337238259b1cf8602d2ab82d17b4076c8df6b76b19eec7db223cb7af598fb8416b355867f0e5387afea5e8336d12c79d8f7827d10ceb685f72b9b76943ec675625f6c7b8ed07d7bf0e51289590b7789512ae7f942a87d193bc3b7860cfe8b756a23c6798e6bac77e4c1b776f9a53082692e80857c69bd0294a0e67cb08c0388f86fa6869b434e7c16188e8164bc08860b8beb8269e2dd7fec151e79bc9e1880227d888822e976806f499c7e152e227e8bf5fe7c00c82481e898fade846be38140e0277b84f7417c4f07417e06246179c3130784a5407a7d9868321b0570a17582be397afa231e825cc2eb795e065278485135838804da8666c69177ecf1107f5355087c41e7a28673c63484afc6d57e43856c7d52fb6b813af4d0844c1f6f76d44f8783c1e17f7db42da482acf24e771cfd3281b546ac7526d60b8748fe1f983c79bc753462cc825ed78578bda51c8887083f82eb0eeb84495f067e0fe4491cabd286868a4831815475fd818f38ea777403c98871e7ef7ea3c6678512d81d865d110f8c34698d7554afad851fcdd8810c87aa7b7576bd87b58e8d783051d57750323d8688983780655e137f06774080977ead773b79897760af1f7ab713d97c320134a58490f57fc391ec771c748778eeed3a83d8e5cd7b0c1b317650397e751e2d439514250f8869f46e7e32011f7b923bd47f1415e87cca2ae676abd23088e0933786f3370faf90fc5c7a11700077b044bb7d6b67398893c04976bb6ce7844caacb8e90150b8a47387d87a7267a8092e8f383250cb87f92304877e0684c79be2311806aa14e90e6c4b184e8d9447a36415e7e985d2b781cce728a5505d084eb7edd94a0c6317d564da07d912216873720188445ffa3887be4cc850b4ac98349c4fd77b0035ab57743148037b193853c104580ad82d77514159f7eb4c19d8ad4e6aaa8f7030ab738f7d0840fe4f07f92831f80181bbd80af198a8857912a874cc3538aa3a9b184886909a28f67ac8db04c29208044f37b744b1d85543f9976bb1265857df9789baf534c97fb418d816624f780bb2b107f3e951479f5987581800a257985c88e7e6c757b7600a4c1a0b45b9c9448f01495730fb57c8b73cf849c925379f7070f94c5f476aef6b56c92385d8c87d66b3c89f469477c88869387e26060883f981786026df37e2a19ef88f051149ed7d571ab211d0696fa4b4c925b06cdf90b12b2acea4cd994d5f38fa9096b1baa1006b2833d1705846fd93c7608d46e834a25df80a5acbf794cb5a77e37326d8a1b3e6a75d1efd3932d0e509fdb5a679bdeb55f839591fa9214bbeeb30790b58de9e509994ae8207b4929a68874c20377692e2b81b23c58827e0750779f499b816087c97dc582d977e65fd27dfad0327dae652276a0e4e380c964e3814df92e81d70d058694216f790b798d810e953b86987a5c76f1631e7a3199107cecbb598a1b5000879416c67a433d1e807fa9d0788b7e6b7d6b1f6b80f450b3784ad6cb7e7f3d7789b09e05783ff6838450b7a67c10fd09819ea75b84483429889117d079eb12ff7a64ce877e86dd3a7e44c2e576c4e4c78992dd2184b41b1083ad8de681a2659884516b99797ea68b8a7c3a96812140577d7050d186273ea2868625a48003f62486497c2d88cde11c82c797597a68273a86fda03f7a72d19a8025cf8e85c3e48a868b3d3c8216a1b67b863b8c7b9eb9ee81410b977d9bde3c7bcb1f817ad4cd4283a743b689f40f92893852d2824564128963b528848678487e4cd9178a6b7933817714a683b4a4d1794593ff83b695d47e01c4fa7facb56682ef67a086e7080681fb67627f9dcf917c8438338385bd647cffdd427886d68784084b84788f721284ccc1ae804a8a5f76b0731179ec61a875d319af7742add57f49588b781ff5878382a1be75ad9fc286be0da075eab1bf8001057f821ebf5179a17bce7f95c3768523d345893eef997f9803a383b5587d7ea65984813428377ccb4377750e1eb88273b48686eb199e7d47431b837e5a8c76a2000e8217f7a989b529a2871d00c0889cab9b8092fa3982b886b4760832407b0732107918d3578636b48d81ad9fce7f8b4f658a51ac688904d5e378be8fcd7758862e7960512d88e2602684f06ed37ad84ad7875f38518621ac3d84c5f94f83c105c17efc6e887f88864f8349f38381003f2e7a1c0f90805953987e2d11df7a75b7c276c87a1d7633d23b83f3c07b7f271a99754485fd89ae19697fcf49c475db428f75355e16875ac6f27f986fb77704451081b5ab4f8199c9fb85ddd5ff815bcdc98699d0da7e40aa8478d7a8217de64da08891b21a7b6a4e477f162aa184ef848f7963e4ae7f55b2747ee8aae78113973e85bc15dd7d10eb9576c3541b853c511277f7e38d8129ee7c8277de3d8425f39989f3ae567b08c297791d942b7743eacb864c9f9581eaee987a2bfc8e89b6255189a1a604884780c6894f322383d6c503779d874487740ab27a1987977ecd05c47d9e42d37e9582c97e93a3827a8b07197b60807e88ec27cb89c33ed2779cf7a38491b29d87e8ce317c7606967c1cbc427ff2a0a4895ca50c84099aba75434fd6808ec5db790bbae582d59a267b2193377c198e02882392d9786ce58185cd223a764444b782d5ed938493f6fa88497cbb88a547368407df8277524747800ac52479c3ef9379b7ef637d0a7d448ae505fb85d2000b81f89e868a14eded78354c89764d69d6883a67ea761f730d7c1660c57e4b910c7f4265d77adf24907994d9e97d9790c1794b25d48978b6ca805ba2e27bc9e65c825d47877a0075ac86e4f7ef885260a5894e07c382873e7f7a765976775ddb657c9d6a5c867224b68795a61e8a8b32bc854df9c77e2bc6047b471f6c88dafa7576b252ba86dfb46f7752befd880ec0ba89b9c3e67b955e41806d104688ebeaee817da6207ebb5ae182a6f4a0802140548aa224798a7d8296828dffb27c268397866c75ac893ee4f184c092557816be177d6cf78b8489c31a7a8b90237e0af46883a3bb458803d91f7f9653b476079058880c6ad07ed731e88555f31a8873442379ff13398a14f8d9820ffd8f882093ef7c55feb27f2c15658a7e072788a4931b7b7afaf276a3bfcb7fe65f8b848b0e817c89f27c89ae2b6f7653721d7e3a842777da587b7e47a8b17d85eceb7e2451a7855fde4e78d14ceb786f37007e717006847899d67a8015b87736eefa797b3712870022057a8176d47c810a5b88fc1b51832ae3317c6844e189980a4f86a13a727f5a5a8779c873bb79335b6c7f58e0be819283c283f594d77c459a187c4f3dca88dac04689497cdb7571e07b76cc02387cb3de3e7e1d82c389e2b3d77e79e1c187681c76786295c77a50157483bd35367f2dbec389cbba5088dae83a7827781a7e48f7e084e31fb586c9359a77f83d0b7e02cb9a89ada61b7f89b1e87a67d88c7e6707427b99938e781946a582d18214818af57b892ff7ab7ee8989c83f05c297f6f49ac7b60c87b87f337348746433583d576bc75c06e6582276dbb7d4045f27f54ec7b8095e77f8111b8f19346d17daba9fa6da11cf467aa3859288f3cc3728b9eed0699dce1c498a94081abcc74dc93adc02d80a611e69689d47e76d8e5ef81f8df167bee356686fa47db8079296890fe180ca68ea14a8fd585aea5e57284b721d15690735e838c7fa9fc90139b619ebd8bbb885e595787155da79923dc97853e25f6867c169a89cd4d7d8155b2fb7ef283a7b6a01fc59039f30d8be3f2fcaa038f8c914e98bba90e3c390475cfe121366e6c9c95282d8c24ddfb76fcd3e8a12ce52f8a9e9c2b7dd731f887e5e10678796af378db30477dd29b5e91d6efb598e5c645a6c33d249705e638963a36d927ed7b3f7b468fde7fe61793872174c38c3c56c8806533e4946850c47de95ea0881d24437ecf66a68911ca7183257cf48036e333b14fed0a94b7f8369e40c24ab15e273afbf4242f7bc014267d0d46218697689281f3c0707d42369a96dd92ef8486a7e285868a19877702ab7e74c2ba75911089820964c58cc1bb5a8d0d6168ab7fe96395f8046584913b5e84dcbc9d7d691c4f781880ac7fa4270798fc66e48569596e7919b2f9850b92ac7fbf720d7f5d9a7475b3b304b5ae023e9c438c2ca7b54f16ae68e4fd8838b7e27e9bfb787efa2ae5838a890d7e50f8278074ddea87b8a32d8a8360f575be9a587cd02c0c7fb07aaf7fe7789076ac2c098d48130bb71a90919c94084e8ca2e23e82e93a1c8744d405766af43176f3135e8af881de871356c17b23c142a4336d307fe8ebea7646c51f7bbff01d762d648178ba9bac76c395cd88e8eb12057ce8bfdfa887df81df2b0b8a88218882fc269a7918b6a085ab2ca1813feb8f860249749eda88c17d924dfb855f5cae8124b6bd8722e96f79f4a3c37677f0507ba3a6290509290add8ea2a189b00a0c83699ad087dfcdd688bd35d082444b5381864d367773a2068d65335879d21dee7c9cd324817c45bd793abe9a874f689495c77f489a9d579b87bc5d58813cc8ad7b4385387c0e66b7818d118a7d66129b8af10519864c0458a4fb9f2586dd3a327a2bd82c8087913a76c34221860ecb6b77001bd794f5078d84332c2a7b60e553865d064881db78b57dc3e43185337fb481f4b58376b372c08951e20a857ead35856815ff87070e4e8afdc4007de575328529774a79921e897d22a158fa6e65bb79c5579677223ce77887ef4a8381acdc861a660d851bf6ad8548a4ac16a756c877f57b6a7858b56a879a0d6186631a0281c6bf6a87194d5c8932e4969bfa8ccbf9895f23810a3cf07f65286c78f45bbc7524f7aa84178bd07e3f08cf83d9ab8fa3c8e08576fc02a08a8bcd767df2d64f85af6114827e7ee886805d0476e6a01e83358240fc52a107896e9cf08443329d7538f1f7777befdb8471d5da79adc3ef7bb534d317d69949a6c15000822b97cf78ba65ae790bafbd89fd4d7388d731618871772b831631ba7fbe213a7d233828890a8baf80122b39868a89188a677a57843f5b4c7b895ef2f6a8600f8da00b8d7672a6f5894c7b4788a22bf5863b8bcd7b36eeae7cbc7aa388c0c8e27cb9b1a97f18a43e7ea4155487f1c4797fae5a397d739757783cdaa27b49bdd0b0f72f2684eba23585974f5582e0bbcd7f89f90d7b1d5eef7f7c0f586bc4f47e797fd19e1aa42fcf7d7b08a1832ad13d7c08f1da80f612927d6ea7ea825ba91582df3d60b877428d883129448aa6a1a8846f91f9772b61cd819ba8488817d32b85f3e4827b464e3d1ca62b8d86045e467d770d3e781c5064851cc3268677d3407e6ad78d8027eb5c9da485877c3964d1773c6e7f80b9287481069b7c7d71e72d768671e38039e2f47c8737c1849a065e82acc70280fddad8898f09ac893398c088fd17828828f2fa8ff3a7b978bddbfd891bbcce7cd8a43685f421b5879893427abe2a5d7697bf85825123907933e4917512ad6c7efe17e689528444878994ab7dd2121686a3203218f9ccfbb539f89d83848054883afbea7bea82be837a784089d74359823632c07c7fc62489ba9b2b86aacbd77b6fef3787ddf98777f641ef79bf6031824e12818604e00ca3a529537affef3e821e12c889d10b2787e00a2c7a784ac0764444d9838b73ee81f4aa2a97f456c188aa1e7d789f49e37e23558979e30dd37d36d11778d02c98aa1cca728171e797839ed69f840b094e7c2efbb8805fd3ff8517a4d181051d8582ceb2c3800cfe9eae3e68e2814702ba7e21befd811b7f9383e9b1567e24925198062adda32dbbb07f51d0827d6122a880e0f14c850dfa87893da07f8314d4a184ff784e83bc277b7d83883109d35d4a8746c5a0792c44ad75dae83c7b9eb9a0825c7a1b7a5d52ce8506078986a9466684c7fcf1898c81f8824fb4347dd606fd81d8a42c8af1053179539681856a7dcf8dd362e41904e8497e9462097bc026c016948e1b8652962278811c51853e421278d9878688614d6086cd29d0821c21a97c8adcec7c6d87147671ce407bac0f55806881268f947260a23b13310b5edfd2a1c0c7f8940b8d7877b8c70b775a94d57fa43916770c1b2089645e357d593a168549cf977be181487c77cc1386e845a07535f2b68cc3f93d8f3201b17ac14abc8a8e117eb15ff74f93059ec07cd0aa487e5ed0d4894d0bfc8508db8380e04b67780134877ff9a5b77605c37786ff0130841ad252763105e8a7cdf2757929c75685b799a78a41b690a64996109aa444b7781e368c7c151c1476b3433378a7557c7dc6249381bb4f0d7e01e8c384f2d645887c0fc07c865f978c4b78dd89d64e48a8f454d57ddbf32d96a030748c39814a86ace04b8015be4b7eb8fde777fb7df485a3973f81e1881f89a6ba96887bfded79b98d907d9993f17ac0a40595b5684078cf95c1a99852d1ac70f49fa4fb34fe9073a422856b26b07974203a7613ea107f83cc6088d6e2587dc16a4c80414cba885367f67e9707a4890619d8850c673880f670ad8be94c86962f2c84a966d482915be34883e82c40784062b17e5ee96e76f09d1b8650b0cc7b4784d3877a25967d8c441d7df761db7f97a93080897025826283207be7378684332cfd7e206f437a63498e87e99f8375b4f75189bf8b8b7be32af98687c08479b7aef885f88c6b7d8f846f7bb3e9da7fe558957f0009dc8643a96c7e9b148879dbc08a8215ff388aaa42dd7f4a5ff0811ff1f5818e06e47ac8cd4a86f6eeee82aa30b87abdf8cb8432542b87761f5d86f3b5f486b23c8077ee9ac2777d4ca1751ab2a078171f08853d0527878355ec8757913e781726a784ea9b1c7e45db0980bfba027771e0358258eb2e89aaa7b47f5db73d8a47802a7e321e8879cd346383673d8e7ac4b55884a2772188b2a1717e6976c180ae9b567859579c761d69ee7556b9cb7c9bcc00847e071c82ac50d27a3433ac7948af2d881523bf894b91237b1a1e3c852750dc82ee23dc7840452f7e8cb0057b6d34a688a7f0a275f08be77df90aca76059f577c7397527c7d94e488f744fb83783fed85d5939b8708c94688cfb55b87f8686577fd51968287f6f77f337fbe86165543771acbf4779a06947deba203803e013b8a49172984a08d288449cf7d851a308c8172891783a59ab7898231ee7b1d704d848613c57ef62f6b81dcfd4f8026b9d276339c607d0b676a83f0d3d784e1acfc795372c67f94212d875410a28113cda37a1ad69d85a7d3d47ab6e8107627012f8823792085b2c5b689fe4230843eaee281838b5c7c92a70687ec03157bee18507a9a351d8019295b81ca605a7d1004fa819dab4179e63b4178def95b83a56493860e428676c7480081dc339c7f00feb180301bc287f90a0378d8c1e17a6993787ebc03b389350030881cb133894851ac754fe3c9757a3bce77bb5ac287ec6f8c823ae93f7c3e78068122c5217cfa0680878cf8e678ead59586af858e76f8fc64824caa7889d3a99581f55e177d90c1ee85430ef689c81cb975e0b45e7ef2e8f1820350b67a2d52c081925437839935b97f93ae69818a7e838367fc8384b5e10477daf33b87a7c180893f7f5b8100a4f081c6bf058280f88b85273e0b7f0f374584dcc70782d2891d7f00ab0b7f1e19ad813f50de75676c0f7db93a287f5e4e7583c117797af75a9e773e951688613b787bc217e47769ede279fc26547a405786859d4d487e9e54ac83ace08276357bf07c9d87be829271698a439ec77bef84018a124f4d88fbccb8778beaef890c879076ae2fe2885dff2a7aba41178a9b8b9689aacbe97de235658477559f819271118213ea9089aebfd081aead5a7ad987af758288d4891aef73819d8e8378a9c80579c0f0cc7805d523830a2a2c7b34aaa67d9c09937502cb4f8399110585a810cf7aa48c18812e3174836bd3ca81b4c8bf7ba55280851385bf7a23cc9c88e111248a3f7ff9836565b37b2886a389ad82808143d8d67b0fc02a7ded52378414f8ea85680a7c82021ef280d13ab77ecc26c478415e777595212b7637ea107fdf85e97da2d1d57877a85a8f054fd87817cc73785eacd181fd4d1e7ae8507c8608649675ab49ef753ed6a17d82594b8a75be6684e994417ed008b18982d7a68085346c75527dca7e4cfd827c925fb18a26fb9c7d83969e80d5c962781e2426808f9d187f1c7b6b81bd23737d36ad907c5ccd9b88c213bc7a2044cb7da30eb3848296f97a858edc7e66f5c1804dca5c97e631ac8383d3e9924d704e7be766177fc283e37e0940a081f5c3a577effb0f78d128dc7ef283a3849ff6ac768db7d7864141ba88f4fd0f85ae908783c86fdf7aea1d9976c06eac76d5395c7bff787578c2e8a180a0864e7b18d3047f8188748722b30178ddbcf278d68f468626d2a6818176b87618c81588a141c77d688c5799bc773b7706b86a762f8fd0795bd82a762766388564453c856c63237a9993867c28980d81e372fd82d659ef7c1d1de3817f0e7e7dd36cf77e48e5af80200a027c2b7ea4805127f67540e4ce77fd0900783fae4978ff664c801c57cb775701257d12f56581c313ff8387e42676cdc80a7e0541767dcfefb37c209eec7ab27d24874b3e52908b18f993d8534d932c7e948a6a2a6a81bce6f381587bb77d9feff67ebd766a7e14d49a88bf55a3791535c2888326787a68a97579943e53898613d986d8a4c189c1bdcc85633e9d80a826da754c1a851dfd44aef8d62ba41e5d0958f764995a18c37b007fb563ce7f82183f7a42d1b57d7f0edb788f604c89a6c53f83c6f508863d712182a796a8b87bfc419c5c4d928c461498b3c64e467df0f00577cbb3bd7cf9b0af84652f06779b180e7630af657d3e83c487f88c648321596d777838ed8534b14086f6483682494d52a54b994fb14cdf889674ed6fe45cd01677fac9c77cdae8f77eb63b028737324d82d2775d7bfb0d5d7ce1a574786c8be787446fbe7dd4cdba808b3d3e7f6f081176c736929aec6cdb931c365da2f60b657a63e42f894e61fd7ffa064277e70c1080eba22c7eaff558792e18c983a481be75246e828625a70d7787dd30804b1a267b30c8b7907cb36899915363b8a8da7c832c2e1c881eeaeb78400f5279d4a987769820c27d35d5827d56787d7d35e7d0838aee81787bf6f485b379f08946ba9e85f36d258811ad0cb5713fe3b036c48f803b9dee809a182a7ef8bbb47a816fa786238b207b02837b866815257d73f59f7c2c27247a456f3f8a7df9bd7a65d5ae7c446817839bde42b42288a1ae2704c77caf078d7b2ee94780d796e57625ec0d828d2e037ae850fb8070577a87aa8a7f88b9a6d080448c2a77e563cc89ce9c0e79f6a63779b5abe08996362dab3a1b5295f3a0c788b0816586d5b7c7830c990c78718d2d7ab1520c7945c9ee76279178835aadc77e936d187b67e3087a32c44e7ec7d1317758fd8d7c7db13a9d7462d78fddc781813ad7a88792a79383b4fea2758dc2c989eb612b78cda49f880c754177d7a15284f6e3418453794d7fe8624288e2fbbb792480f88789534188638656a9a84e11e2c2212b82fac52c83c91c0177bc320c81463c8a83a6d73f848fa8f3827ef5c586fee8e884bae36783cb26f87d28fd03897ee3f78490229887bbc6f09981c9e595298684870f9102839f9c44890022577c7403908286427e86c83960881696aa8591a06683b7b5f18627b56288c3c7a28517f01f898dbed87729f9d37fd8d3af9a36f8527b9f8ac97fa81b897950df3377dc74ff7d172686884b2c5e7ce34ea786a10be987fb8b28814606588577141781d0ceb5780080dc7b35b8089af50605a632ae6380b113b9841f448b7c53af8e82629c8e7b6d462c84b529f8853fa33e81f3541a7d5da56888347b008ad8f76f797a7175779db675760aa19a88e6fa9187b1590baab17eb086d71fb08185b2638ab04017856421707e37d805881cb15d88724ffa759038b588f69ba18984bddd7b47cc747938328d8319a72d7e1ae8ad862912c98eb6d158a54eb704887212bc76e02002850249b477f2f3da80020c547fa9222488c3b52c7c5b7edd815e06c4897fd88d7b30ecaf79f2faae8243c6a888761f9395281ded91edd4141ed0d5b978f28ecf8091ab527827aee97c6e424082b75bd187f7195d7c9a7df67ac230ce8419a0958948fe517f51c93877cbd7fe7fec03fd81652fc6882e1c87996f89b81c7afb5c7a5f31277e51b72685560c9a7f80e6cf7a86cbcc7cb64d1778f2c4f377c4eb0b83f3ae66890e01a978324d7d80597000884858f28894e06b6e7f37fc75b98dd887eae34880108d7b877db89d7722e2de869b79b580e99f9e822fd347852df4697514cd9d7fe032f18769db56862380f97f929572899eaeb77bb3670d85bded4318a4fda9827219bb87696b6f79f05cbd858a7e6d8901e84b76f7a2c97cda5fd17fbc7a1e8244d4ec8081234387b7494478ca6b05859607b68926aee289951d3d82e6b2a1769dab9f826582fa75eac33276de3abf77bf1f7a824bd2867eee2a257e93912887daa739834ffce37db83364850947b6875cd437897c1d8d7fa90cc4855ef0627bc0e5568409ac0d7fea82ce85b07afd7eff01eb78a8802189e84568772ccd0c80b2060e7fc271587d5343288876315283a33df2894dad79822b0e6e80b9b1dca037593b873416db7a3e4db47f87d20c89e8ce2aaf8d2b4d87b39d3f7908f86678bf43fe821016298197ea5188eadc098aeff09e7b3ee8858894b85f7d11b12c782ef4e396200a39180823cc7dd0a3477c6ad73278c7c6d4ee5bf2d17fcd6a4382b4c84583ab5b6581b8d90a7d0d46737e1dd5007aa0083076bdf83a7b62a7228138a59679ac983ba1759f3791f434af93ec47b7156889baedb06e6a8c964b139ff953427a3de10f7917afb4882cc93682cec40c7da128338a331abb76fc26618946cc1588e546a6877ff118a6a39c919a6e8d7598e435f3adadf59f9050ddb694d615", + "proof": { + "index": 0, + "siblings": [] + } + } + ] + }, + "job_upscale_one_output_twice": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7122\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:44887d4374a6e149b7b2ab2c565a697868229af091ad179821e18708f7a6035a\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7122\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"674eb28fc2958e3084fb02f7fda26aa62d36b41a9714e7eb495872e01c5efed8\",\"sig\":\"1ff9545de8c64e80cbbe636c7bbeebcd92319434b3a4ccf2f3c2b30caad38b98df687647f32ebf7386f87ff26b68741b8976d2adecb43e18753b7f1bfe9ee700\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:44887d4374a6e149b7b2ab2c565a697868229af091ad179821e18708f7a6035a\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:d92fb4dbc902b8a6752387846c1cb89b374c231460386351128a7bb345cd7c10\"],\"output\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:de55a860549c680768c94792dff94903addfdd13e90d9e151791ca1365fd71f8\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"e9545540e8561c2117703977f4e22e48b91bea56d471dbd83859a06612b8774e0821e940c5f41d4c782f14db1a39dd87a49bd64e144a92ed5981c456514d730a\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [ + "175177c82309fb27f94cd0353b8b9816f5b39bcee4fdc04986bc8efc754faa9c" + ] + } + }, + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [ + "175177c82309fb27f94cd0353b8b9816f5b39bcee4fdc04986bc8efc754faa9c" + ] + } + } + ] + }, + "job_upscale_run_again": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7101\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793172800000000,\"attempts\":[{\"billed\":true,\"delivered\":{\"count\":2,\"root\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"end\":1793172804000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"receipt\":\"sha256:a4f3aac609ac8d7e1bf6cda5c8cbf35e724847bf513a75c8e4e0c65ce2e1d064\",\"start\":1793172800001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793172830000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7101\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"da65d5ba7e61ce559b9f3145c92b4ac3aaee07160539c72bc5375047490e909b\",\"sig\":\"afe80448ba9861e7dba8cf23423d2f361ebd5326aa78acf8fb2915d890444724112cf1fcb59274f8f64074fbab9fd79fa2b878c9109bc2ee6c3b64d2291ec700\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":3}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:a4f3aac609ac8d7e1bf6cda5c8cbf35e724847bf513a75c8e4e0c65ce2e1d064\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:51be9677b74acbe763b5c3fd9796b0f7402e27122f1ff8e6c3f940545ff9edf6\"],\"output\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.25\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.25\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:4670626e4ff82e02ceaf888879865e88a108b5f75c4dd8256189705157a5bfb7\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"fc670128a3e3a8e1d1f4996ce90a85a45ffd26e75ee70543f0e02e2c44c5cfd00195b7d5b314fe15409f7f8c481ac43d1276b1d04f4ae448927d222c34d1ee04\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082", + "proof": { + "index": 0, + "siblings": [ + "175177c82309fb27f94cd0353b8b9816f5b39bcee4fdc04986bc8efc754faa9c" + ] + } + }, + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":3,\"samples\":\"33e14a3f9b23104884aebd4a82e3ecaded0cf1151d3c48f1903a8544224d283c\",\"width\":4},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"74daa686dee839453d714d95e3ee559fe58525ea0e9fd577d42c47cf6b055b40\",\"output\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"61c44624bdf0694c862f7da8fa483cabc28f3a66b8f763915f96c72bb4495dc52587eebb73a6eb8ffe67fe625819f0b21500bc0419e285f5a8f1c13b76693806\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d5a00000089504e470d0a1a0a0000000d49484452000000040000000308020000003b963991000000214944415478016394972f6167f8cfcec00c2419ad350a801494136e5803a4201c00a35408cfffda6c1e0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d4948445200000008000000060802000000716748ac000000a04944415478016354942dfac7c8ccc6fc9f8d9191f13fc3ffdf4c6c8cff59feff6754512cfafe83919bf92f1f07c35f26d6bfdf18d9fefce062616634d7cefbf995918de91f17e77f867fcc8cdf98d898feb2313131faea9630fc66f8cffc9f859d81e50f33cb4f1656e6ffcc4c7f19c30d6a58fefd6762fccfccccc4ccc0c40a9463facfc4f48731dca886f93f03d036164626164646967f8c4c0c40abff0100a1d230ae285e7e980000000049454e44ae426082", + "proof": { + "index": 1, + "siblings": [ + "a1f08e0743fcba6d0038d224bc565589dd3df79de89e518f548a2d78cba7e647" + ] + } + } + ] + }, + "job_upscale_under_a_list": { + "kind": "job", + "request": "{\"capability\":\"wai.media.upscale\",\"deadline_us\":30000000,\"fallback\":null,\"job\":\"job-7124\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.upscale\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}]}", + "pricebook": "{\"currency\":\"EUR\",\"entries\":[{\"capability\":\"wai.media.upscale\",\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"region\":\"eu-central\",\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\"}],\"issued\":1792996400000000,\"kind\":\"wai-route-pricebook\",\"version\":2}", + "policy": "{\"exclude\":[\"prov-x\"],\"keys\":[\"price\",\"quality\",\"ttfb\",\"energy\"],\"kind\":\"wai-route-policy\",\"max_attempts\":3,\"name\":\"lowest-cost\",\"version\":3}", + "record": "{\"accepted\":1793000000000000,\"attempts\":[{\"billed\":true,\"end\":1793000004000000,\"endpoint\":\"sr.alpha\",\"error\":null,\"hop\":1,\"not_billed\":null,\"outcome\":\"served\",\"outputs\":[\"5bcb51d8743bebcdedd735a14f8cd54aec743ae5b1198762a9b3f895c29d5b5a\",\"ad025c5a3e8d332cbd235956f634d2341e149ebf8e7a85ed02648e69b1b64692\"],\"receipt\":\"sha256:59a98b3f16672bb3605be034aff5a3a502a561fd431ecbca032337a6ca869d78\",\"start\":1793000000001000}],\"candidates\":[{\"capability\":\"wai.media.upscale\",\"cost\":400000,\"divisor\":1,\"endpoint\":\"sr.alpha\",\"energy\":4500000,\"energy_class\":\"OnChipCounter\",\"energy_uj\":4500000,\"expected_cost\":400000,\"expected_ttfb_ms\":500,\"failures\":{\"billed_price\":0,\"failed\":0,\"failed_ms\":0,\"from\":1790404400000000,\"hops\":1000,\"to\":1792996400000000},\"ga\":true,\"needs_consent\":false,\"operation\":\"media.upscale\",\"price\":400000,\"provider\":\"prov-tx\",\"quality\":950,\"rank\":1,\"region\":\"eu-central\",\"removed\":[],\"residency\":\"eu\",\"retention_days\":0,\"trains_on_inputs\":false,\"ttfb_ms\":500,\"unit\":\"subpixels\",\"via_fallback\":false}],\"capability\":\"wai.media.upscale\",\"deadline\":1793000030000000,\"decision\":{\"decided_by\":\"only_survivor\",\"runner_up\":null},\"fallback\":null,\"job\":\"job-7124\",\"kind\":\"wai-route-record\",\"operation\":\"media.upscale\",\"order\":[\"sr.alpha\"],\"policy\":{\"digest\":\"09d08acf6a76fa45d822f10a6806b21ad1c41172bcccfcd08548e59567c4c741\",\"name\":\"lowest-cost\",\"version\":3},\"pricebook\":{\"currency\":\"EUR\",\"digest\":\"1090362960be9e51f5be059ad107c5e57fc6f1096b999f7a3e62ebb4610ca068\",\"issued\":1792996400000000},\"quantities\":[{\"quantity\":1,\"unit\":\"subpixels\"}],\"request\":\"2098a7bb7ceead3cfc496bea17193cb858ea50d22b59cf629a27d53b666a3170\",\"sig\":\"9938b15767cf0c8c8d10af8514ceab24b00910be74fab4299384e6f4a21d5172ba6586e60c1f881f6d68d4bebe2bb21af680c34c75cbe0dd1e1d0be5e3861f09\",\"signer\":\"5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb\",\"version\":2}", + "receipts": [ + "{\"oer\":\"2.1\",\"receipt_id\":\"sha256:59a98b3f16672bb3605be034aff5a3a502a561fd431ecbca032337a6ca869d78\",\"kind\":\"job\",\"capability\":\"oer.job.media.upscale\",\"intent\":\"replicate\",\"subject\":{\"inputs\":[\"sha256:32cd9616ce4a1990a3307756e2b3b41cf0018b5af05ae5424cda174a5573ba64\"],\"output\":\"bef409551e9e96258535ee2a6ea6afc8aab72e4869b6f84f8249d4fdf61241a0\"},\"work\":{\"status\":1,\"outcome\":\"completed\",\"latency_s\":\"1.0\"},\"energy\":{\"joules_total\":\"6.5\",\"boundary\":\"the hop's host\",\"breakdown\":{\"compute_j\":\"6.5\",\"movement_j\":\"0\",\"idle_alloc_j\":\"0\",\"shared_alloc_j\":\"0\",\"upstream_j\":\"0\"},\"method\":\"hardware_meter\",\"temperature_k\":\"300\",\"class\":{\"label\":\"OnChipCounter\",\"relative_ppm\":20000,\"window_us\":4000000,\"filtering\":\"Unknown\"}},\"provenance\":{\"how\":\"measured\",\"device\":\"hardware\",\"weakest_input\":{\"how\":\"measured\",\"input\":\"sr.alpha\"}},\"floor\":{\"bits_committed\":0,\"bits_delivered\":\"0\",\"floor_j\":\"0\",\"decades_above_floor\":\"0\"},\"chain\":{\"prev_hash\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"receipt_hash\":\"sha256:18c20b5e5fa66769f268f2545d73a6d462f71464a9fb477b4eea505bc26f7f66\",\"signer\":\"ed25519:route-corpus-hops\",\"signature\":\"215820aa02a25915f3d63f3edeb6163ef84d26bbb501e2f7d275bf70f61c1a2ee434e296c69df3f6f65479640c4b0ead33a72e04b76c5ecde40e13c510a81f06\"},\"hash_alg\":\"sha-256\",\"sig_alg\":\"ed25519\"}" + ], + "keys": { + "ed25519:route-corpus-hops": "733470a6f6824eef91aa6b6fe4094e4e3b864ce6a368122223cf718fdc57fc57" + }, + "outputs": [ + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":4,\"samples\":\"d2bd9aebb29017e021a9f11846a23d4cdf89e4f87ac29ae6ea8451972cf1f45c\",\"width\":6},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"bbe52ef2b84563c1ff15028eb7b6ec808d3052046bc33d43cf133b6f39bd1a25\",\"output\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"37cd0ff49ea810d70e6092e1a63ea8c08af0171953b6b46384e31867e24b8208dacfb050e50b3454763359043caa2a2af492928c2b883c49c131c6ee3aa07a06\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"9f2b8eca3a8e739d75c4317c694a7b28a5e48bbb77d89f24dd34556dcdd5a9fa\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d7100000089504e470d0a1a0a0000000d49484452000000060000000408020000002266d91400000038494441547801636460086567f8cfcec00c267f0349462dce6020c5cec00d2641128c214291400ac26167780d2419eba4dd8114440b4402007b4011f7d903750f0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d494844520000000c000000080802000000428689a60000012949444154780163646608fdcbc0c8c4f48f83f93fd35f06867f4c2c0c7f5919ffb330fef9f7ef3f2b0313070323230763e08fff0c6c0c7f053998fe33b230fc606366042a626461faffe7f73f3686dffc0ccc8c6a7cfe3fbf31b233fee3e46664f8cbcef8838399f10f1b23331303d02c06b67f7f391999199d4542ff7f65facff48f898b81e90f3bf32f5646e6bfacff991819ffb3fdfb0344ecfffe33068a45337c666466fe0b52f49785f13713131303f3ffdfcc4c5f39ff7c63073aeeef3fc6548910c6af7fd959ff31713230ff050a31323102ddfb9799f13be7af3fcc4ccc0c0cff19ab243d597ffd6165636062f9cff2ff2ff37fa07fffb13230b33000ad03b2ff3330fe67ac9570656160606506f2ff3133fc650129facfc2c00c72f97f0626867f8c8c0c001a745d0d2420b01d0000000049454e44ae426082" + }, + { + "upscale": "{\"derivation\":\"wai-upscale:sr2\",\"input\":{\"height\":3,\"samples\":\"33e14a3f9b23104884aebd4a82e3ecaded0cf1151d3c48f1903a8544224d283c\",\"width\":4},\"issued_at\":\"2026-10-20T00:00:00Z\",\"kind\":\"wai-upscale\",\"object\":\"74daa686dee839453d714d95e3ee559fe58525ea0e9fd577d42c47cf6b055b40\",\"output\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\",\"prior\":\"0106ab198efcbc009a32c4fbf85da4a557daf827d1f92d8de9c7939953329915\",\"residual\":null,\"sig\":\"61c44624bdf0694c862f7da8fa483cabc28f3a66b8f763915f96c72bb4495dc52587eebb73a6eb8ffe67fe625819f0b21500bc0419e285f5a8f1c13b76693806\",\"signer_pubkey\":\"4a29b9b42b4c7b8d947b226d503cfa1ee8b69a5cd3e4cb88b30db023d6d2bb8c\",\"target\":null,\"upscaled\":\"8a4c8987e7a256f36d09dd056368cf0cd8c98bd85f9e47ca8db41e06e0104d9a\"}", + "object": "57414931910000007b22776169223a22312e30222c226d65646961223a22696d616765222c22696e74656e74223a227265706c6963617465222c226d6f64656c5f726571756972656d656e74223a7b226361706162696c697479223a227761692e696d6167652e706e67227d2c22636f6e646974696f6e696e67223a7b226b696e64223a22706e67227d2c22746172676574223a6e756c6c7d5a00000089504e470d0a1a0a0000000d49484452000000040000000308020000003b963991000000214944415478016394972f6167f8cfcec00c2419ad350a801494136e5803a4201c00a35408cfffda6c1e0000000049454e44ae426082", + "prior": "575352310103f80703141000f4fc1b0dcfe242d50ce618f52ce216fb0af000f203d07ff30bb40e202d0d3091e50fe210291cf9348111fc08f8e936f703d10bf819f8d3f1fcf3430b0007f84e1f021681fbf4090231fefb02d501fffa05ed3dff4f81ff040301d414050c19f506ed0757e3fd458d01f8fc00f803f0061504ff07fa0ef8120af7ca0fe21ce1e6db197f29e30fc4c857b70c8150181c140deef3fa5703cbe5210eaa31f0c92b20e8180a4300f5c4f8f711f8f27fd4eebf110400fdeb2df10503f4fcfe01fe410d04ffb0fd0400f6aae306fb7ffd0ef20ab513f41a2001fd04030acffabc7b04f2fdf236e913ddfbf7050808b511fbae7f000efdcd0ce6389356ecff36fec807d9f37f0512d23639ae9f402618ebdcd01505a67625f8f205c70dfa07f7ff0c0311719f08811ce32f32f4e40708dd7fdcf3f7e9e414f720e648f200d21cdcfff62c41f9fdb0fe05f70b24e8f7dc1cf80600f638f605daff13ee03f68a1f017fddf626f306f0ef40ad2007c9232cbacad57f0b02fce7e55d60dce1bbcdc9f5ee7813fd09f6dcbe0fed7fe7fb06020ad2070122fc06f10808e80fee3af5f5f2f3e407f5db7f12c40308f965e4cab00c051e00bf0200007b0000002e0000003f00000029020000c5030000d8000000bc0000000500000098ffffff5d030000daffffffd2ffffff6cffffff140000002a0300000f819f82d5a3e391dc970a56509b54833e72bd58c05ee677e888b952909ad47c031710001cf1f4e3ce2000eb150ff501f7161df5160de60514fdf1101b02e5f018fb0904f4fef2eae0cc04cad808230f0c1907f81ccd11ffe31605f7040afcd51ffef408e40b0f01fe2d39f30921fb7ffdf4431af8141af32bd822ea02f3eafa07c42609eedef109ff161b04091ef5f23630042402d81f0efd387c07f6261afafd02fff3ed0bf8f82a2711f20100eb19f0e2e5f41cdd05f40ee4f7e604ff0703f8fe0ff6090f02f504faf808110c20ebf10706ea1506fe44f1f0f3f3d9e6fc08ff03e9fe07f5d904ddf700fcfaf900080b1b1506f6fcf513fc2b242a1903095a3d0935fa0f05ebff3625fd132212f60d1fcdf808e7c8250e080316110502e50c0d7f2f20011e230b080dfd1e0d271efa0b1501edff06e5051e3749ed0a22f0c124e20011041c22e1e0edfadeea0604f5cbff14f008310ee2ffea06190d361fea171f00b86c03ef4df8fafaf6c9c7f7f5f7011d170106d40ccec4fc0101e529f81306fc0a00f3c8f009143347efed102700152f19110c0807031423082223dffc13e2ba30e7ca0e2deffe0e2d13fef0132344473727131d0f111af93331143afd191d02e1e427f60018487ff4d60ff3a404f2e61f13e6eaa3d7280f06afd91e08483be233e3f6b141ef4dc20b020221050a0202eb16f918c30bbd1c81c81a28e7c4e8ddf4dd0bf13cd624fd15f81f811b90efc0dd0af36505f163eeff5017dc71a61fda05e4db200855f7d5f3b710fefd1bc9f5eaed1bbd16f2d62807ef27f31aff703ddd09f6ffb30cc627160f8794ebe70ae515fbcd3a1857c7c9ca14eba80edd0724ba17ac290903d4ec0110f124f8d8bd3ffb13f80ae700f329dc02e01bef00f9e308fdfeda2707b6be09f3e9f80b09f31e2100fff0fbed090bfe004efee2001ff112fcdadb1301f5dc1022e4dcdaca1417e2f61cec233404e3f31f02ff1e12f30fcfdbeb1afebff408d80903ea0ce67f2ea403fe1100f9e606632ff120e9f7150fe5def61c07e1e01ce4022506cbf8f715d4dbdf15ef0be8eae8ddf5f00ecf0c38de08e8e608f904e73206fb18170111defe1deef6d7e604f0f80cc9d5d0c826e824f5d7ee141a9ceae932c9bb310421e7f011f9f60b0e16104800b319dfab4f1b3bc41aec2804e972122a37e30e03ddc8ffe1f81aff36270c19d200ed02f1d7340e3b0af90ce4f0161afe16e811fe24eeeb81dbbc8dfa356ff7dccdedeed002dbe4e4359da626f60df2a2a1eacb3eb81c9637e6d63382aaff1d0909ef30e60ebf1a9412db0a8f8a1dba03c82590c32ec234b59d0694292309210828b5131dc5f342ed3895160522269d44aecc1f01f4062ca5c4cac5fda39c01c69d2b31ebd8c2ea1ea62e16d906c5d21220bbec2c1614c941d09a0981e214c741cbd7a0e8c214c320c9afccb9c9f691ed222afacae51e0f06ff1cf7ddf2f9dcf5fcec16eadd3b0f334bf9fa0ef7f81111071efaee1df6cf7f033c4e11feeef0c5dde40200e0fdfd0ad9e401fedb0609e601e40c28462705e6fdedfefd4242320ffc0e44ed0fe61c1621fbfb2109171b1b13fafa0ae3de10dce9053715ee271bfc04e50f1e333b0934301e16052a1f43071f39f11820f5faf10603f7fe1827eeed17e3cd15faf00e02f903fbf5e9f6d2fbee0012ef0f2cf1f64cf8fe1302c23619104bfada07d6132f0b0059f9eeeff8c2d6f5fd05ccd5f1ee05e03dedd206f8e3ece00f1935180ce8f519fdec4f1a42172412c4211f110417ededfc131d15361a16e90430d4c736c8ae132f38085df8ff11dc0f166c4a381c192e0e0d031831142537ef132507fafefdd6f5104f7f02fd21f5a916dfec190503f61cdaf6f4e6f0f3f11b00bd49ef224df3fc11f7c74f1a4f7ffbdc0cfb054c0117600ceff6e8bed7f3fefff9e1e0ee11d405d2ef0601e808dff9164f29fde00504d0fefce03c240f16091a17151a1029e7f73d1407312216f60222d6ba37d2d50c342efe45f30cf8eb0e213b43122d353610113d5136f52341ef072bf6f5f0ec1eef241d58f0f71addd411f2f00e22e929eed313f2d9ee02f61cdeed7ff11b6d09eefde4fb28141d1ff1f212f7db05020e3d09df03eed0d7fd00f7eb0701fedce8f8f8c80af3c0e0eb0d223b0907f6ffd3e7f2233e4116da050c470d0e192328f3ea3ae32314181aeae61ee3e408dedf094c4d0b132500fcdd0e3c3f4e203a0b2e09001ad73a1a0859f52c22f5ea0e1ae0d2133a2be1033ae5ba17fede0137e9ffce1ff7d9ec0fffc8240d13f7f11ded0ae2fef4fefd0be90aee03d602d0f714e50017f8f7a7ec0a1af90405091406f3020ada091cf8f31dffdffd200010ebfbf0f8ff23f70bf781f24ebc0a47ecf11ee407202eedd4fe061406efda12f8ead419152c0afc0f0be2f1fdd5d7f827da140b13fdfa00ff222bfb06ea0af4f90ff6fee925f809e2f6050efde7e1101007f704060901fdede201f9f5f8c1b7fd0b0c0201f4ff05f2fffaf6fa020805ec81040f2000f211ed0afe0af2eff8f719f3ed05f6170403fc0e02cbc0031240f80900fafcf40611070af1fd1319d505e3200304ed0af6fe091b18071bf1fffff1ffeb0afad6f2fd0b03fa04fefce602e71415fa14f8fd13ef05ec0202fe1d02fdfaf4d8cd0902d8f80d08ff03f905feeef8fcfc0df1f2fe03f9ec0815dcda0cee0f0ffd00fffd06f9e5ea0703f702fc03f7ebfe0709e3e609f6e2fa1604ede210f3e9f6eff7f11109ed2204232eafdff209fee20706f2fc050c18fd81190b0eff0df317f9e6f503fbff03f50504fde300eef7f91c100dedf6ee0409fc0e0df319fbf41401f62d0808f31d13f1e70104dafb171e05060711f80706efde1e05f50e0508fe13d4f2fdcc0104defed72304eff12ffaee11eb0816162224f6ce17fefe3801226417eeecf5a7d5f4fef7e2d2f1f2dce2f6e3ed0109f8f1f0042dfb1406e5fbcff8fd2b523f320b150945080a0f1540f8f43e1c17263517ebf618e4b73dd1d1215d3e111a240dfdd61a2938310e1b3c37170858334909294ae92028e9f1fa0acc101e727ff0e537d0c241f5e91b02f0fefe04f900fbfefad51401812006f9180105fc07f1f6f6030802eb0d05862bf6effffe10fc0a0bf1f1edff07da0afe13f90615e7030ffed1e60ff901f3fc07010bf7ff15fa01d20cfdf0d114ce0707fcf3010bec10fffafa0fda0a0bed0a03f9fccbfcf20605f40c0105030c13fa0ef20005fdf9fa10f4e51cfe1001030bfbeaf6f5d7d2110be70a17f100fff0087ff9ffff8cfcffffdbf9ffff0af9ffff4ef8ffff60feffff10feffff3cfaffff6cf6ffffbffaffff36f8ffff59fbffff6c0000008afcffff9cf9fffff60100007c785090c46d69656478e544ca1bc1793c671a700e668b97e9f642f9e4708ee1031a0c00fa10ff0203ec04ee0e03f10609d40af811fe1307fbc7e2f41808fd02fd00fc0af2fc0801fcfefff416fefd0301fd04fe0b050402f405ffff00ff0000ff00fe063afc2959f002e50af1f402dc5e07fbfbf5fcde02fabd09030402fc13fe2e0bf7fa05fe020702fa18e801fefd7fef029a02021003fd080700e1ecfc071d03fcee01fee106fb0002faee07739f11f70eff00f7110207edfbfc0302faf7fa17cb0306040125f9eeb606080a08ff00ff00fef303fb0d0301ff030104fefa0323e500e12df507f601fffefefffffffefefef73720f77f0ffee30608d206249e7d04f7e807e0e700dfd5ff0e00f41709fe5ae9f5ff09ff060204e80d0006fc4e1ef9aed207120cfa0a0afb05b501fe1f1001eafdfbf4e90102020a1ff0896bea10f8f90002fff619f408e40600fd000de10afc0000fbfa04121dfddbd8fb0000ff0109fdfc02fd0103ff0100fc0002ff0001fee801ff15ff01fffefffffffffffffffbf6fa297ff101f606050c01d2f4f7033404010303f7bb0b00f6fa0000fffe15002403fc01fa01fd0ffafd06f8a710ff57f800ecfe01f7ff01081f01fbf2f50105fff6d005000703ef0e004ea80f0bf60400ff01ffff08fdfef700fdfd0107e9020ff1fffb03002a0af5bf0100020100f60c0101f70201020306fd01f9fff901fe0aecfafe18fbffffffffff00ff0000fbf7fefa7f1cfffc04000f0417891d0e051e06fdffffdbe3fffff3010100ea29040320fdff00fe01f70402ffffd3e6043c21f9f5f301fff5060a170103e3f9ff06fe05d1f6f812fe0af502bc5ae8f90cf807f006db53dd0d02f20bee090ec71af6041af201ff926add18fa02f329f50ffebffae24000f8fdee12fdf70f0513fdfd42ef0ce5ea060000010000ff0100fff416f9fe91130c05011ff8fb0ac604081eef3538033f6becfdf201be0afd7f65fde6dd0802fe1a0d25e0fdebfb3a0cfab10cfe0706fe0b30f68405e02739f3ecce01aab70bfc0cf2faf40b69b00df813fa0007f500f71d03fe0600fdfcfff6ff000ff805f2080ec31808fa0400f41c0208c3fd0809ff030006fffefe03030708f9f626fbfcf9feffffffffffffffffff0003f800e7ef020803fd1ff4f605fcfe0507fd2d0eef68f6fdf505fae60811420cf1f3f900fd06ff06fefefa05180301e3f702050101050c03248123ec280403e2f706aa030603f9ff0700e624fefb00ff0002060510f9e812f6fe01ff02d7140f0308fb0cfdf40ff0dc1af602ffeef63aea0ad40effff00fcfcfe0cfd03fcfe02f8f4031cfb06fefefffffffffffffefc05ff0bf00cefdc00fdfa030cfc070debfcf8e5ff507feefd02050912fcbff6fa5c1900ff01fb01ff0e0602f4e20afd2603fdf904fef9f600e27ae706d8ef060905dbab03d806fff90a0327cd0a0dff03ff0400040805fdef13fffdfffdf1020712f700000312db0903eb0701fffefff1200011d600010202fe000403fcff0100ef05fc0b14fbffffffffff000000ff02fb00ff0bf9ffecfcfc08fefa14fffbfc05fef101f87ffffc0205030b00f6d1070935fc0000fffefd05ff0300fbf4010f0a0000fa02fff2050d0a100acf060108fe0ab0fbfdedfd07fa00e127fcfe050202fd00eccaee0c060bfc10f821a1eaf4e905fe05000ffdff09ff000003fd0503eafdff1204ee04a472fc1402d90704fdfe01fffbff01fffffffffffffffffffe07ff081df505050105130202ebf800fd020508010c1300000101fdf602f6dc0cf1fd0000f606f67fd4fef3e322ffffe403ff0601fe0006fdd808f8060e0103e402e25616080cfbf0ff022fd207ff0500fffff802e3b50622ff010cf1f53c81f7e5fffc0408ed25f0f3150900f90c030bdbfd0210080af2fbb65f29def10dfcfdfc02fe03fbfdffffffffffffffff00ff01fff334fefc0b09040813fc01e700f803fb1403fe1116fe020100f7fb17be0205e8f501fecf03ec6f03ebf51d07fedffafe0606ff0307fb11a624ff120003f1f80bd4690e0bf80604fade27fa02fcf8fffc00f8ecfb05eafc02fcfd0f28f5f681010205fd0a00040afefd0103f8ff12fe02ee06fe0106120aef9649fbfffc01fb09fd03fd00ffffffffff00ffffff05ff000416f90013fd01f90000140104e5fdff04fc070b05050ffffcfe02fced05f5e70700060bff05bcf95900e903fe1dfc000002fdfbfbfff334f7f8f1f9fe0408e9d0ff0d6a04f90a0019d80504f501fef9fc05f2d70311d507fbf3f371ddeec5a1050304f01dffeb26f9ff030200f31d0106d9f90c062603f8f6815cfbfdff03f7020d00fcfefefffefefffefeff0403fbf4230af81e0205f600fc130dfef2eafd0700f91c0c020a0d01f4030fdff30bc600ff0dff05d8b508007af5f2fe1609fcfc06fe00f500080f150bc303f50c0912870818354e0bf500df3ef1f9f5fbf5ffffffd6ffffffe2ffffffeeffffffdeffffffdbffffffceffffffeefffffff5ffffffd8ffffffe1ffffffe0ffffff4b6b1b656f8f6d97093ea08c2270c2ba6b79bf72db8ddc6e", + "picture": "89504e470d0a1a0a0000000d4948445200000008000000060802000000716748ac000000a04944415478016354942dfac7c8ccc6fc9f8d9191f13fc3ffdf4c6c8cff59feff6754512cfafe83919bf92f1f07c35f26d6bfdf18d9fefce062616634d7cefbf995918de91f17e77f867fcc8cdf98d898feb2313131faea9630fc66f8cffc9f859d81e50f33cb4f1656e6ffcc4c7f19c30d6a58fefd6762fccfccccc4ccc0c40a9463facfc4f48731dca886f93f03d036164626164646967f8c4c0c40abff0100a1d230ae285e7e980000000049454e44ae426082" + } + ] + }, "job_v2_all_failed": { "kind": "job", "request": "{\"capability\":\"wai.video.int_motion\",\"deadline_us\":30000000,\"fallback\":\"wai.video.av1\",\"job\":\"job-3005\",\"kind\":\"wai-route-request\",\"limits\":{\"consent_on_file\":false,\"ga_only\":true,\"max_price\":[],\"no_training\":true,\"regions\":[\"eu-central\",\"eu-west\"],\"residency\":[\"eu\"],\"spend_ceiling\":{\"amount\":2000000000,\"currency\":\"EUR\"},\"zero_retention\":true},\"operation\":\"media.encode\",\"prefer\":{\"quality\":null,\"sort\":null,\"ttfb_ms\":null},\"quantities\":[{\"quantity\":4,\"unit\":\"seconds\"},{\"quantity\":34560000,\"unit\":\"subpixels\"}]}", @@ -4994,9 +6165,9 @@ }, { "name": "invoice_version", - "about": "an invoice of version 6, which this revision does not define", + "about": "an invoice of version 7, which this revision does not define", "tariff": "574c543101c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c663fece2d2864108f19568bbfa6f08b9905a76ab46a19aa7310128d1995c8ab6100a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d05000064000000002d31010000000080f0fa020000000000b4c40400000000404b4c000000000020a1070000000000e80300000000000080841e0000000000dc05000000000000e8030000000000000800012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0189a7be137d7f3c51d15b0d4ece614d60743d7542b7693c96ac7633793e9c102f02123149749a48decea3d95364f688b821bb45bd7993dcfd3ae12b4e5f0b5b0be302a84fe45dff31d5277a3a7f557454d8f4bb0402a96c58e9215a9b4d896940bceb02b7ccb31f589ef602603d4ae5cd3bada28af9e22cd6858ee65403c8772e9e6f83030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d5504dd8db34c7d7be6dd1da6d72abf89889bd2353de94849c6b39107ca09f4682575356b1ca28a5fdcaf1722314877dcddfe81f120a29b987f595e76d56ddc63a959098d592f1fd40024b9c3b47035564146414296dd5973ff7f169637d6c51d340ff91b4899b8510e8e7ee3008f530b97d4c9ed62d406ab6017a60a23f453b8ef9c232e947e0d875f2b21ad7bbdebea890f176c12d1736cfbd64d1fb0dc83f14103", - "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c663fece2d2864108f19568bbfa6f08b9905a76ab46a19aa7310128d1995c8ab61ba582548ae3be18dd71613ef980c14293c5c3093bde02da32b44002279ea90a8000000000000000000000000000000000000000000000000000000000000000000406cd8e95d060000a043f6fd5d06004555522300000001795b769781fc401a38250614edad12994c05aecaae7687849f25105ff029269d028070e1923387154875aacbeb894c20dc919c95dd4128758b5d47df86652c4a2102acbe25f7796dd0a3bafe6b443c66a7c7313e759125abed03cbb036ba697c657c02c3193ab4736af61acb0b4177aa6ec8fa8ee0924b3f727e9f21eb20b9dc72ef2d02e28e3d8b84792817760e604cc5d01437f4c06ac01b93bc1ff31753f73396b6ad0349ab20c605d8603471ebe98ba3ed459213fdb620a25fda582f092f2811c22928039afdd42ebb416835c8556cce58d13b0a87c971299086d78255fa40fd8d229cdf03c54a8bc4385d13448aedcb5d1a1a77af507e863e3ab729622d87cee0ee4de26b0406ad5f6e482b877aef68dc2f4260c3816c62f0192524729fda42df2abf1134e10409f417544891b15aac83909edb04f8b9f098a068b1f00a78613d73802793b639041c9beac4631e7d594be6ceb92a6e4709ef512246f37c02e9af31f01f4c0f25d00435a9a5bb9b0094beed7688d3c0c018fe9bda993e1ec6b97647e226ff4edf9d5004c0ad3878d2a1cb0d37689b7c4e388e5e12e5236325d63f4e989d9bcacb8ea11004cb6887d61f4b576652c134da7f9ec5ff4c0bf81220d7a5019f5a47242376720004d1f831945866a2f3a1288ecd4e269ad8ce95a07469e3315c50eda59ad32eea990522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad728061c8bff9084c93038bbb8cd767c644800f65048eab2fc258e5d22f9c435ab1b95061e4cbd4e8e8c222e666d430941885cc9b5f7f6f4328b4df38b582c18a71d905b063e6703d3a0d334f8c5a8d3baf2ce176d78cd812a3e2b7fdd3c04142e7eb356950664cf280dec65f0c7d98004308f76520ae42ced5aebf41bd457104aaec8da834506811279c01d8d2c9deb6c0d3a2f5b14143a0fdad50951824ef97378fc810ee037068c044b98f9a891c0840265ac35f526f6b507adb64cd3a7929ed0f10cb9a0fe9b06a685926b46841d22878e0c8f953c53002c539f2525a803d92631e114a709402c0704ecdb6b231ba15abef1ca3085aacecff064f4fb6af7f6ca82e18ce18118230d0746be24fe2cf22bfa77910f9cfaad9d92dab6a4b1bec88f1cd1cf621a5701768c075981f226e204dd8f9ec4bb4ba53d39cf2026a881b3a92bd7e8dcccf09aa65fef075d5e9b8c474daaa3e841a2ab0cecbdb0375ac3fb1231c9818a41a5a9f9a31eaf076cfd5648a26dc864b170a3455c6df4a1c77b45f61b4a0c23c936e14ab43d680e0782e66a104cae4d5c7153254bee825008f7b5383fc83e180fea57e689cca1ad090784610c7818d7907e71ad803287875884826af7f2cded13645d91dc503fb304b107a2de513194881a4ee11377aa6c1701b52b5fbb82cdff49d725b39a1303ceecfe07bbc10c5007ad65dd899f7548a8b61f1ef3208c2c57195e3e62977880f134e0ff07d3920e8dddffca8f01598c5465444a2fcb2e86333bb87493131173ede53ab82907e20fbdd624230fb1f69e7adc59fb22ea90dc5eaa1770339bad2b9f19625bc35607e29408132068a989d84fa5e4404d2393715e2e1074613ebc77acd35ba7276bff1100012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa012055cc0400000000da0a0000000000008d69030000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa02c0f52204000000006d050000000000008c78010000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa03801b680100000000da0a0000000000001800010000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa04801b680100000000b4150000000000003100020000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0a185662020000000016010000000000006f2b000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0b4054890000000000b41500000000000054c3000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0c002d3101000000006d05000000000000846c000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0d2c0000000000000064000000000000003011000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d02123149749a48decea3d95364f688b821bb45bd7993dcfd3ae12b4e5f0b5b0be301442f000000000000002d310100000000f20000000000000003000000a17df995f9de8e497a6e09efcf23447932836eaae64ba4f9695cfecd324d1f0a02123149749a48decea3d95364f688b821bb45bd7993dcfd3ae12b4e5f0b5b0be3048813000000000000404b4c000000000019000000000000000200000042db429a7a23eeb698760f7d4da77f4276d612334d0f863ce81489d9592ad14802a84fe45dff31d5277a3a7f557454d8f4bb0402a96c58e9215a9b4d896940bceb017049000000000000002d310100000000780100000000000002000000f7847c186a8bbf714cf005e91f9bab910f5943899d33c952a0777b31504c3dd502b7ccb31f589ef602603d4ae5cd3bada28af9e22cd6858ee65403c8772e9e6f8301a438000000000000002d3101000000002201000000000000040000003836ff78a74a6133527e5aab6a81cc914d4b49df9a00bc132913d2ecde01c97c030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b001010000000000000020a107000000000020a107000000000001000000953cfab07058f45b391d8e2e0d92cdea272c861da868d3b51bd4cc25b1e5889a030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b0020a00000000000000e803000000000000102700000000000001000000953cfab07058f45b391d8e2e0d92cdea272c861da868d3b51bd4cc25b1e5889a030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b003e3d301000000000080841e0000000000ef0000000000000001000000953cfab07058f45b391d8e2e0d92cdea272c861da868d3b51bd4cc25b1e5889a04dd8db34c7d7be6dd1da6d72abf89889bd2353de94849c6b39107ca09f4682575010400000000000000dc050000000000007017000000000000070000002c46144cb834d250fea655575742a3698a5ad710f3d4e53d0f848a7483e36c4304dd8db34c7d7be6dd1da6d72abf89889bd2353de94849c6b39107ca09f4682575020300000000000000e803000000000000b80b0000000000000200000009b6f0b8d12c79b3fcb72953b7b8d856fc26b94ea02720631266ffa59a8df3960501040200000080a1990300000000204e000002020100000020bcbe0000000000000000000204010000004054890000000000a8610000040201000000b0040000000000000000000004040100000084030000000000003075000000000000000000000100000005000000c53e110000000000e980c61261881099b8ca02864e72faa50f3c8ac9ead5ed11469a659a8c18cd224c94e3c3126fc8a33dac5c7166b52cd600dacd3d0ae52564a1a416798d3d4503", + "invoice": "574c493107c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c663fece2d2864108f19568bbfa6f08b9905a76ab46a19aa7310128d1995c8ab61ba582548ae3be18dd71613ef980c14293c5c3093bde02da32b44002279ea90a8000000000000000000000000000000000000000000000000000000000000000000406cd8e95d060000a043f6fd5d06004555522300000001795b769781fc401a38250614edad12994c05aecaae7687849f25105ff029269d028070e1923387154875aacbeb894c20dc919c95dd4128758b5d47df86652c4a2102acbe25f7796dd0a3bafe6b443c66a7c7313e759125abed03cbb036ba697c657c02c3193ab4736af61acb0b4177aa6ec8fa8ee0924b3f727e9f21eb20b9dc72ef2d02e28e3d8b84792817760e604cc5d01437f4c06ac01b93bc1ff31753f73396b6ad0349ab20c605d8603471ebe98ba3ed459213fdb620a25fda582f092f2811c22928039afdd42ebb416835c8556cce58d13b0a87c971299086d78255fa40fd8d229cdf03c54a8bc4385d13448aedcb5d1a1a77af507e863e3ab729622d87cee0ee4de26b0406ad5f6e482b877aef68dc2f4260c3816c62f0192524729fda42df2abf1134e10409f417544891b15aac83909edb04f8b9f098a068b1f00a78613d73802793b639041c9beac4631e7d594be6ceb92a6e4709ef512246f37c02e9af31f01f4c0f25d00435a9a5bb9b0094beed7688d3c0c018fe9bda993e1ec6b97647e226ff4edf9d5004c0ad3878d2a1cb0d37689b7c4e388e5e12e5236325d63f4e989d9bcacb8ea11004cb6887d61f4b576652c134da7f9ec5ff4c0bf81220d7a5019f5a47242376720004d1f831945866a2f3a1288ecd4e269ad8ce95a07469e3315c50eda59ad32eea990522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad728061c8bff9084c93038bbb8cd767c644800f65048eab2fc258e5d22f9c435ab1b95061e4cbd4e8e8c222e666d430941885cc9b5f7f6f4328b4df38b582c18a71d905b063e6703d3a0d334f8c5a8d3baf2ce176d78cd812a3e2b7fdd3c04142e7eb356950664cf280dec65f0c7d98004308f76520ae42ced5aebf41bd457104aaec8da834506811279c01d8d2c9deb6c0d3a2f5b14143a0fdad50951824ef97378fc810ee037068c044b98f9a891c0840265ac35f526f6b507adb64cd3a7929ed0f10cb9a0fe9b06a685926b46841d22878e0c8f953c53002c539f2525a803d92631e114a709402c0704ecdb6b231ba15abef1ca3085aacecff064f4fb6af7f6ca82e18ce18118230d0746be24fe2cf22bfa77910f9cfaad9d92dab6a4b1bec88f1cd1cf621a5701768c075981f226e204dd8f9ec4bb4ba53d39cf2026a881b3a92bd7e8dcccf09aa65fef075d5e9b8c474daaa3e841a2ab0cecbdb0375ac3fb1231c9818a41a5a9f9a31eaf076cfd5648a26dc864b170a3455c6df4a1c77b45f61b4a0c23c936e14ab43d680e0782e66a104cae4d5c7153254bee825008f7b5383fc83e180fea57e689cca1ad090784610c7818d7907e71ad803287875884826af7f2cded13645d91dc503fb304b107a2de513194881a4ee11377aa6c1701b52b5fbb82cdff49d725b39a1303ceecfe07bbc10c5007ad65dd899f7548a8b61f1ef3208c2c57195e3e62977880f134e0ff07d3920e8dddffca8f01598c5465444a2fcb2e86333bb87493131173ede53ab82907e20fbdd624230fb1f69e7adc59fb22ea90dc5eaa1770339bad2b9f19625bc35607e29408132068a989d84fa5e4404d2393715e2e1074613ebc77acd35ba7276bff1100012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa012055cc0400000000da0a0000000000008d69030000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa02c0f52204000000006d050000000000008c78010000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa03801b680100000000da0a0000000000001800010000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa04801b680100000000b4150000000000003100020000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0a185662020000000016010000000000006f2b000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0b4054890000000000b41500000000000054c3000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0c002d3101000000006d05000000000000846c000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa0d2c0000000000000064000000000000003011000000000000010000008534d2eec3090faef669dd11affb99095324d47d1be6191bdbb2bd543028a16d02123149749a48decea3d95364f688b821bb45bd7993dcfd3ae12b4e5f0b5b0be301442f000000000000002d310100000000f20000000000000003000000a17df995f9de8e497a6e09efcf23447932836eaae64ba4f9695cfecd324d1f0a02123149749a48decea3d95364f688b821bb45bd7993dcfd3ae12b4e5f0b5b0be3048813000000000000404b4c000000000019000000000000000200000042db429a7a23eeb698760f7d4da77f4276d612334d0f863ce81489d9592ad14802a84fe45dff31d5277a3a7f557454d8f4bb0402a96c58e9215a9b4d896940bceb017049000000000000002d310100000000780100000000000002000000f7847c186a8bbf714cf005e91f9bab910f5943899d33c952a0777b31504c3dd502b7ccb31f589ef602603d4ae5cd3bada28af9e22cd6858ee65403c8772e9e6f8301a438000000000000002d3101000000002201000000000000040000003836ff78a74a6133527e5aab6a81cc914d4b49df9a00bc132913d2ecde01c97c030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b001010000000000000020a107000000000020a107000000000001000000953cfab07058f45b391d8e2e0d92cdea272c861da868d3b51bd4cc25b1e5889a030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b0020a00000000000000e803000000000000102700000000000001000000953cfab07058f45b391d8e2e0d92cdea272c861da868d3b51bd4cc25b1e5889a030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b003e3d301000000000080841e0000000000ef0000000000000001000000953cfab07058f45b391d8e2e0d92cdea272c861da868d3b51bd4cc25b1e5889a04dd8db34c7d7be6dd1da6d72abf89889bd2353de94849c6b39107ca09f4682575010400000000000000dc050000000000007017000000000000070000002c46144cb834d250fea655575742a3698a5ad710f3d4e53d0f848a7483e36c4304dd8db34c7d7be6dd1da6d72abf89889bd2353de94849c6b39107ca09f4682575020300000000000000e803000000000000b80b0000000000000200000009b6f0b8d12c79b3fcb72953b7b8d856fc26b94ea02720631266ffa59a8df3960501040200000080a1990300000000204e000002020100000020bcbe0000000000000000000204010000004054890000000000a8610000040201000000b0040000000000000000000004040100000084030000000000003075000000000000000000000100000005000000c53e110000000000e980c61261881099b8ca02864e72faa50f3c8ac9ead5ed11469a659a8c18cd224c94e3c3126fc8a33dac5c7166b52cd600dacd3d0ae52564a1a416798d3d4503", "previous": null, "sources": [ "lesson", @@ -8845,6 +10016,1567 @@ 0 ] } + }, + { + "name": "version_6_a_third_partys_usage_per_endpoint", + "about": "version 6: a third party's jobs billed per job and by what its record states the provider bills, each endpoint at its own price: a served hop, another provider's, a failover whose failed hop's billed usage reaches no line, a job with no record, which bills by the job alone, a job in another unit at that unit's price, and one in a unit no price names", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [ + "job_tp_alpha", + "job_tp_beta", + "job_tp_failover", + "job_tp_unrecorded", + "job_tp_images", + "job_tp_a_unit_no_price_names" + ], + "outcome": { + "outcome": "accept", + "digest": "f4bb0d772edd6061861359b90db810c17681344af0cd854b81f935353225f79f", + "tariff": "887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3", + "currency": "EUR", + "start": 1790812800000000, + "end": 1793086400000000, + "records": 19, + "lines": [ + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 6, + "price": 10000, + "amount": 60000, + "cites": [ + [ + 14, + "2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a8689" + ], + [ + 14, + "41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add149442" + ], + [ + 14, + "4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef05" + ], + [ + 14, + "95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff61" + ], + [ + 14, + "b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665" + ], + [ + 14, + "e8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b24353" + ], + [ + 16, + "419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e" + ], + [ + 16, + "42ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d" + ], + [ + 16, + "6e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95" + ], + [ + 16, + "7e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a" + ], + [ + 16, + "f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e6930" + ], + [ + 16, + "fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7" + ] + ], + "capability": "wai.video.generate", + "operation": "media.generate", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "usage", + "quantity": 2, + "price": 5000000, + "amount": 10000000, + "cites": [ + [ + 14, + "e8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b24353" + ], + [ + 16, + "419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e" + ], + [ + 17, + "93fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d257" + ] + ], + "capability": "wai.video.generate", + "operation": "media.generate", + "endpoint": "gen.alpha", + "usage_unit": "images" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "usage", + "quantity": 8, + "price": 40000000, + "amount": 320000000, + "cites": [ + [ + 14, + "b9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde4665" + ], + [ + 16, + "42ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d" + ], + [ + 17, + "2e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d" + ] + ], + "capability": "wai.video.generate", + "operation": "media.generate", + "endpoint": "gen.alpha", + "usage_unit": "seconds" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "usage", + "quantity": 8, + "price": 25000000, + "amount": 200000000, + "cites": [ + [ + 14, + "4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef05" + ], + [ + 14, + "95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff61" + ], + [ + 16, + "f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e6930" + ], + [ + 16, + "fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7" + ], + [ + 17, + "5fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f" + ], + [ + 17, + "8451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a18196" + ] + ], + "capability": "wai.video.generate", + "operation": "media.generate", + "endpoint": "gen.beta", + "usage_unit": "seconds" + } + ], + "energy": [], + "unmetered": { + "room_hops": 0, + "delivery_hops": 0, + "packaging": 0, + "ad_decisions": 0, + "jobs": 6, + "unbilled_hops": 1 + }, + "coverage": { + "room_hops": "none", + "delivery_hops": "none", + "packaging": "none", + "ad_decisions": "none", + "jobs": "partial", + "unbilled_hops": "partial" + }, + "amount": 530060000, + "reports": { + "ads": [], + "stitched": [], + "delivery": { + "parties": [], + "overlaps": [] + } + } + } + }, + { + "name": "version_6_holds_what_version_5_holds", + "about": "version 6: an encode, a decode held to its frames and a package's run, billed as version 5 bills them at prices of any endpoint", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0a010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0b0087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0c010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0d0087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0e0100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0f0a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac30100000000000609253e4e0983fef930dc6317d5302ee2e5950185df8e6e4933182c75030515e21f7d1f37a324b192d11cc32d3013dc3329698ef097903907261263e5bd6c702", + "previous": null, + "sources": [ + "job_v3r_encode", + "job_v3r_decode", + "package_run_v3r" + ], + "outcome": { + "outcome": "accept", + "digest": "4d10f5b11f05e24f9df175065cd4686f9022db66efe8c374bdfe7863093bf973", + "tariff": "887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3", + "currency": "EUR", + "start": 1790812800000000, + "end": 1793086400000000, + "records": 9, + "lines": [ + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 1, + "price": 250000, + "amount": 250000, + "cites": [ + [ + 14, + "0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b" + ], + [ + 16, + "e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.decode", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 34560, + "price": 10000, + "amount": 345, + "cites": [ + [ + 14, + "0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b" + ], + [ + 15, + "49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e" + ], + [ + 16, + "e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.decode", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 1, + "price": 500000, + "amount": 500000, + "cites": [ + [ + 14, + "53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09" + ], + [ + 16, + "5c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa67" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.encode", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 34560, + "price": 20000, + "amount": 691, + "cites": [ + [ + 14, + "53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c09" + ], + [ + 15, + "849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0" + ], + [ + 16, + "5c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa67" + ] + ], + "capability": "wai.video.int_motion", + "operation": "media.encode", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "jobs", + "quantity": 1, + "price": 300000, + "amount": 300000, + "cites": [ + [ + 14, + "c88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f528" + ], + [ + 16, + "ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c3" + ] + ], + "capability": "wai.video.package", + "operation": "package.build", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "work_units", + "quantity": 10, + "price": 1000, + "amount": 10000, + "cites": [ + [ + 5, + "22c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad728" + ], + [ + 14, + "c88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f528" + ], + [ + 16, + "ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c3" + ] + ], + "capability": "wai.video.package", + "operation": "package.build", + "endpoint": "" + } + ], + "energy": [ + { + "scope": "jobs", + "class": "OnChipCounter", + "figures": 3, + "joules": 47250000, + "max_ppm": 20000 + } + ], + "unmetered": { + "room_hops": 0, + "delivery_hops": 0, + "packaging": 0, + "ad_decisions": 0, + "jobs": 0, + "unbilled_hops": 0 + }, + "coverage": { + "room_hops": "none", + "delivery_hops": "none", + "packaging": "none", + "ad_decisions": "none", + "jobs": "whole", + "unbilled_hops": "none" + }, + "amount": 1061036, + "reports": { + "ads": [], + "stitched": [], + "delivery": { + "parties": [], + "overlaps": [] + } + } + } + }, + { + "name": "version_6_an_upscale_and_a_tone_mapping", + "about": "version 6: an upscale of two pictures and two tone mappings, one of whose records states two pictures of one rendering, billed by the subpixels their records state, each re-derived from what it read", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale", + "job_tonemap", + "job_tonemap_two_pictures_of_one_rendering" + ], + "outcome": { + "outcome": "accept", + "digest": "5eed6ae72cfe4731d64fbc242c219b08dbd335eeecff0e33b106c946b0156652", + "tariff": "887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3", + "currency": "EUR", + "start": 1790812800000000, + "end": 1793086400000000, + "records": 10, + "lines": [ + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 480, + "price": 15000, + "amount": 7, + "cites": [ + [ + 14, + "82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca" + ], + [ + 14, + "d065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e" + ], + [ + 16, + "06617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211" + ], + [ + 16, + "b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4" + ], + [ + 19, + "6f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed" + ], + [ + 19, + "e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c" + ] + ], + "capability": "wai.media.tonemap", + "operation": "media.tonemap", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 432, + "price": 20000, + "amount": 8, + "cites": [ + [ + 14, + "937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba" + ], + [ + 16, + "9d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b0203" + ], + [ + 18, + "0738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26" + ], + [ + 18, + "3c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e" + ] + ], + "capability": "wai.media.upscale", + "operation": "media.upscale", + "endpoint": "" + } + ], + "energy": [ + { + "scope": "jobs", + "class": "OnChipCounter", + "figures": 3, + "joules": 11500000, + "max_ppm": 20000 + } + ], + "unmetered": { + "room_hops": 0, + "delivery_hops": 0, + "packaging": 0, + "ad_decisions": 0, + "jobs": 0, + "unbilled_hops": 0 + }, + "coverage": { + "room_hops": "none", + "delivery_hops": "none", + "packaging": "none", + "ad_decisions": "none", + "jobs": "whole", + "unbilled_hops": "none" + }, + "amount": 15, + "reports": { + "ads": [], + "stitched": [], + "delivery": { + "parties": [], + "overlaps": [] + } + } + } + }, + { + "name": "version_6_an_upscale_run_again", + "about": "version 6: the next invoice of that chain bills the upscale run again, a new route record and a new hop, its records cited again", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a35eed6ae72cfe4731d64fbc242c219b08dbd335eeecff0e33b106c946b01566520070ec75cd5e06000040e2b52b5f0600455552040000000ea4f3aac609ac8d7e1bf6cda5c8cbf35e724847bf513a75c8e4e0c65ce2e1d0641066be41013acbbe8e1f8c204d6e95eec21b1121c25ff4a1160a67bbd0b7bc8ac2120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e0100055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e0000000000000800000000000000040000005d677713888578f8ef3581e42af6a438b4f9eedabe881c6f94ba72704c15b7c101050401000000105e5f0000000000204e000000000000000000000000000000000000000000000000000008000000000000007428874abfa57a0e895a7beca37240669c1660c43012f8480aaa5c2631d058fb98fac290ccf8db74ccd3b0adc9efa73db4a03bc6d52794cfe646f107df37f706", + "previous": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "sources": [ + "job_upscale_run_again" + ], + "outcome": { + "outcome": "accept", + "digest": "e11a2f08f22f9921dda3f1f579ea1979621cad68cc55f1a5329ad7113808178c", + "tariff": "887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3", + "currency": "EUR", + "start": 1793086400000000, + "end": 1793491200000000, + "records": 4, + "lines": [ + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 432, + "price": 20000, + "amount": 8, + "cites": [ + [ + 14, + "a4f3aac609ac8d7e1bf6cda5c8cbf35e724847bf513a75c8e4e0c65ce2e1d064" + ], + [ + 16, + "66be41013acbbe8e1f8c204d6e95eec21b1121c25ff4a1160a67bbd0b7bc8ac2" + ], + [ + 18, + "0738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26" + ], + [ + 18, + "3c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e" + ] + ], + "capability": "wai.media.upscale", + "operation": "media.upscale", + "endpoint": "" + } + ], + "energy": [ + { + "scope": "jobs", + "class": "OnChipCounter", + "figures": 1, + "joules": 6250000, + "max_ppm": 20000 + } + ], + "unmetered": { + "room_hops": 0, + "delivery_hops": 0, + "packaging": 0, + "ad_decisions": 0, + "jobs": 0, + "unbilled_hops": 0 + }, + "coverage": { + "room_hops": "none", + "delivery_hops": "none", + "packaging": "none", + "ad_decisions": "none", + "jobs": "whole", + "unbilled_hops": "none" + }, + "amount": 8, + "reports": { + "ads": [], + "stitched": [], + "delivery": { + "parties": [], + "overlaps": [] + } + } + } + }, + { + "name": "version_6_re_derived_jobs_under_a_list", + "about": "version 6: an upscale and a tone mapping whose route records are of version 2, listing what each hop delivered, so that no output gives a proof", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552070000000e59a98b3f16672bb3605be034aff5a3a502a561fd431ecbca032337a6ca869d780e5ba1661c9ad6106a9e1873730d5e5f9f1220cdf4950854311363518f01456d02107717410963e1f9a8adf820a488b7a3355c656a3336b48a6fbd2dfb1643a9de9110dbae852109e0dc4cc5825e4070f1e51f24c2a8b81d64c5f689b5e5eef505ff14120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb012001000000000000983a0000000000000400000000000000030000002855ff878f5e9ad4cea3db4441a6007f28e4a2edf15f3c74f96cff5b252e6a83055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000d43fe49df1ee90125ac7ef1ffd08695ccbe5b8f6726b60164a942fba570385cf010504020000004054890000000000204e00000000000000000000000000000000000000000000000000000c0000000000000065db1314839dd93a48c3805127c413c0844b5f6cdcc3c7ea34e5a998cfb7fc6ec889ff216ab5f6c0cb63d2b26c8ad7780af33f48a9792940da9a4c254d3f6b0a", + "previous": null, + "sources": [ + "job_upscale_under_a_list", + "job_tonemap_under_a_list" + ], + "outcome": { + "outcome": "accept", + "digest": "b78cc78c5f64ee1e478c9cac36970d658f0ae345cb9246fe48726af5db41b6c3", + "tariff": "887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3", + "currency": "EUR", + "start": 1790812800000000, + "end": 1793086400000000, + "records": 7, + "lines": [ + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 288, + "price": 15000, + "amount": 4, + "cites": [ + [ + 14, + "5ba1661c9ad6106a9e1873730d5e5f9f1220cdf4950854311363518f01456d02" + ], + [ + 16, + "dbae852109e0dc4cc5825e4070f1e51f24c2a8b81d64c5f689b5e5eef505ff14" + ], + [ + 19, + "6f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed" + ] + ], + "capability": "wai.media.tonemap", + "operation": "media.tonemap", + "endpoint": "" + }, + { + "source_kind": "job", + "source": "5a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb", + "unit": "subpixels", + "quantity": 432, + "price": 20000, + "amount": 8, + "cites": [ + [ + 14, + "59a98b3f16672bb3605be034aff5a3a502a561fd431ecbca032337a6ca869d78" + ], + [ + 16, + "7717410963e1f9a8adf820a488b7a3355c656a3336b48a6fbd2dfb1643a9de91" + ], + [ + 18, + "0738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26" + ], + [ + 18, + "3c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e" + ] + ], + "capability": "wai.media.upscale", + "operation": "media.upscale", + "endpoint": "" + } + ], + "energy": [ + { + "scope": "jobs", + "class": "OnChipCounter", + "figures": 2, + "joules": 9000000, + "max_ppm": 20000 + } + ], + "unmetered": { + "room_hops": 0, + "delivery_hops": 0, + "packaging": 0, + "ad_decisions": 0, + "jobs": 0, + "unbilled_hops": 0 + }, + "coverage": { + "room_hops": "none", + "delivery_hops": "none", + "packaging": "none", + "ad_decisions": "none", + "jobs": "whole", + "unbilled_hops": "none" + }, + "amount": 12, + "reports": { + "ads": [], + "stitched": [], + "delivery": { + "parties": [], + "overlaps": [] + } + } + } + }, + { + "name": "version_6_prices_out_of_order_by_endpoint", + "about": "a tariff of version 6 pricing gen.beta before gen.alpha", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbf76dfc3f4e737b6e5d8dd6eb0559469d46ecb40266fd7822833685c769bff5389be8a73a388b8afc7b7ec2eb4ccb4da459d13a08109b9bfe00ec1e8167cb610a03a76d75a26bf6718683dca83fa45e3280c228860f8cc9d80a00d8e71069c9096e1d5be0fb02eef18e4bc82ddb1b047eea0a8caf336c020adf5f69397cc6b802", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_6_a_price_of_any_endpoint_beside_one", + "about": "a tariff of version 6 pricing a usage at any endpoint and at gen.alpha, which would bill a job at both", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000001000117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004077365636f6e647301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb1b8b88353c38c0778f5b5e97b1098fabfe1f5c5b5afc98741f4de2cb09b78cf73d37dcbf5059c245d51a05d40ad4bd515f309681ae8dc86117fac3cc7099000c0e572f6794785e2ea452e10bdb71d8bfc4b4643df8dcfc7eb62eaeb588436fece03d38058d0466b1b82f517a5de2c8b9a808d5cbf16460e7c9b738a2cba3760e", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_6_a_usage_price_naming_no_unit", + "about": "a tariff of version 6 pricing a usage in no unit", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e626574610400010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb58ade1f0ce4d3edd39e4f65a362e84f13ae81ebf0690155ae8e497282ebaa2dd1d4540d0c65f7c07ca803e7559e47a4ea12ca10aab46d53a3827525635f8e905a80b454ffc7aebdfae4a6f8baba6f3fcf4d2fbbfa0cc97306db5e97282ecd0524aacbc580d1e462585cd96ff837be4be4c23c4759fdd909498815c5a65d49603", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_6_a_jobs_price_naming_a_unit", + "about": "a tariff of version 6 whose price per job names a usage's unit", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650001077365636f6e647301000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb64e6a1ebc7c8cf06c82488bae28e168e9a5ef6cfeb46e3acbf769cd8f695a0401dc66fdf268d85fab242874e6369dd92d9078dd12add37e71a33ccac5c50d30dd7424f1d64b3c8c887c63e8609de36b0c0f4746df758172077f098bffe4a79d3c3686c7cc38a6ed149c345696a895ea82b0f36f50c81e715f29435224f9db400", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_6_an_endpoint_not_a_token", + "about": "a tariff of version 6 pricing an endpoint whose name holds a space", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e6220657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb85dc6beb39c590b7d1c820935221c84a6038139a1b0aa4a32f41533e89d99bda4a4e7330ec6933ef112196f9084f2160992bb2b2944b6d3b82d59410c11efd01c343305569a69b1e6ad352a52ce1150e6c6293f81f2c2dcb7fd15beb2e09c86badca996d0a7dc6c10c352dd296c3f22645de9aed9a46c00960f4484b3fa7470b", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_6_a_unit_past_usage", + "about": "a tariff of version 6 with a job price of unit 5", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e626574610500010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc963151244e6102cd02a6e85122fd8a4b4fb98321c257a0f62793c24579b96b805858016fad342ddc33e3b01cc30b6f50e1752dc0adf4c4567e4cffb709ff70e8d06bcb5ecf6ea5ef12052cf96b2865ece0c4057343dc8ff5d198e5fcc14faace633648de4eca4cf61eb3a9f65223d30e5702a7733021900cb9ebdb99c20cb02", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_5_a_price_of_usage", + "about": "a tariff of version 5 with a job price of unit 4, a usage, which only version 6 prices", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000008000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650401000000000000000100000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb7a7092c9111b2dc0a08f56938bbcb4f1760402fb8e54abd2b51eacb27153cfdce81550285a5962a273c84f749b19d0d0da40a0231be8155da2a24be2df79a50f80fa3f85c15ee01e2f98ccb794bd4c1c2c81f535551179aec3152506466ec3c3e79d38c3ec71f099a2ba3e523d68ad1e91bdff2f694befc581340ec088da210d", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552060000000e003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff0e2f99f73ccb6afaa0612749968c8b783783e1cc8ab352b0e32d3cacd08507ada60f75fc476688eba94831dfe33a5960a902dfe818429b004460f59935f56e07bd620f9593ead44feed0d411c47c085d76c1ccaca1e06787475e1064284a3b55bbd1ae102243db716c1d68c559c70edb5d36ce30ea9b6a41e5c0842f621cd736b65864bb1066e5c9b99b8f5630e1d8ef217686b4d66bef83e186c9d84def8a2e234af2a3100400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d00300000000000200000038195852e88d2629466de353cc47befe24e7ab0be0aa191c6671539e1a7db3ff055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000098c49cc7d4cfa64c7c9d9e45b8422712fdbad3a837fac4d7fd9d0d849d191f4d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000aef41518f1037a4f744d1dcf272f7a5ea683ec3042a1d7506e346e1a6e653a1c055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b302000000000000030000004bc95bc316c65c2eeb7e51dc7237c4d065c7a0b44f5e369183efd8f885c6c4ad0105040200000010af840200000000204e0000000000000000000000000000000000000000000000000000bc750b00000000002a2cedd21840c6b32803286b3c1e65b6869b1da8742ad876b2d3a3f751fc00e2b4e12e77cdfd88f1caaa048c956e9eb0ad87f3c8e2299f2d60d7cd7b52a23d00", + "previous": null, + "sources": [], + "outcome": { + "outcome": "refuse", + "reason": "tariff_invalid", + "at": [ + "tariff" + ] + } + }, + { + "name": "version_5_invoice_under_a_version_6_tariff", + "about": "an invoice of version 5 naming a tariff of version 6", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552090000000522c6f558063499040127d58b062f08f9ec2a6cee54b51c97d42e8741d76ad7280e0bcd0b5238a12460913d5831748b8cb4aea09f52aeeee5ceba65f60cf43cb73b0e53aad265a9c99b5304ac9bb5fa07c5daaf71e0a1fa2692c89b82abdf66dd5c090ec88e0801bda54b3a577e53661d1126382e29f8a62310940875f116acc5c3f5280f49da43d1e775e0ab6da5aec66d1e3bc135b18f39b6193041094fd8728189813e0f849f1ff532264d423326c55085c154ca8bba35364ff9cdfe43b369653f0eeec0105c8e3eb86c63b8b50de7cf0c083979bb6187f6c8f7184cada22e3f74ea92fa6710e85cef181baac5b452d41aaa78c8b89415966ba78d19e15ba494c4c011c08f4a10ebd51ee6833348ca1dc22b7d7792f78b50dd4014ac5510c40789d236ce5393c30600055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0a010000000000000090d003000000000090d0030000000000020000008565cb6f117168c5a51668d25e55118c58127848adee11cce23c4f015f3866d4055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0b0087000000000000102700000000000059010000000000000300000007dee713b1cc4eb04bea7413e9cb3f9383f4e610e1a6fdf9a30765d843386ebd055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0c010000000000000020a107000000000020a107000000000002000000020f40ccc35ad8452b52910e352414a08e1353a8074db78ca6c151654f244162055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0d0087000000000000204e000000000000b3020000000000000300000072bdd8bb551abe3a728ac8a67ffacca46d57231f5c04d21fc4bf6fe6390c49ba055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0e0100000000000000e093040000000000e09304000000000002000000f308ad27dde75d439db0bd3c444977c1a79f55a590233b945e716887a47c0e5d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb0f0a00000000000000e80300000000000010270000000000000300000042387711897d2bcbe407e0277a89be2b3213510108266a6e506289b277ec6c6b0105040300000050fad00200000000204e0000000000000000000000000000000000000000000000000000ac3010000000000016888b1f5ca706a8cfb5f25c939016c81a83791e89a8e01ea300dbb7d9dc7f2aa9fbe1941e965acc5fb48273ca5ab955407e503edbedf19b3f51dfb3d77b600f", + "previous": null, + "sources": [ + "job_v3r_encode", + "job_v3r_decode", + "package_run_v3r" + ], + "outcome": { + "outcome": "refuse", + "reason": "tariff_mismatch", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_5_an_invoice_listing_a_third_partys_record", + "about": "an invoice of version 5 listing a record of kind 17, which only version 6 lists", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552070000000e003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff0e2f99f73ccb6afaa0612749968c8b783783e1cc8ab352b0e32d3cacd08507ada60f75fc476688eba94831dfe33a5960a902dfe818429b004460f59935f56e07bd620f9593ead44feed0d411c47c085d76c1ccaca1e06787475e1064284a3b55bbd1ae102243db716c1d68c559c70edb5d36ce30ea9b6a41e5c0842f621cd736b65864bb1066e5c9b99b8f5630e1d8ef217686b4d66bef83e186c9d84def8a2e234af2a3101101010101010101010101010101010101010101010101010101010101010101010400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d00300000000000200000038195852e88d2629466de353cc47befe24e7ab0be0aa191c6671539e1a7db3ff055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000098c49cc7d4cfa64c7c9d9e45b8422712fdbad3a837fac4d7fd9d0d849d191f4d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000aef41518f1037a4f744d1dcf272f7a5ea683ec3042a1d7506e346e1a6e653a1c055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b302000000000000030000004bc95bc316c65c2eeb7e51dc7237c4d065c7a0b44f5e369183efd8f885c6c4ad0105040200000010af840200000000204e0000000000000000000000000000000000000000000000000000bc750b000000000073337b24a9c02200fb5888ccc6f5d8807afe855c989a8f5ca9bc33c12d83c7e6785fc6c5d1d28890a3e4f4a1339a2e0b2753fb55d41a446516bc9d16e1688503", + "previous": null, + "sources": [ + "job_v2_encode", + "job_v5_decode" + ], + "outcome": { + "outcome": "refuse", + "reason": "invoice_invalid", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_5_a_job_given_a_third_partys_records", + "about": "version 5: a job given the third-party records only version 6 reads", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552060000000e003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff0e2f99f73ccb6afaa0612749968c8b783783e1cc8ab352b0e32d3cacd08507ada60f75fc476688eba94831dfe33a5960a902dfe818429b004460f59935f56e07bd620f9593ead44feed0d411c47c085d76c1ccaca1e06787475e1064284a3b55bbd1ae102243db716c1d68c559c70edb5d36ce30ea9b6a41e5c0842f621cd736b65864bb1066e5c9b99b8f5630e1d8ef217686b4d66bef83e186c9d84def8a2e234af2a3100400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d00300000000000200000038195852e88d2629466de353cc47befe24e7ab0be0aa191c6671539e1a7db3ff055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000098c49cc7d4cfa64c7c9d9e45b8422712fdbad3a837fac4d7fd9d0d849d191f4d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000aef41518f1037a4f744d1dcf272f7a5ea683ec3042a1d7506e346e1a6e653a1c055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b302000000000000030000004bc95bc316c65c2eeb7e51dc7237c4d065c7a0b44f5e369183efd8f885c6c4ad0105040200000010af840200000000204e0000000000000000000000000000000000000000000000000000bc750b00000000002a2cedd21840c6b32803286b3c1e65b6869b1da8742ad876b2d3a3f751fc00e2b4e12e77cdfd88f1caaa048c956e9eb0ad87f3c8e2299f2d60d7cd7b52a23d00", + "previous": null, + "sources": [ + "job_tp_alpha" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_5_an_upscale_in_version_6s_form", + "about": "version 5: an upscale given in the form only version 6 reads", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552060000000e003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff0e2f99f73ccb6afaa0612749968c8b783783e1cc8ab352b0e32d3cacd08507ada60f75fc476688eba94831dfe33a5960a902dfe818429b004460f59935f56e07bd620f9593ead44feed0d411c47c085d76c1ccaca1e06787475e1064284a3b55bbd1ae102243db716c1d68c559c70edb5d36ce30ea9b6a41e5c0842f621cd736b65864bb1066e5c9b99b8f5630e1d8ef217686b4d66bef83e186c9d84def8a2e234af2a3100400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d00300000000000200000038195852e88d2629466de353cc47befe24e7ab0be0aa191c6671539e1a7db3ff055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000098c49cc7d4cfa64c7c9d9e45b8422712fdbad3a837fac4d7fd9d0d849d191f4d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000aef41518f1037a4f744d1dcf272f7a5ea683ec3042a1d7506e346e1a6e653a1c055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b302000000000000030000004bc95bc316c65c2eeb7e51dc7237c4d065c7a0b44f5e369183efd8f885c6c4ad0105040200000010af840200000000204e0000000000000000000000000000000000000000000000000000bc750b00000000002a2cedd21840c6b32803286b3c1e65b6869b1da8742ad876b2d3a3f751fc00e2b4e12e77cdfd88f1caaa048c956e9eb0ad87f3c8e2299f2d60d7cd7b52a23d00", + "previous": null, + "sources": [ + "job_upscale" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_5_a_tone_mapping_in_version_6s_form", + "about": "version 5: a tone mapping given in the form only version 6 reads", + "tariff": "574c543105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e80300000000000007000d7761692e766964656f2e6176310c6d656469612e656e636f646501010000000000000080841e0000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646501010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f64650240420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646501010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f64650240420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64010100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c64030100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fbc34a7351cf5c937296130192cb3378e1a69b98999f2a5fa8ff545b67a4bed2e086b60a5e5c61b498a11054d152637da968140230bf9a979c6b5a8a8f51a5ab0127d807ac57094b003e862358c6ea01aebbc632d240257b9d6c511bfec48828e1bd501f7365ed169bbba641ecce707e449685abf75dca3ad83090bfed4c18670b", + "invoice": "574c493105c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c039eef4c1f7cb91ea7d2bad49669b62324746630620618bfe19652589b8f11f67b000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552060000000e003d5c4559ccb5d8be6bd8b5ff0c4936b929263231818e485cdbdb96af825eff0e2f99f73ccb6afaa0612749968c8b783783e1cc8ab352b0e32d3cacd08507ada60f75fc476688eba94831dfe33a5960a902dfe818429b004460f59935f56e07bd620f9593ead44feed0d411c47c085d76c1ccaca1e06787475e1064284a3b55bbd1ae102243db716c1d68c559c70edb5d36ce30ea9b6a41e5c0842f621cd736b65864bb1066e5c9b99b8f5630e1d8ef217686b4d66bef83e186c9d84def8a2e234af2a3100400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02010000000000000090d003000000000090d00300000000000200000038195852e88d2629466de353cc47befe24e7ab0be0aa191c6671539e1a7db3ff055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb030087000000000000102700000000000059010000000000000300000098c49cc7d4cfa64c7c9d9e45b8422712fdbad3a837fac4d7fd9d0d849d191f4d055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000020a107000000000020a107000000000002000000aef41518f1037a4f744d1dcf272f7a5ea683ec3042a1d7506e346e1a6e653a1c055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb050087000000000000204e000000000000b302000000000000030000004bc95bc316c65c2eeb7e51dc7237c4d065c7a0b44f5e369183efd8f885c6c4ad0105040200000010af840200000000204e0000000000000000000000000000000000000000000000000000bc750b00000000002a2cedd21840c6b32803286b3c1e65b6869b1da8742ad876b2d3a3f751fc00e2b4e12e77cdfd88f1caaa048c956e9eb0ad87f3c8e2299f2d60d7cd7b52a23d00", + "previous": null, + "sources": [ + "job_tonemap" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_6_another_jobs_record", + "about": "version 6: a job given the third-party record of another job", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f000000002d288765352d264c09ce7a866d7f1b5238d1a5991ff328fcc919d57552cead2cfe887cc85b66c8aafa0f73554453c9582649150ad7d44951e248db37d0118903", + "previous": null, + "sources": [ + "job_tp_another_jobs_record" + ], + "outcome": { + "outcome": "refuse", + "reason": "third_party_mismatch", + "at": [ + "source", + 0, + "third_party", + 0, + "job" + ] + } + }, + { + "name": "version_6_a_failed_hops_usage_billed", + "about": "version 6: gen.alpha's usage line adding what the provider billed for the failover's failed hop", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070900000000000000005a620200000000002a751500000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e06cfa2100000000e3b9e430fa64294c2379ad887282380db1b430bc61835ebce4e433194c181b31729b71a3f38ed38dff5388a4350c8a97163088960fb9b5576868b87c1bb93604", + "previous": null, + "sources": [ + "job_tp_alpha", + "job_tp_beta", + "job_tp_failover", + "job_tp_unrecorded", + "job_tp_images", + "job_tp_a_unit_no_price_names" + ], + "outcome": { + "outcome": "refuse", + "reason": "quantity_not_recorded", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_6_usage_at_another_endpoints_price", + "about": "version 6: gen.beta's usage line priced at gen.alpha's price", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb090800000000000000005a62020000000000d012130000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e020bf2600000000df25322acfc90f1a65e7c0e0331c40a7740ac42c90d17aa73be0799cbfb2ec5e7a8489952eef3227273a5f6505bb19cbde240f458a33616ae569efa67d2d8e06", + "previous": null, + "sources": [ + "job_tp_alpha", + "job_tp_beta", + "job_tp_failover", + "job_tp_unrecorded", + "job_tp_images", + "job_tp_a_unit_no_price_names" + ], + "outcome": { + "outcome": "refuse", + "reason": "invoice_mismatch", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_6_a_usage_line_not_citing_its_record", + "about": "version 6: gen.beta's usage line citing the route records and the hop receipts and not the third-party records", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552130000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7112e470fa83ed660150a71cdc91bf947ecd706e9cd3ca4a823022b26bd0ee3005d113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000004000000ca63a49481336940e2c155163498421a1191d5cda0955c97afca45b401cc403900000000000000000000000000000000000600000001000000e012981f000000007e785340962aa532345bb48e48f819e7ba159b6fb00369ceee7ea5b612ef5c1dc0c232ff5b06dd8c1ed8738afc940f61b3c31d412ef11ed4e6e90ea254696c0c", + "previous": null, + "sources": [ + "job_tp_alpha", + "job_tp_beta", + "job_tp_failover", + "job_tp_unrecorded", + "job_tp_images", + "job_tp_a_unit_no_price_names" + ], + "outcome": { + "outcome": "refuse", + "reason": "citation_mismatch", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_6_a_record_left_out", + "about": "version 6: an invoice whose records leave out a third-party record it cites", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552120000000e2b014598dea916abadccb1d073c7a8d840667de986fac275bb7dd276815a86890e2e18507c46169aea9985e1bb3eece55f7b47499ea4f43bbf844a49c01e7f8caa0e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add1494420e4da8852e7ff112212c16f71d9d616f87e65a81f91c134582c64782d5c14eef050e95523d0c032d9bc785da750608586c37b7119968dbf811248951276427abff610eb9ac41964eba9384005545035d6e1b61d847bb4d454f370a257fbc726bde46650ee8babcd2338c4a751e598f7159888185e5e16af602d014e02e857c8fd9b2435310419ad25be8b7aac88c2b59acb341c66c76472b8ff7f505987e09777a338dc43e1042ace05a26063ea914dff5b0017d187215d9fc248001e153f8bdcf1424e0c83d106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a95107e2b17ac2533f6222ec7b01f92f578cca4c34bc7cab46f4f830e963d629ae43a10f5cb67ab14608b342c807453b60cfff490d11e39a13eeddd0127aed2eb8e693010fab7ec682685071cee37fcbc0c8e74bfef1a1a240def961e561499f69efe42c7113ae83b6b8a976db10b30f81a265f165cd88d4072f670fa8c28ea7e06d2f78691115fe52d8952e6d34d2ade09c769efa4aa83b509db9219493e5dadd00d8a5fcf1f118451123a057092aba2e0ceb41b6deb51430718a7700056aa2010a5e073a181961193fb102415a2605ca2cd7dabbfc4907dce918128861f9690cdf05fad8151d25711b24fcc3e42f86985b12141bf2dc7cb59ae00733a81c1896dd2378a2b231258720400055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb040600000000000000102700000000000060ea0000000000000c0000000622eac294d37fd9ec98d6beee039c7a83253194a4fc748e8d637d2581621dd0055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb060200000000000000404b4c0000000000809698000000000003000000e40a58ae5c8a4329abb376dabcebe78fe684f40e16e3d37f29d7bd8b10cc4f0e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070800000000000000005a62020000000000d0121300000000030000001ae35f9ae837fc9b13d000dba6b3455fc84ef7cd0c3263418bdc7a0398356abb055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb09080000000000000040787d010000000000c2eb0b0000000006000000a821643da89b681fda0f19fe92c3c03aa6ce9b3a007be2228a837e05f353bd9a00000000000000000000000000000000000600000001000000e012981f00000000c9855580853016e1f094e496a6ddb73fc153573ccf0a2615ad3d091cbba459abd82a9b411fdd01ce4db31cd0f2eda757c5ce4c505c9152d75b4f6c0c6228510b", + "previous": null, + "sources": [ + "job_tp_alpha", + "job_tp_beta", + "job_tp_failover", + "job_tp_unrecorded", + "job_tp_images", + "job_tp_a_unit_no_price_names" + ], + "outcome": { + "outcome": "refuse", + "reason": "invoice_mismatch", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_6_usage_no_record_states", + "about": "version 6: a usage line for a job given with no third-party record", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e0600455552020000000e41c0c742bba80f48815f8db3ae3b1775b0cb4673cd4a19443a870c4add149442106e2a6c1f7e0e409dd1179527022796884156c8cd9e7fe4c4c8d5379fcf458a950200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb04010000000000000010270000000000001027000000000000020000009ea03c1e9fcf2ecbb6a499f6d15b450e55dd9f28951258bf33c2260f3abab19e055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb070400000000000000005a6202000000000068890900000000010000005380faa282fc6ad421462e3bd67f1f19af9583a022f1a9bd7fe221e64daf0b7400000000000000000000000000000000000100000000000000108f8909000000002d382c79fe645a6c5650670fba62506e0c66c5809e571f93fa87583af3aab6b1ec46bd9478bfeb3bf87bbb4bbb8d4ab83ad04d04c5b3e5e89714f92076e45909", + "previous": null, + "sources": [ + "job_tp_unrecorded" + ], + "outcome": { + "outcome": "refuse", + "reason": "quantity_not_recorded", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_6_a_records_subpixels_above_it", + "about": "version 6: the upscale's subpixels line one above what its records state", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b101000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f00000000000000b194380bbc76cbc1a9a5acabdaca5a79692705af1512195e2e4b6c5778ad7ba7b6767c57ca1a99edd81983f8fe2d711fa32d5da24ca05d77ba5c233b5d666f08", + "previous": null, + "sources": [ + "job_upscale", + "job_tonemap", + "job_tonemap_two_pictures_of_one_rendering" + ], + "outcome": { + "outcome": "refuse", + "reason": "quantity_not_recorded", + "at": [ + "invoice" + ] + } + }, + { + "name": "version_6_a_picture_altered", + "about": "version 6: an upscale whose picture has one sample changed, its record's output unchanged", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_picture_altered" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "picture" + ] + } + }, + { + "name": "version_6_a_picture_of_another_shape", + "about": "version 6: an upscale whose picture holds the samples in rows of another length", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_picture_of_another_shape" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "picture" + ] + } + }, + { + "name": "version_6_a_picture_that_does_not_read", + "about": "version 6: an upscale whose picture is not a PNG", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_picture_that_does_not_read" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "picture" + ] + } + }, + { + "name": "version_6_an_upscale_under_another_prior", + "about": "version 6: an upscale given a prior other than the one its record names, so nothing proves it", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_another_prior" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_an_upscale_of_another_input", + "about": "version 6: an upscale given another picture than the one its record names", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_another_input" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_an_input_that_does_not_read", + "about": "version 6: an upscale whose input is not an envelope", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_an_input_that_does_not_read" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "object" + ] + } + }, + { + "name": "version_6_an_input_of_another_capability", + "about": "version 6: an upscale whose input's envelope is of a capability other than a PNG's", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_an_input_of_another_capability" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "object" + ] + } + }, + { + "name": "version_6_an_input_not_rgb", + "about": "version 6: an upscale whose input is a greyscale PNG", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_an_input_not_rgb" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "object" + ] + } + }, + { + "name": "version_6_a_record_of_another_output", + "about": "version 6: an upscale whose record, signed, states another derivation's digest", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_record_of_another_output" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_a_record_naming_a_residual", + "about": "version 6: an upscale whose record names a residual, which this form does not hold, so nothing proves it", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_record_naming_a_residual" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_an_upscale_record_that_does_not_verify", + "about": "version 6: an upscale whose record was changed after it was signed", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_record_that_does_not_verify" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_a_picture_its_hop_did_not_deliver", + "about": "version 6: an upscale whose picture is not what its route record states its hop delivered", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_a_picture_its_hop_did_not_deliver" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_an_upscale_output_twice", + "about": "version 6: an upscale giving one picture twice, to bill it twice", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_one_output_twice" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 1 + ] + } + }, + { + "name": "version_6_an_upscale_in_an_encodes_form", + "about": "version 6: an upscale given as an encode gives its output", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_upscale_in_an_encodes_form" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_6_a_rendition_altered", + "about": "version 6: a tone mapping whose second rendition has one byte changed", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_a_rendition_altered" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "renditions", + 1 + ] + } + }, + { + "name": "version_6_a_rendition_missing", + "about": "version 6: a tone mapping that gives two renditions of the three pictures its record states", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_a_rendition_missing" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "renditions" + ] + } + }, + { + "name": "version_6_a_tone_mapping_of_another_envelope", + "about": "version 6: a tone mapping given another envelope than the one its record names, so nothing proves it", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_another_envelope" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_renditions_out_of_order", + "about": "version 6: a tone mapping whose renditions are not in its record's order", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_renditions_out_of_order" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0, + "renditions", + 0 + ] + } + }, + { + "name": "version_6_a_tonemap_record_that_does_not_verify", + "about": "version 6: a tone mapping whose record was changed after it was signed", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_a_record_that_does_not_verify" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_invalid", + "at": [ + "source", + 0, + "outputs", + 0 + ] + } + }, + { + "name": "version_6_a_rendition_its_hop_did_not_deliver", + "about": "version 6: a tone mapping whose third rendition is not what its route record states its hop delivered", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_a_rendition_its_hop_did_not_deliver" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 0, + "renditions", + 2 + ] + } + }, + { + "name": "version_6_a_tone_mapping_output_twice", + "about": "version 6: a tone mapping giving its record twice, to bill it twice", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_one_output_twice" + ], + "outcome": { + "outcome": "refuse", + "reason": "output_not_delivered", + "at": [ + "source", + 0, + "outputs", + 1, + "renditions", + 0 + ] + } + }, + { + "name": "version_6_a_proof_short", + "about": "version 6: a tone mapping with one proof fewer than its renditions", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_a_proof_short" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_6_a_tone_mapping_without_its_proofs", + "about": "version 6: a tone mapping whose route record is of version 3, given without its proofs", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_without_its_proofs" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_6_proofs_under_a_list", + "about": "version 6: a tone mapping whose route record is of version 2, given proofs", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_proofs_under_a_list" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } + }, + { + "name": "version_6_a_tone_mapping_in_an_encodes_form", + "about": "version 6: a tone mapping given as an encode gives its output", + "tariff": "574c543106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c0300a0cd18bc5c06000040e2b52b5f0600455552da0a00006d050000da0a0000b41500008d2000000000000000000000000000000000000016010000b41500006d0500006400000000943577002d31010000000080f0fa020000000000b4c40400000000404b4c000000000080841e0000000000dc05000000000000e8030000000000000f00117761692e6d656469612e746f6e656d61700d6d656469612e746f6e656d617000020040420f0000000000983a000000000000117761692e6d656469612e75707363616c650d6d656469612e75707363616c6500020040420f0000000000204e0000000000000d7761692e766964656f2e6176310c6d656469612e656e636f6465000100010000000000000080841e0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e657261746500010001000000000000001027000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650004076d696e7574657301000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c7068610406696d616765730100000000000000404b4c0000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650967656e2e616c70686104077365636f6e64730100000000000000005a620200000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e62657461020001000000000000000100000000000000127761692e766964656f2e67656e65726174650e6d656469612e67656e65726174650867656e2e6265746104077365636f6e6473010000000000000040787d0100000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f6465000100010000000000000090d0030000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e6465636f646500020040420f00000000001027000000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f6465000100010000000000000020a1070000000000147761692e766964656f2e696e745f6d6f74696f6e0c6d656469612e656e636f646500020040420f0000000000204e000000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640001000100000000000000e093040000000000117761692e766964656f2e7061636b6167650d7061636b6167652e6275696c640003000100000000000000e8030000000000000400012c3f0f62be557631417a492ef4abb5499bf32c6c980dbc9c0539769ecc2bcaaa030d7550754e0800a5d237eef5826035766b9b3e5a15868a940ab289958788e3b00329e5833a915a6429a4e3a7948475c338ef436eb82be89c92f059704403db9d55055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb147b0e6b5f1a28c90823c8acddeb19c40d7fa60cd8192ec5280723709827010452080b910bdf29c1c8f44a44683be7e358b41cb77ac5dc6d5dbe20629cb8680c9d9f04e2b6aedd629deb8c2159e174681611999180d7fbd8bb72d6c2510d0c08b174a06513e72f32ffbe18c85f00da806804f783ad37156b8bad045f2ecbc70c", + "invoice": "574c493106c45c21d62e3beb229eff8f9d1160ccbfd6fcc2ff7d3fdd5cffca4475da5619c6ec0936ac0661c45fba3229c511138d1cd93bcc9a55ca4cabdd0d6d748a754c03887f051072d63388f945ed9976097eab131c74648b59c4096aa24e29780e33a3000000000000000000000000000000000000000000000000000000000000000000a0cd18bc5c06000070ec75cd5e06004555520a0000000e82d371b25590c2ad02ff063e7a2cfa9219000d562be5ecd616896ff723791eca0e937eae88832dde9a393e07417001f9dde79cc6f4c66e40b54f9ce7c7ee1ac6ba0ed065aa0ed78b9f345d3e692f697b93b78bcf072405580a63246e21b88718d95e1006617a0addf547331e01cc84c8bc2253b5c93b143f9b8ef88b95c4cc885ee211109d10f01b692be6ba02e72ca0d3cb452129a0378a756d564752b296170a3b020310b31c767f2a8a7e24f7d5504c245b51b41e9c3023f811b140009b53f86c84d3d4120738f4a0c8d88b1d898fc4f594af57f0fbd60bae41336964fbed8d4fbab61b26123c90e26580afecf6898328cdf74d66974b0e9e26c1a621e2f121dc438242c60e136f985295573ed519606440dc6b012076edfdb92919d95daa68c653a95fbfafed13e3abad1493c4c8078db2737bb13d6f28e3acf9d23c6b6acc4697c0d34e0dda2c0200055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb01e001000000000000983a000000000000070000000000000006000000fdb8930239012b9043e62ed22664bc724d56f0f044da5929e3864e071be02764055a0d5a5922e427f6d315d59e962f0de9227f62c36cec2fb19839fa8eab8632fb02b001000000000000204e000000000000080000000000000004000000127fc6bb7d56300dc6bf55b0d03b82158ebfb20e4a42a9c7c360373f3fce2ebd01050403000000e079af0000000000204e00000000000000000000000000000000000000000000000000000f0000000000000041bb2deefb86b384e1a4cf981ec502537a48d1bce01980d2aeaad0fa46664577a0b9ee3774c3989b7be16ace409bd1d97c67a909c3826550df026ed6e079e50a", + "previous": null, + "sources": [ + "job_tonemap_in_an_encodes_form" + ], + "outcome": { + "outcome": "refuse", + "reason": "malformed", + "at": [ + "source", + 0 + ] + } } ] } diff --git a/wai/live-conformance/receipt_ledger_verify.py b/wai/live-conformance/receipt_ledger_verify.py index 27be708f6..f0b9ae85b 100644 --- a/wai/live-conformance/receipt_ledger_verify.py +++ b/wai/live-conformance/receipt_ledger_verify.py @@ -10,14 +10,16 @@ settlement statement by settlement_verify.py (settlement §8), a package receipt ../pack-conformance/pack_verify.py (packaging §9), an ads room by live_ads_verify.py with ad_presentation_verify.py (live-ads §9, ad-presentation §9), and a stream stitched by others by stitched_presentation_verify.py (stitched-presentation §7), whose statement the ledger reports as -it is; and, under a tariff of version 2 or 3, a media job by route_record_verify.py (route-record -§7, its hop receipts by the OER/2 reference verifier) and its output receipts by -_int_motion_receipt.py (integer-payloads §15). Everything else is here: +it is; and, under a tariff of version 2 or later, a media job by route_record_verify.py (route-record +§7, its hop receipts by the OER/2 reference verifier, its third-party records in version 6) and its +output receipts by _int_motion_receipt.py (integer-payloads §15), and in version 6 an upscale's by +upscale_verify.py (exact-upscale §7) and a tone mapping's by tonemap_verify.py (exact-tonemap §8). +Everything else is here: - the tariff (§4): reading, rules, both signatures, its scope, its job prices per capability (version 2) or per capability and operation (versions 3 and 4), and in version 4 its price of a room's bytes out, of the work units of a package a run made, and of a package's storage by - byte-days (§4.7); + byte-days (§4.7), and in version 6 its prices of an endpoint and of a usage (§4.9); - the invoice (§6): reading, rules, signature, chain, and what a chain bills once (§6.9): in versions 3 and 4 a job's work, its route record and hop receipts, and never its output's receipt; in version 4 a package's work once per run that made it, its receipt cited by each, @@ -68,6 +70,8 @@ import stitched_presentation_verify as STV # noqa: E402 import route_record_verify as RRV # noqa: E402 (it puts ../oer-conformance on the path) import oer2_verify as OER # noqa: E402 import _int_motion_receipt as IMR # noqa: E402 +import upscale_verify as UV # noqa: E402 +import tonemap_verify as TV # noqa: E402 from _blake3 import blake3 # noqa: E402 from decimal import Decimal, ROUND_HALF_EVEN, localcontext, MAX_PREC, MAX_EMAX, MIN_EMIN # noqa: E402 @@ -83,18 +87,25 @@ U64 = 2 ** 64 - 1 ROOM, DELIVERY, PACKAGE, ADS, JOB = 1, 2, 3, 4, 5 # §6.3 source kinds (5: version 2) SESSION, HOP, STATEMENT, ACK, PACK, AD_RECEIPT, CLAIM, POD_INPUT, STITCHED_CLAIM = 1, 2, 3, 4, 5, 6, 7, 8, 9 # §5.2 OER_RECEIPT, VIDEO_RECEIPT, ROUTE_RECORD = 14, 15, 16 # §5.2, version 2 (10 to 13 are other texts') +THIRD_PARTY, UPSCALE_RECORD, RENDITION_RECORD = 17, 18, 19 # §5.2, version 6 PRIVATE = 128 # §5.2: 128 to 255, private and provisional use KIND_NAMES = {ROOM: "room", DELIVERY: "delivery", PACKAGE: "package", ADS: "ads", JOB: "job"} STITCHED = "stitched" # §5.1: a source kind billed as ads SCOPES = {1: "room_hops", 2: "delivery_hops", 3: "packaging", 4: "ad_decisions", 5: "jobs", 6: "unbilled_hops"} # §6.6 CONTENT_DOMAIN = b"moq-jwp:object\x01" # route-record §2, jwp-receipts §2.1 DAY_US = 86400 * 10 ** 6 # §4.7: a byte-day's day -JOB_UNITS = ["jobs", "subpixels", "work_units"] # §4.5; the third in version 4 (§4.7) -JOB_VERSIONS = (2, 3, 4, 5) # §4.5 to §4.8: the versions that price jobs -WORK_VERSIONS = (3, 4, 5) # §4.6, §6.9: priced per operation, billed by the work +JOB_UNITS = ["jobs", "subpixels", "work_units", "usage"] # §4.5; the third from version 4 (§4.7), the fourth in 6 (§4.9) +USAGE = 4 # §4.9: the job unit of a third party's usage +JOB_VERSIONS = (2, 3, 4, 5, 6) # §4.5 to §4.9: the versions that price jobs +WORK_VERSIONS = (3, 4, 5, 6) # §4.6, §6.9: priced per operation, billed by the work V4 = 4 # §4.7: bytes out, work units, storage by byte-days V5 = 5 # §4.8: version 4, and a decode held to its frames -SPENDING = (V4, V5) # §4.7, §4.8: the versions that bill what the work spends +V6 = 6 # §4.9: version 5, per endpoint, by a usage, and re-derived jobs +SPENDING = (V4, V5, V6) # §4.7 to §4.9: the versions that bill what the work spends +DECODE_FRAMES = (V5, V6) # §4.8, §4.9: a decode held to its frames +TOKEN = re.compile(r"\A[A-Za-z0-9._:/-]{1,128}\Z") # route-record §2: an endpoint's form +UNIT_NAME = re.compile(r"\A[a-z][a-z0-9_]{0,63}\Z") # route-record §2: a unit's form +UPSCALE_OP, TONEMAP_OP = "media.upscale", "media.tonemap" # §4.9 CAPABILITY = re.compile(r"\Awai\.[a-z0-9_.]{0,124}\Z") OPERATION = re.compile(r"\A[a-z][a-z0-9]*\.[a-z][a-z0-9]*\Z") # §4.6, route-record §2 LABELS = {2: "ModelBased", 3: "Estimator", 4: "OnChipCounter", 5: "CalibratedInstrument"} @@ -161,7 +172,7 @@ def head(b, magic): return "malformed" if len(b) < 5: return "truncated" - if b[4] not in (1, 2, 3, 4, 5): + if b[4] not in (1, 2, 3, 4, 5, 6): return "unknown_version" return None @@ -194,12 +205,15 @@ def read_tariff(b): t["package"] = [0, 0, r.u(8)] if b[4] in SPENDING else [r.u(8) for _ in range(3)] t["ads"] = [r.u(8) for _ in range(2)] t["version"] = b[4] - t["job"] = [] # (capability, operation, unit, divisor, price) + t["job"] = [] # (capability, operation, unit, divisor, price, endpoint, usage) if t["version"] in JOB_VERSIONS: # §4.5, §4.6 for _ in range(r.u(2)): cap = r.take(r.u(1)) op = r.take(r.u(1)) if t["version"] in WORK_VERSIONS else b"" - t["job"].append((cap, op, r.u(1), r.u(8), r.u(8))) + endpoint = r.take(r.u(1)) if t["version"] == V6 else b"" + unit = r.u(1) + usage = r.take(r.u(1)) if t["version"] == V6 else b"" + t["job"].append((cap, op, unit, r.u(8), r.u(8), endpoint, usage)) t["scope"] = [(r.u(1), r.take(32)) for _ in range(r.u(2))] body_end = r.p seller_sig, buyer_sig = r.take(64), r.take(64) @@ -209,17 +223,24 @@ def read_tariff(b): raise Refuse("malformed", ["tariff"]) def job_price(j): try: - cap, op = j[0].decode("utf-8"), j[1].decode("utf-8") + cap, op, endpoint, usage = j[0].decode("utf-8"), j[1].decode("utf-8"), j[5].decode("utf-8"), j[6].decode("utf-8") except UnicodeDecodeError: return False named = OPERATION.match(op) is not None and len(j[1]) <= 128 if t["version"] in WORK_VERSIONS else op == "" - units_priced = 3 if t["version"] in SPENDING else 2 - return CAPABILITY.match(cap) is not None and named and 1 <= j[2] <= units_priced and j[3] >= 1 + units_priced = USAGE if t["version"] == V6 else 3 if t["version"] in SPENDING else 2 + ends = endpoint == "" or TOKEN.match(endpoint) is not None or "price-endpoint" in SKIP + unit_named = (UNIT_NAME.match(usage) is not None if j[2] == USAGE else usage == "") or "price-usage" in SKIP + return CAPABILITY.match(cap) is not None and named and ends and unit_named and 1 <= j[2] <= units_priced and j[3] >= 1 + def overlap_free(): + """§4.9: a price of any endpoint and a price of one, for the same work, would bill a job at both.""" + anys = {(j[0], j[1], j[2], j[6]) for j in t["job"] if j[5] == b""} + return not any(j[5] != b"" and (j[0], j[1], j[2], j[6]) in anys for j in t["job"]) top = 5 if t["version"] in JOB_VERSIONS else 4 rules = (t["start"] < t["end"] and capitals(t["currency"]) and t["seller"] != ZERO and t["buyer"] != ZERO and t["seller"] != t["buyer"] and t["scope"] and ascending(t["scope"]) and all(1 <= k <= top and i != ZERO for k, i in t["scope"]) - and len(t["job"]) <= 255 and ascending([(j[0], j[1], j[2]) for j in t["job"]]) and all(job_price(j) for j in t["job"])) + and len(t["job"]) <= 255 and (ascending([(j[0], j[1], j[5], j[2], j[6]) for j in t["job"]]) or "price-order" in SKIP) + and all(job_price(j) for j in t["job"]) and (overlap_free() or "any-beside-one" in SKIP)) if not rules and "tariff-rules" not in SKIP: raise Refuse("tariff_invalid", ["tariff"]) body = b[:body_end] @@ -280,7 +301,9 @@ def read_invoice(b, at): u = units(i["version"]) return x["kind"] in u and 1 <= x["unit"] <= len(u[x["kind"]]) and u[x["kind"]][x["unit"] - 1] is not None rules = (i["start"] < i["end"] and capitals(i["currency"]) and ascending(i["records"]) - and all(1 <= k <= 9 or (v2 and OER_RECEIPT <= k <= ROUTE_RECORD) for k, _ in i["records"]) and ascending(keys) + and all(1 <= k <= 9 or (v2 and OER_RECEIPT <= k <= ROUTE_RECORD) + or ((i["version"] == V6 or "kind-version" in SKIP) and THIRD_PARTY <= k <= RENDITION_RECORD) for k, _ in i["records"]) + and ascending(keys) and all(unit_ok(x) and x["quantity"] > 0 and x["cited"] > 0 for x in i["lines"]) and ascending([(e[0], e[1]) for e in i["energy"]]) and all(1 <= e[0] <= scopes(i["version"]) and 2 <= e[1] <= 5 and e[2] > 0 for e in i["energy"])) @@ -595,20 +618,129 @@ def frame_samples(z, w, h): return PV.png_frame(still)[2] -def job_source(s, version): - if set(s) != {"kind", "request", "pricebook", "policy", "record", "receipts", "keys", "outputs"} \ - or s["receipts"] is None or s["keys"] is None or not isinstance(s["outputs"], list): +HEX_BYTES = re.compile(r"(?:[0-9a-f]{2})*") +PNG_FAILS = (ValueError, zlib.error, struct.error, IndexError) + + +def is_hex(v): + return isinstance(v, str) and HEX_BYTES.fullmatch(v) is not None + + +def upscale_output(x, i): + """§4.9: an upscale's output: its record proved by exact-upscale §7 from the input, a WAI1 of one + 8-bit RGB PNG, and the prior; and the picture's samples the output it states. The link hash, the + subpixels and the picture.""" + if not isinstance(x, dict) or set(x) != {"upscale", "object", "prior", "picture"} or not isinstance(x["upscale"], str) \ + or not all(is_hex(x[k]) for k in ("object", "prior", "picture")): raise Refuse("malformed", []) - doc = {k: s[k] for k in ("request", "pricebook", "policy", "record", "receipts", "keys")} + + def bad(*at): + return Refuse("output_invalid", ["outputs", i] + list(at)) + try: + u = UV.read(x["upscale"], "wai-upscale", UV.UPSCALE, UV.upscale_fields) + except UV.Refuse: + raise bad() + obj, prior, picture = bytes.fromhex(x["object"]), bytes.fromhex(x["prior"]), bytes.fromhex(x["picture"]) + if "upscale-input" in SKIP: + rgb = b"" + else: + try: + m, _, payload = UV.STV.read_wai1(obj) + if m["model_requirement"]["capability"] != "wai.image.png": + raise ValueError("another capability") + rgb = TV.png_decode(payload, False)[3] + except (UV.STV.NotWai1,) + PNG_FAILS: + raise bad("object") + case = {"claims": [], "upscales": [x["upscale"]], "presentations": [], "objects": [x["object"]], + "decoded": [{"object": content_hash(obj).hex(), "samples": rgb.hex()}], "priors": ["given"], "residuals": [], "targets": [], + "policy": {"dual_layer": "when-given", "assistive": "require-proof", "second_layer": "accept-stated", "upscale": "require-proof"}} + if "upscale-proof" not in SKIP: + try: + UV.verify(case, {}, {"given": prior}) + except UV.Refuse: + raise bad() + f = UV.SR.FACTOR[u["derivation"]] + ow, oh = f * u["w"], f * u["h"] + try: + pw, ph, _, samples = TV.png_decode(picture, False) + except PNG_FAILS: + raise bad("picture") + if "upscale-picture" not in SKIP and ((pw, ph) != (ow, oh) or hashlib.sha256(samples).digest() != u["output"]): + raise bad("picture") + return u["link"], ow * oh * 3, picture + + +def read_proof(pr): + """§5.1: an inclusion proof's form, or None.""" + if not (isinstance(pr, dict) and set(pr) == {"index", "siblings"} and isinstance(pr["index"], int) and not isinstance(pr["index"], bool) + and 0 <= pr["index"] <= 2 ** 53 - 1 and isinstance(pr["siblings"], list) + and all(isinstance(h, str) and re.fullmatch(r"[0-9a-f]{64}", h) for h in pr["siblings"])): + return None + return pr["index"], [bytes.fromhex(h) for h in pr["siblings"]] + + +def tonemap_output(x, i, committed): + """§4.9: a tone mapping's output: its record proved by exact-tonemap §8 from the envelope, and each + rendition the bytes its picture states. The link hash, the subpixels, each rendition's content hash + and its proof.""" + want = {"tonemap", "envelope", "renditions"} | ({"proofs"} if committed else set()) + if not isinstance(x, dict) or set(x) != want or not isinstance(x["tonemap"], str) or not is_hex(x["envelope"]) \ + or not isinstance(x["renditions"], list) or not all(is_hex(b) for b in x["renditions"]): + raise Refuse("malformed", []) + if committed: + if not isinstance(x["proofs"], list) or len(x["proofs"]) != len(x["renditions"]): + raise Refuse("malformed", []) + proofs = [read_proof(p) for p in x["proofs"]] + if any(p is None for p in proofs): + raise Refuse("malformed", []) + else: + proofs = [None] * len(x["renditions"]) + + def bad(*at): + return Refuse("output_invalid", ["outputs", i] + list(at)) + try: + r = TV.read_record(x["tonemap"]) + except TV.Refuse: + raise bad() + env = bytes.fromhex(x["envelope"]) + if "tonemap-proof" not in SKIP: + held = {"envelopes": {content_hash(env).hex(): env}, "frames": {}} + if TV.run_case({"records": [x["tonemap"]], "policy": "require-proof"}, held)["outcome"] != "accept": + raise bad() + renditions = [bytes.fromhex(b) for b in x["renditions"]] + if len(renditions) != len(r["pictures"]) and "tonemap-count" not in SKIP: + raise bad("renditions") + if "tonemap-renditions" not in SKIP: + for k, (b, p) in enumerate(zip(renditions, r["pictures"])): + if hashlib.sha256(b).hexdigest() != p["output"]: + raise bad("renditions", k) + w, h = r["base"]["width"], r["base"]["height"] + return bytes.fromhex(r["_link"]), len(r["pictures"]) * w * h * 3, [content_hash(b) for b in renditions], proofs + + +def job_source(s, version): + members = {"kind", "request", "pricebook", "policy", "record", "receipts", "keys", "outputs"} + third = "third_party" in s and (version == V6 or "third-party-version" in SKIP) # §4.9 + if third: + members.add("third_party") + if set(s) != members or s["receipts"] is None or s["keys"] is None or not isinstance(s["outputs"], list): + raise Refuse("malformed", []) + doc = {k: s[k] for k in members - {"kind", "outputs"}} got = RRV.verify(doc) if got["outcome"] != "accept": raise Refuse(got["reason"], got["at"]) + records = got.get("third_party", []) rec = json.loads(s["record"]) texts = [OER.load(io.StringIO(t)) for t in s["receipts"]] - billed, fig = None, None + billed, fig, endpoint, usage = None, None, b"", None for a in rec["attempts"]: if a["billed"] is True: cap = next(c["capability"] for c in rec["candidates"] if c["endpoint"] == a["endpoint"]) + endpoint = a["endpoint"].encode("utf-8") + # §4.9: a failed or late hop's record states what the provider billed, and no line reads it. + mine = records[:1] if "billed-usage" in SKIP else [r for r in records if r["hop"] == a["hop"]] + if mine and mine[0]["usage"] is not None: + usage = (mine[0]["usage"]["unit"].encode("utf-8"), mine[0]["usage"]["quantity"], bytes.fromhex(mine[0]["digest"])) j = next(i for i, t in enumerate(texts) if isinstance(t, dict) and t.get("receipt_id") == a["receipt"]) fig = job_figure(texts[j]) if "job-figure" not in SKIP else (None, 0, 0) if fig is None: @@ -655,19 +787,34 @@ def job_source(s, version): return place < len(stated) and stated[place] == h return h in delivered - def is_index(v): - return isinstance(v, int) and not isinstance(v, bool) and 0 <= v <= 2 ** 53 - 1 - - hex64 = re.compile(r"[0-9a-f]{64}") seen = set() - outputs, packages = [], [] + outputs, packages, upscales, renditions = [], [], [], [] hexs = re.compile(r"(?:[0-9a-f]{2})*") # §4.8, version 5: a decode delivers one animated PNG of its frames, and its codestream is # what it read; the served hop states exactly those animations, in order, and nothing else. - decode = version == V5 and rec["operation"] == "media.decode" and "decode-frames" not in SKIP + decode = version in DECODE_FRAMES and rec["operation"] == "media.decode" and "decode-frames" not in SKIP + # §4.9, version 6: an upscale and a tone mapping are given in their own forms. + of_six = version == V6 or "form-version" in SKIP + upscale = of_six and rec["operation"] == UPSCALE_OP + tonemap = of_six and rec["operation"] == TONEMAP_OP stated = [bytes.fromhex(h) for a in rec["attempts"] if a["outcome"] == "served" for h in a["outputs"]] if rec["version"] == 2 else [] nxt = 0 for i, x in enumerate(s["outputs"]): + # One record's pictures are many objects, each with its proof. A picture that repeats within + # its record is one object its hop states once, and is billed as a picture (§4.9). + if tonemap: + link, n, objects, proofs = tonemap_output(x, i, committed) + renditions.append((link, n)) + own = set() + for k, h in enumerate(objects): + fresh = h not in own + own.add(h) + if "output-delivered" in SKIP: + continue + if not holds(h, proofs[k], None) or (fresh and h in seen): + raise Refuse("output_not_delivered", ["outputs", i, "renditions", k]) + seen.add(h) + continue # Under a record of version 3 each output gives `proof`, and under one of version 1 or 2 # none (§5.1). proof = None @@ -675,11 +822,9 @@ def job_source(s, version): if not isinstance(x, dict) or "proof" not in x: raise Refuse("malformed", []) x = dict(x) - pr = x.pop("proof") - if not (isinstance(pr, dict) and set(pr) == {"index", "siblings"} and is_index(pr["index"]) and isinstance(pr["siblings"], list) - and all(isinstance(h, str) and hex64.fullmatch(h) for h in pr["siblings"])): + proof = read_proof(x.pop("proof")) + if proof is None: raise Refuse("malformed", []) - proof = (pr["index"], [bytes.fromhex(h) for h in pr["siblings"]]) if decode: if not isinstance(x, dict) or set(x) != {"receipt", "codestream", "frames"} or not isinstance(x["receipt"], str) \ or not isinstance(x["codestream"], str) or not hexs.fullmatch(x["codestream"]) \ @@ -711,7 +856,10 @@ def job_source(s, version): raise Refuse("output_not_delivered", ["outputs", i, "frames"]) nxt += 1 continue - if version in SPENDING and isinstance(x, dict) and set(x) == {"package", "indexes"}: + if upscale: + link, n, obj = upscale_output(x, i) + upscales.append((link, n)) + elif version in SPENDING and isinstance(x, dict) and set(x) == {"package", "indexes"}: # §4.7: a package a run of `package.build` made, its object its receipt's text. if not isinstance(x["package"], str) or not isinstance(x["indexes"], list) \ or not all(isinstance(h, str) and hexs.fullmatch(h) for h in x["indexes"]): @@ -744,7 +892,8 @@ def job_source(s, version): raise Refuse("output_not_delivered", ["outputs"]) # §4.8, 3: an object past the animations return {"kind": JOB, "digest": bytes.fromhex(RRV.digest(rec)), "router": bytes.fromhex(rec["signer"]), "job": rec["job"], "operation": rec["operation"].encode("utf-8"), "accepted": rec["accepted"], "hops": [oer_identity(a["receipt"]) for a in rec["attempts"]], "billed": billed, - "figure": fig, "outputs": outputs, "packages": packages, "unbilled": unbilled} + "figure": fig, "outputs": outputs, "packages": packages, "unbilled": unbilled, "endpoint": endpoint, "usage": usage, + "third_party": [bytes.fromhex(r["digest"]) for r in records], "upscales": upscales, "renditions": renditions} _SOURCES = {} @@ -754,7 +903,9 @@ def verify_source(s, signers, version=1): """§5.1: the source verified by its own extension, a stitched source with `signers`, a job source under a tariff of version 2 or 3, or Refuse with that extension's place.""" key = json.dumps([s, sorted(k.hex() for k in signers), version if isinstance(s, dict) and s.get("kind") == "job" else version in JOB_VERSIONS, - sorted(SKIP & {"job-figure", "output", "output-delivered", "unbilled-hops", "run-work", "decode-frames", "output-proof"})], sort_keys=True) + sorted(SKIP & {"job-figure", "output", "output-delivered", "unbilled-hops", "run-work", "decode-frames", "output-proof", + "third-party-version", "form-version", "billed-usage", "upscale-input", "upscale-proof", "upscale-picture", + "tonemap-proof", "tonemap-count", "tonemap-renditions"})], sort_keys=True) if key not in _SOURCES: try: _SOURCES[key] = read_source(s, signers, version) @@ -808,6 +959,8 @@ def contributed(f): elif f["kind"] == JOB: out |= {(OER_RECEIPT, h) for h in f["hops"]} | {(VIDEO_RECEIPT, h) for h, _ in f["outputs"]} out |= {(PACK, h) for h, _ in f["packages"]} + out |= {(THIRD_PARTY, d) for d in f["third_party"]} + out |= {(UPSCALE_RECORD, h) for h, _ in f["upscales"]} | {(RENDITION_RECORD, h) for h, _ in f["renditions"]} return out @@ -882,6 +1035,8 @@ def billed_once(version, kind): each invoice that bills its storage (§4.7).""" if kind == PACK and version in SPENDING and "package-again" not in SKIP: return False + if kind in (UPSCALE_RECORD, RENDITION_RECORD) and "evidence-again" not in SKIP: + return False # §4.9: what re-derives an output is its evidence return not (kind == VIDEO_RECEIPT and (version in WORK_VERSIONS or "output-once" in SKIP)) @@ -970,18 +1125,29 @@ def compute(t, facts): if f["billed"] is None: continue cap, hop = f["billed"] - for k, (pcap, pop, unit, _, _) in enumerate(t["job"]): + for k, (pcap, pop, unit, _, _, pend, pusage) in enumerate(t["job"]): if pcap != cap or (t["version"] in WORK_VERSIONS and pop != f["operation"] and "operation" not in SKIP): continue + if pend and pend != f["endpoint"] and "endpoint" not in SKIP: # §4.9 + continue cites = [(ROUTE_RECORD, f["digest"]), (OER_RECEIPT, hop)] if unit == 1: n = 1 elif unit == 2: cites += [(VIDEO_RECEIPT, h) for h, w in f["outputs"] if w > 0] - n = sum(w for _, w in f["outputs"]) - else: # §4.7: the work units of its packages + cites += [(UPSCALE_RECORD, h) for h, w in f["upscales"] if w > 0] + cites += [(RENDITION_RECORD, h) for h, w in f["renditions"] if w > 0] + n = sum(w for _, w in f["outputs"] + f["upscales"] + f["renditions"]) + elif unit == 3: # §4.7: the work units of its packages cites += [(PACK, h) for h, w in f["packages"] if w > 0] n = sum(w for _, w in f["packages"]) + else: # §4.9: what the billed hop's record states + u = f["usage"] + if u is None or (u[0] != pusage and "usage-unit" not in SKIP): + n = 0 + else: + n = u[1] + cites.append((THIRD_PARTY, u[2])) add(JOB, f["router"], k + 1, n, cites) else: unit = 1 if f["claims_required"] else 2 @@ -1241,6 +1407,10 @@ def line_json(x, t): out["capability"] = t["job"][x["unit"] - 1][0].decode("utf-8") if t["version"] in WORK_VERSIONS: out["operation"] = t["job"][x["unit"] - 1][1].decode("utf-8") + if t["version"] == V6: # §7.3: its endpoint, empty for any; a usage's unit + out["endpoint"] = t["job"][x["unit"] - 1][5].decode("utf-8") + if t["job"][x["unit"] - 1][2] == USAGE: + out["usage_unit"] = t["job"][x["unit"] - 1][6].decode("utf-8") return out @@ -1400,6 +1570,34 @@ def mutations(doc): m = copy.deepcopy(doc) m["sources"]["job_v5_decode"]["outputs"][0]["frames"] = doc["sources"][other]["outputs"][0]["frames"] out.append((f"job_v5_decode: {what}", m)) + if "job_tp_alpha" in doc["sources"]: # §4.9: what a third party bills is signed + m = copy.deepcopy(doc) + m["sources"]["job_tp_alpha"]["third_party"] = doc["sources"]["job_tp_beta"]["third_party"] + out.append(("job_tp_alpha: another job's record", m)) + m = copy.deepcopy(doc) + m["sources"]["job_tp_failover"]["third_party"] = doc["sources"]["job_tp_failover"]["third_party"][1:] + out.append(("job_tp_failover: its failed hop's record left out", m)) + m = copy.deepcopy(doc) + m["sources"]["job_tp_alpha"]["third_party"][0] = doc["sources"]["job_tp_alpha"]["third_party"][0].replace('"quantity":8', '"quantity":80') + out.append(("job_tp_alpha: its record's usage raised, its signature unchanged", m)) + if "job_upscale" in doc["sources"]: # §4.9: re-derived, and of what the hop delivered + m = copy.deepcopy(doc) + o = m["sources"]["job_upscale"]["outputs"] + o[0]["picture"], o[1]["picture"] = o[1]["picture"], o[0]["picture"] + out.append(("job_upscale: its two pictures swapped", m)) + m = copy.deepcopy(doc) + m["sources"]["job_upscale"]["outputs"][0]["object"] = doc["sources"]["job_upscale"]["outputs"][1]["object"] + out.append(("job_upscale: its first record given the second's input", m)) + m = copy.deepcopy(doc) + m["sources"]["job_upscale"]["outputs"][0]["proof"]["index"] = 1 + out.append(("job_upscale: its first picture proved at the second place", m)) + m = copy.deepcopy(doc) + m["sources"]["job_tonemap"]["outputs"][0]["proofs"][0]["index"] = 1 + out.append(("job_tonemap: its first rendition proved at the second place", m)) + m = copy.deepcopy(doc) + r = m["sources"]["job_tonemap"]["outputs"][0]["renditions"] + r[0], r[1] = r[1], r[0] + out.append(("job_tonemap: its first two renditions swapped", m)) if "job_v3r_encode" in doc["sources"]: # §5.1: an output proved at its place m = copy.deepcopy(doc) m["sources"]["job_v3r_encode"]["outputs"][0]["proof"]["index"] = 0 @@ -1423,7 +1621,9 @@ CHECKS = ["signatures", "buyer-signature", "tariff-rules", "invoice-rules", "row "previous-given", "previous-overlap", "scope", "conflict", "period", "duplicate", "overlap", "rebilled", "quantity", "summed", "citations", "mismatch", "job-figure", "output", "job-duplicate", "private-kind", "operation", "output-once", "output-delivered", "unbilled-hops", "storage-held", "package-again", "run-work", "bytes-out", "conflict-bytes", - "decode-frames", "output-proof"] + "decode-frames", "output-proof", "price-endpoint", "price-usage", "price-order", "any-beside-one", + "kind-version", "third-party-version", "form-version", "billed-usage", "endpoint", "usage-unit", "evidence-again", + "upscale-input", "upscale-proof", "upscale-picture", "tonemap-proof", "tonemap-count", "tonemap-renditions"] def main(corpus_dir): diff --git a/wai/wai-rs/Cargo.toml b/wai/wai-rs/Cargo.toml index 124f05aa2..64a67aac0 100644 --- a/wai/wai-rs/Cargo.toml +++ b/wai/wai-rs/Cargo.toml @@ -515,7 +515,7 @@ settlement = ["live_metering", "jwp_hash"] # 14), and an `int_motion` job's decode receipt (video_receipt, kind 15); under a tariff of # version 5 a decode's frames, each a PNG read by packaging §5.7's reader (png_still) and held to # its receipt's frame (§4.8). SHA-256, Ed25519 and the sources' own readers; no new dependency. -receipt_ledger =["live_metering", "settlement", "live_ads", "video_package", "stitched_presentation", "route_record", "video_receipt", "png_still"] +receipt_ledger =["live_metering", "settlement", "live_ads", "video_package", "stitched_presentation", "route_record", "video_receipt", "png_still", "exact_upscale", "exact_tonemap"] # Route record (extensions/route-record.md): `wai.route.record` — what a router considered for one # media job and why it chose: the request, the price book and the routing policy as documents # pinned by digest; the candidates, the limits that removed each, the ranking, the order and the diff --git a/wai/wai-rs/src/receipt_ledger.rs b/wai/wai-rs/src/receipt_ledger.rs index 6bba54be8..79879be3a 100644 --- a/wai/wai-rs/src/receipt_ledger.rs +++ b/wai/wai-rs/src/receipt_ledger.rs @@ -67,8 +67,16 @@ pub const VERSION_4: u8 = 4; /// The version of a tariff that bills as version 4 does and holds a decode to what it delivered, /// its frames, and of its invoices (§4.8). pub const VERSION_5: u8 = 5; +/// The version of a tariff that bills as version 5 does, prices a job per endpoint and by a third +/// party's usage, and bills an upscale and a tone mapping by what re-derives them, and of its +/// invoices (§4.9). +pub const VERSION_6: u8 = 6; /// The catalogue's operation whose hop delivers a reconstruction, not a codestream (§4.8). pub const DECODE: &str = "media.decode"; +/// The catalogue's operation whose output is an upscale record's picture (§4.9). +pub const UPSCALE: &str = "media.upscale"; +/// The catalogue's operation whose outputs are a rendition record's pictures (§4.9). +pub const TONEMAP: &str = "media.tonemap"; pub const TARIFF_DOMAIN: &[u8] = b"wai:ledger-tariff\x01"; pub const ACCEPT_DOMAIN: &[u8] = b"wai:ledger-accept\x01"; pub const INVOICE_DOMAIN: &[u8] = b"wai:ledger-invoice\x01"; @@ -120,6 +128,11 @@ pub mod record_kind { pub const OER_RECEIPT: u8 = 14; pub const VIDEO_RECEIPT: u8 = 15; pub const ROUTE_RECORD: u8 = 16; + /// Version 6: a job source's third-party hop records, upscale records and rendition records + /// (§5.2, §4.9). + pub const THIRD_PARTY: u8 = 17; + pub const UPSCALE_RECORD: u8 = 18; + pub const RENDITION_RECORD: u8 = 19; /// The first kind reserved for private and provisional use (§5.2): 128 to 255. A WAI record /// never states one (`private_kind`). pub const PRIVATE: u8 = 128; @@ -141,11 +154,11 @@ pub mod scope { ["", "room_hops", "delivery_hops", "packaging", "ad_decisions", "jobs", "unbilled_hops"].get(s as usize).copied().unwrap_or("") } - /// The scopes an invoice of `version` states (§6.1): 4, 5 in versions 2 and 3, 6 in 4 and 5. + /// The scopes an invoice of `version` states (§6.1): 4, 5 in versions 2 and 3, 6 in 4 to 6. pub fn count(version: u8) -> u8 { match version { super::VERSION_2 | super::VERSION_3 => JOBS, - super::VERSION_4 | super::VERSION_5 => UNBILLED_HOPS, + super::VERSION_4 | super::VERSION_5 | super::VERSION_6 => UNBILLED_HOPS, _ => AD_DECISIONS, } } @@ -358,7 +371,7 @@ impl<'a> Rd<'a> { } } -/// The first steps of reading (§4.3, §6.8): the magic and the version, 1 to 4. +/// The first steps of reading (§4.3, §6.8): the magic and the version, 1 to 6. fn read_head(b: &[u8], magic: &[u8; 4]) -> Result { if b.len() < 4 { return Err(TRUNCATED); @@ -368,60 +381,89 @@ fn read_head(b: &[u8], magic: &[u8; 4]) -> Result { } match b.get(4) { None => Err(TRUNCATED), - Some(&v) if (VERSION..=VERSION_5).contains(&v) => Ok(v), + Some(&v) if (VERSION..=VERSION_6).contains(&v) => Ok(v), Some(_) => Err(UNKNOWN_VERSION), } } -/// Whether a tariff or an invoice of `version` prices jobs (§4.5, §4.6): versions 2 to 5. +/// Whether a tariff or an invoice of `version` prices jobs (§4.5, §4.6): versions 2 to 6. pub fn prices_jobs(version: u8) -> bool { - (VERSION_2..=VERSION_5).contains(&version) + (VERSION_2..=VERSION_6).contains(&version) } /// Whether a tariff of `version` prices a job by its operation and bills its work (§4.6, §6.9): -/// versions 3 to 5. +/// versions 3 to 6. pub fn bills_work(version: u8) -> bool { - (VERSION_3..=VERSION_5).contains(&version) + (VERSION_3..=VERSION_6).contains(&version) } /// Whether a tariff of `version` bills what the work spends (§4.7, §6.6): a room's bytes out, a -/// package's work per run and its storage by byte-time, and every hop's energy. Versions 4 and 5. +/// package's work per run and its storage by byte-time, and every hop's energy. Versions 4 to 6. pub fn bills_spending(version: u8) -> bool { - version == VERSION_4 || version == VERSION_5 + (VERSION_4..=VERSION_6).contains(&version) } /// Whether a tariff of `version` holds a decode to the frames it delivered, the codestream it -/// read being its input (§4.8): version 5. +/// read being its input (§4.8): versions 5 and 6. pub fn holds_decode_to_frames(version: u8) -> bool { - version == VERSION_5 + version == VERSION_5 || version == VERSION_6 } -/// The room prices a tariff of `version` states (§4.1): fourteen in versions 4 and 5, else +/// Whether a tariff of `version` prices a job per endpoint and by a third party's usage, and +/// bills an upscale and a tone mapping by what re-derives them (§4.9): version 6. +pub fn prices_endpoints(version: u8) -> bool { + version == VERSION_6 +} + +/// The room prices a tariff of `version` states (§4.1): fourteen in versions 4 to 6, else /// thirteen. pub fn room_prices(version: u8) -> usize { if bills_spending(version) { ROOM_PRICES } else { ROOM_PRICES_1 } } -/// A job price (§4.5, §4.6): a capability, in version 3 an operation, a unit (1 `jobs`, 2 -/// `subpixels`), a divisor and a price. +/// A job price (§4.5, §4.6, §4.9): a capability, in version 3 an operation, in version 6 an +/// endpoint, a unit (1 `jobs`, 2 `subpixels`, and from version 4 3 `work_units`, in version 6 4 +/// `usage`, with the usage's unit), a divisor and a price. #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] pub struct JobPrice { pub capability: String, /// Version 3: the catalogue operation it prices (§4.6). Empty in version 2, whose job /// prices name none. pub operation: String, + /// Version 6: the endpoint it prices (§4.9), or empty for any. Empty before version 6. + pub endpoint: String, pub unit: u8, + /// Version 6, unit 4: the unit the usage is stated in (§4.9). Empty otherwise. + pub usage: String, pub divisor: u64, pub price: u64, } -/// The job units, in unit order (§4.5): `work_units`, the work its output packages state, in -/// version 4 only (§4.7). -pub const JOB_UNITS: [&str; 3] = ["jobs", "subpixels", "work_units"]; +/// The job units, in unit order (§4.5): `work_units`, the work its output packages state, from +/// version 4 (§4.7), and `usage`, what a third party bills for its hop, in version 6 (§4.9). +pub const JOB_UNITS: [&str; 4] = ["jobs", "subpixels", "work_units", "usage"]; -/// The job units a tariff of `version` prices (§4.5, §4.7): two, and three in versions 4 and 5. +/// The job unit a third party's hop is billed in (§4.9). +const USAGE: u8 = 4; + +/// The job units a tariff of `version` prices (§4.5, §4.7, §4.9): two, three in versions 4 and 5, +/// and four in version 6. pub fn job_units(version: u8) -> u8 { - if bills_spending(version) { 3 } else { 2 } + if prices_endpoints(version) { + USAGE + } else if bills_spending(version) { + 3 + } else { + 2 + } +} + +impl JobPrice { + /// What a tariff orders its job prices by (§4.3): each is empty before the version that + /// states it. + fn order(&self) -> (&[u8], &[u8], &[u8], u8, &[u8]) { + (self.capability.as_bytes(), self.operation.as_bytes(), self.endpoint.as_bytes(), self.unit, self.usage.as_bytes()) + } } fn job_capability(c: &str) -> bool { @@ -449,25 +491,27 @@ pub struct Tariff { /// 1; 2 for a tariff that prices jobs (§4.5); 3 for one that prices them per operation and /// bills their work (§4.6, §6.9); 4 for one that also prices bytes out, a package's work and /// its storage by byte-time (§4.7); 5 for one that bills as version 4 does and holds a decode - /// to the frames it delivered (§4.8). + /// to the frames it delivered (§4.8); 6 for one that also prices a job per endpoint and by a + /// third party's usage, and bills an upscale and a tone mapping (§4.9). pub version: u8, pub seller: [u8; 32], pub buyer: [u8; 32], pub start: u64, pub end: u64, pub currency: [u8; 3], - /// Live-metering §4.1's thirteen prices, in its order, and in versions 4 and 5 a fourteenth, + /// Live-metering §4.1's thirteen prices, in its order, and in versions 4 to 6 a fourteenth, /// per 10^9 bytes out; versions 1 to 3 state no fourteenth, read as 0. pub room: [u32; ROOM_PRICES], /// Settlement §7.1's four prices, in class order. pub delivery: [u64; 4], - /// Per package receipt, per entry, per 10^9 stored bytes; in versions 4 and 5 only the third, + /// Per package receipt, per entry, per 10^9 stored bytes; in versions 4 to 6 only the third, /// per 10^9 byte-days held, the first two neither written nor read, 0 (§4.7). pub package: [u64; 3], /// Per presented impression, per billable impression. pub ads: [u64; 2], - /// Versions 2 and 3: the job prices, in strictly ascending order of (capability, unit) in - /// version 2 (§4.5) and of (capability, operation, unit) in version 3 (§4.6). + /// Versions 2 to 6: the job prices, in strictly ascending order of (capability, unit) in + /// version 2 (§4.5), of (capability, operation, unit) in versions 3 to 5 (§4.6), and of + /// (capability, operation, endpoint, unit, usage) in version 6 (§4.9). pub job: Vec, /// (kind, id), strictly ascending. pub scope: Vec<(u8, [u8; 32])>, @@ -502,7 +546,15 @@ impl Tariff { o.push(u8::try_from(j.operation.len()).expect("an operation of at most 255 bytes")); o.extend_from_slice(j.operation.as_bytes()); } + if prices_endpoints(self.version) { + o.push(u8::try_from(j.endpoint.len()).expect("an endpoint of at most 255 bytes")); + o.extend_from_slice(j.endpoint.as_bytes()); + } o.push(j.unit); + if prices_endpoints(self.version) { + o.push(u8::try_from(j.usage.len()).expect("a usage unit of at most 255 bytes")); + o.extend_from_slice(j.usage.as_bytes()); + } o.extend_from_slice(&j.divisor.to_le_bytes()); o.extend_from_slice(&j.price.to_le_bytes()); } @@ -573,7 +625,20 @@ impl Tariff { } else { String::new() }; - job.push(JobPrice { capability, operation, unit: r.u8()?, divisor: r.u64()?, price: r.u64()? }); + let endpoint = if prices_endpoints(version) { + let len = r.u8()? as usize; + text(r.take(len)?) + } else { + String::new() + }; + let unit = r.u8()?; + let usage = if prices_endpoints(version) { + let len = r.u8()? as usize; + text(r.take(len)?) + } else { + String::new() + }; + job.push(JobPrice { capability, operation, endpoint, unit, usage, divisor: r.u64()?, price: r.u64()? }); } } let n = r.u16()? as usize; @@ -597,10 +662,17 @@ impl Tariff { && ascending(&t.scope) && t.scope.iter().all(|(k, id)| (1..=if prices_jobs(t.version) { 5 } else { 4 }).contains(k) && *id != [0; 32]) && t.job.len() <= 255 - && t.job.windows(2).all(|w| (w[0].capability.as_bytes(), w[0].operation.as_bytes(), w[0].unit) < (w[1].capability.as_bytes(), w[1].operation.as_bytes(), w[1].unit)) + && t.job.windows(2).all(|w| w[0].order() < w[1].order()) && t.job.iter().all(|j| { let operation = if bills_work(t.version) { job_operation(&j.operation) } else { j.operation.is_empty() }; - job_capability(&j.capability) && operation && (1..=job_units(t.version)).contains(&j.unit) && j.divisor >= 1 + let endpoint = j.endpoint.is_empty() || crate::route_record::token(&j.endpoint); + let usage = if j.unit == USAGE { crate::route_record::unit(&j.usage) } else { j.usage.is_empty() }; + job_capability(&j.capability) && operation && endpoint && usage && (1..=job_units(t.version)).contains(&j.unit) && j.divisor >= 1 + }) + // One job is billed once for a unit: a price of an endpoint beside a price of any, + // for the same work, would bill it at both (§4.9). + && t.job.iter().filter(|j| j.endpoint.is_empty()).all(|any| { + !t.job.iter().any(|j| !j.endpoint.is_empty() && (&j.capability, &j.operation, j.unit, &j.usage) == (&any.capability, &any.operation, any.unit, &any.usage)) }); if !rules { return Err((Reason::TariffInvalid.code(), at())); @@ -802,7 +874,11 @@ impl Invoice { let rules = i.start < i.end && capitals(&i.currency) && ascending(&i.records) - && i.records.iter().all(|(k, _)| (1..=9).contains(k) || (v2 && (record_kind::OER_RECEIPT..=record_kind::ROUTE_RECORD).contains(k))) + && i.records.iter().all(|(k, _)| { + (1..=9).contains(k) + || (v2 && (record_kind::OER_RECEIPT..=record_kind::ROUTE_RECORD).contains(k)) + || (prices_endpoints(version) && (record_kind::THIRD_PARTY..=record_kind::RENDITION_RECORD).contains(k)) + }) && ascending(&keys) && i.lines.iter().all(|l| { let unit_ok = if l.source_kind == source_kind::JOB { v2 && l.unit >= 1 } else { unit_name_in(version, l.source_kind, l.unit).is_some() }; @@ -973,7 +1049,7 @@ pub struct StitchedFacts { pub statement: Value, } -/// A verified job source (§5.1, versions 2 to 5). +/// A verified job source (§5.1, versions 2 to 6). #[derive(Clone, Debug)] pub struct JobFacts { /// The route record's digest, and its signer: the router. @@ -988,14 +1064,27 @@ pub struct JobFacts { pub hops: Vec<[u8; 32]>, /// The billed hop, if any: its serving capability and its receipt's identity. pub billed: Option<(String, [u8; 32])>, + /// The billed hop's endpoint, empty when no hop is billed (§4.9). + pub endpoint: String, + /// Under a tariff of version 6, the billed hop's third-party record when it states a usage: + /// the usage's unit and quantity, and the record's digest (§4.9). + pub usage: Option<(String, u64, [u8; 32])>, + /// Under a tariff of version 6, every third-party record the source gives, by its digest. + pub third_party: Vec<[u8; 32]>, + /// Under a tariff of version 6, each upscale record (§4.9): its link hash and the subpixels + /// of the picture it derives. + pub upscales: Vec<([u8; 32], u64)>, + /// Under a tariff of version 6, each rendition record (§4.9): its link hash and the subpixels + /// of the pictures it derives. + pub renditions: Vec<([u8; 32], u64)>, /// The billed hop's figure (§5.1). pub figure: Option
, /// Each output receipt: its receipt hash and its `work_pixel_ops`. pub outputs: Vec<([u8; 32], u64)>, - /// Under a tariff of version 4 or 5, each output package (§4.7): its receipt hash and the + /// Under a tariff of versions 4 to 6, each output package (§4.7): its receipt hash and the /// work units it states. pub packages: Vec<([u8; 32], u64)>, - /// Under a tariff of version 4 or 5, the figure of each attempt that is not billed, a failed + /// Under a tariff of versions 4 to 6, the figure of each attempt that is not billed, a failed /// hop or one that served past the deadline, in attempt order (§6.6); empty under versions 2 /// and 3, which state no such figure. pub unbilled: Vec
, @@ -1041,6 +1130,9 @@ impl Facts { s.extend(j.hops.iter().map(|h| (record_kind::OER_RECEIPT, *h))); s.extend(j.outputs.iter().map(|(h, _)| (record_kind::VIDEO_RECEIPT, *h))); s.extend(j.packages.iter().map(|(h, _)| (record_kind::PACKAGE, *h))); + s.extend(j.third_party.iter().map(|d| (record_kind::THIRD_PARTY, *d))); + s.extend(j.upscales.iter().map(|(h, _)| (record_kind::UPSCALE_RECORD, *h))); + s.extend(j.renditions.iter().map(|(h, _)| (record_kind::RENDITION_RECORD, *h))); } } s @@ -1471,6 +1563,99 @@ fn decode_output(x: &Map, i: usize) -> Result, +} + +/// §4.9: an upscale's output of exactly `upscale`, `object`, `prior` and `picture`; the record +/// proved by exact-upscale §7 from the input and the prior, which a record naming a residual +/// never is here, and the picture's samples the output it states. A refusal is `output_invalid` +/// at `outputs`, `i`, and for the input `object`, for the picture `picture`. +fn upscale_output(x: &Map, i: usize) -> Result { + use crate::exact_upscale as ex; + let bad = |at: Value| (Reason::OutputInvalid.code(), place(json!(["outputs", i]), at)); + if !has_exactly(x, &["upscale", "object", "prior", "picture"]) { + return Err(bad_source()); + } + let (Some(text), Some(object), Some(prior), Some(picture)) = (x["upscale"].as_str(), bytes_of(&x["object"]), bytes_of(&x["prior"]), bytes_of(&x["picture"])) else { return Err(bad_source()) }; + let u = ex::read_upscale(text).map_err(|_| bad(json!([])))?; + // The input is a picture this reader holds in full: a `WAI1` of one 8-bit RGB PNG. + let env = crate::container::Wai::from_bytes(&object).map_err(|_| bad(json!(["object"])))?; + if env.capability() != crate::codecs::CAP_IMAGE_PNG { + return Err(bad(json!(["object"]))); + } + let (_, _, rgb) = crate::png_still::decode(&env.payload).map_err(|_| bad(json!(["object"])))?; + let decoded = vec![(crate::route_record::content_hash(&object), rgb)]; + let case = ex::Case { + upscales: vec![text.to_string()], + objects: vec![object], + decoded, + priors: vec![prior], + policy: ex::Policy { require_proof: true, ..Default::default() }, + ..Default::default() + }; + if !matches!(ex::verify(&case), ex::Outcome::Accept(_)) { + return Err(bad(json!([]))); + } + let (w, h) = u.output_size(); + let (pw, ph, samples) = crate::png_still::decode(&picture).map_err(|_| bad(json!(["picture"])))?; + if (u64::from(pw), u64::from(ph)) != (w, h) || sha256(&[&samples]) != u.output { + return Err(bad(json!(["picture"]))); + } + Ok(UpscaleOutput { record: (u.link, w * h * 3), picture }) +} + +/// A tone mapping's output under a tariff of version 6 (§4.9): its record's link hash and the +/// subpixels of its pictures, and each rendition's content hash, with its proof where the route +/// record states what its hop delivered by a root. +struct TonemapOutput { + record: ([u8; 32], u64), + objects: Vec<[u8; 32]>, + proofs: Vec)>>, +} + +/// §4.9: a tone mapping's output of exactly `tonemap`, `envelope` and `renditions`, and under a +/// route record of version 3 `proofs`; the record proved by exact-tonemap §8 from the envelope, +/// and each rendition the bytes its picture states. A refusal is `output_invalid` at `outputs`, +/// `i`, and for a rendition `renditions` and its index. +fn tonemap_output(x: &Map, i: usize, committed: bool) -> Result { + use crate::exact_tonemap as tm; + let bad = |at: Value| (Reason::OutputInvalid.code(), place(json!(["outputs", i]), at)); + let members: &[&str] = if committed { &["tonemap", "envelope", "renditions", "proofs"] } else { &["tonemap", "envelope", "renditions"] }; + if !has_exactly(x, members) { + return Err(bad_source()); + } + let (Some(text), Some(envelope), Some(renditions)) = (x["tonemap"].as_str(), bytes_of(&x["envelope"]), hexes(&x["renditions"])) else { return Err(bad_source()) }; + let proofs: Vec)>> = if committed { + let given = x["proofs"].as_array().ok_or_else(bad_source)?; + if given.len() != renditions.len() { + return Err(bad_source()); + } + given.iter().map(|p| read_proof(p).map(Some).ok_or_else(bad_source)).collect::>()? + } else { + vec![None; renditions.len()] + }; + let r = tm::read_record(text).map_err(|_| bad(json!([])))?; + let mut held = tm::Held::default(); + held.hold_envelope(envelope); + if !matches!(tm::verify(std::slice::from_ref(&text.to_string()), &held, tm::Policy::RequireProof), tm::Outcome::Accept(_)) { + return Err(bad(json!([]))); + } + if renditions.len() != r.pictures.len() { + return Err(bad(json!(["renditions"]))); + } + for (k, (b, p)) in renditions.iter().zip(&r.pictures).enumerate() { + if tm::digest(b) != p.output { + return Err(bad(json!(["renditions", k]))); + } + } + let objects = renditions.iter().map(|b| crate::route_record::content_hash(b)).collect(); + Ok(TonemapOutput { record: (r.link, r.pictures.len() as u64 * r.width * r.height * 3), objects, proofs }) +} + /// What the hop that served delivered, as its route record states it (route-record §5.2). enum Delivered { /// The content hashes of its outputs, in their order (version 2), or none. @@ -1515,7 +1700,11 @@ fn read_proof(v: &Value) -> Option<(u64, Vec<[u8; 32]>)> { fn job_source(o: &Map, version: u8) -> Result { use crate::route_record as rr; - if !has_exactly(o, &["kind", "request", "pricebook", "policy", "record", "receipts", "keys", "outputs"]) { + const MEMBERS: [&str; 8] = ["kind", "request", "pricebook", "policy", "record", "receipts", "keys", "outputs"]; + // Version 6 reads a third party's hop records too (§4.9); before it, the member is unknown. + let third_party = prices_endpoints(version) && o.contains_key("third_party"); + let members: Vec<&str> = MEMBERS.into_iter().chain(third_party.then_some("third_party")).collect(); + if !has_exactly(o, &members) { return Err(bad_source()); } let mut doc = o.clone(); @@ -1525,15 +1714,20 @@ fn job_source(o: &Map, version: u8) -> Result { if doc["receipts"].is_null() || doc["keys"].is_null() { return Err(bad_source()); } - rr::verify(&doc).map_err(|f| (f.reason.code(), Value::Array(f.at)))?; + let verified = rr::verify(&doc).map_err(|f| (f.reason.code(), Value::Array(f.at)))?; + let records = verified.third_party.unwrap_or_default(); let record = crate::oer::load(doc["record"].as_str().expect("a text").as_bytes()).expect("an accepted record reads"); let texts: Vec = doc["receipts"].as_array().expect("a list").iter().map(|t| crate::oer::load(t.as_str().expect("a text").as_bytes()).expect("read")).collect(); let attempts = record["attempts"].as_array().expect("a list"); let hops: Vec<[u8; 32]> = attempts.iter().map(|a| oer_identity(a["receipt"].as_str().expect("an id")).expect("an id")).collect(); let receipt_of = |a: &Value| texts.iter().position(|r| r.get("receipt_id") == Some(&a["receipt"])).expect("a checked receipt"); - let (mut billed, mut figure) = (None, None); + let (mut billed, mut figure, mut billed_endpoint, mut usage) = (None, None, String::new(), None); if let Some(a) = attempts.iter().find(|a| a["billed"] == true) { let endpoint = a["endpoint"].as_str().expect("a token"); + billed_endpoint = endpoint.to_string(); + // A failed hop's or a late hop's record states what the provider billed, and no line reads + // it: only the billed hop's usage is billed (§4.9). + usage = records.iter().find(|r| Some(r.hop) == a["hop"].as_u64()).and_then(|r| Some((r.usage.get("unit")?.as_str()?.to_string(), r.usage.get("quantity")?.as_u64()?, r.digest))); let cap = record["candidates"].as_array().expect("a list").iter().find(|c| c["endpoint"] == endpoint).and_then(|c| c["capability"].as_str()).expect("a survivor"); let id = a["receipt"].as_str().expect("an id"); let j = receipt_of(a); @@ -1571,14 +1765,31 @@ fn job_source(o: &Map, version: u8) -> Result { // Under a tariff of version 5 a decode delivers its reconstruction, one animation of its // frames, and its codestream is what it read (§4.8). let decode = holds_decode_to_frames(version) && record["operation"] == DECODE; + // Under a tariff of version 6 an upscale and a tone mapping are billed by what re-derives + // them, and given in their own forms (§4.9). + let upscale = prices_endpoints(version) && record["operation"] == UPSCALE; + let tonemap = prices_endpoints(version) && record["operation"] == TONEMAP; // A decode's animations are held to what its hop delivered in order: `next` is the place in // the served attempt's outputs of the next. let mut next = 0usize; let mut seen: BTreeSet<[u8; 32]> = BTreeSet::new(); - let (mut outs, mut packages) = (Vec::with_capacity(outputs.len()), Vec::new()); + let (mut outs, mut packages, mut upscales, mut renditions) = (Vec::with_capacity(outputs.len()), Vec::new(), Vec::new(), Vec::new()); for (i, x) in outputs.iter().enumerate() { let bad = || (Reason::OutputInvalid.code(), json!(["outputs", i])); let x = x.as_object().ok_or_else(bad_source)?; + // One record's pictures are many objects, each with its proof. A picture that repeats + // within its record is one object its hop states once, and is billed as a picture. + if tonemap { + let out = tonemap_output(x, i, committed)?; + renditions.push(out.record); + let mut own: BTreeSet<[u8; 32]> = BTreeSet::new(); + for (k, h) in out.objects.iter().enumerate() { + if !delivered.as_ref().is_some_and(|d| d.holds(h, out.proofs[k].as_ref(), None)) || (own.insert(*h) && !seen.insert(*h)) { + return Err((Reason::OutputNotDelivered.code(), json!(["outputs", i, "renditions", k]))); + } + } + continue; + } // With a record of version 3 each output also gives its inclusion proof, and with one of // version 1 or 2 none (§5.1). let (x, proof) = if committed { @@ -1599,9 +1810,14 @@ fn job_source(o: &Map, version: u8) -> Result { next += 1; continue; } - // Each output's object: an int_motion codestream, or in versions 4 and 5 a package's - // receipt, the package a run of `package.build` made (§4.7), verified against its indexes. - let object = if bills_spending(version) && has_exactly(x, &["package", "indexes"]) { + // Each output's object: an int_motion codestream, or from version 4 a package's receipt, + // the package a run of `package.build` made (§4.7), verified against its indexes, or in + // version 6 an upscale's picture (§4.9). + let object = if upscale { + let out = upscale_output(x, i)?; + upscales.push(out.record); + out.picture + } else if bills_spending(version) && has_exactly(x, &["package", "indexes"]) { let (Some(text), Some(indexes)) = (x["package"].as_str(), hexes(&x["indexes"])) else { return Err(bad_source()) }; let r = PackageReceiptV2::from_json(text).map_err(|_| bad())?; let ix: Vec<&[u8]> = indexes.iter().map(Vec::as_slice).collect(); @@ -1639,6 +1855,11 @@ fn job_source(o: &Map, version: u8) -> Result { accepted: record["accepted"].as_u64().expect("a time"), hops, billed, + endpoint: billed_endpoint, + usage, + third_party: records.iter().map(|r| r.digest).collect(), + upscales, + renditions, figure, outputs: outs, packages, @@ -1752,18 +1973,18 @@ fn overlap(version: u8, f: &Facts, g: &Facts) -> bool { } /// Whether a chain under a tariff of `version` bills a record of `kind` once (§6.9): every -/// record but, in versions 3 to 5, a job's output receipt, and in versions 4 and 5 a package -/// receipt. +/// record but, in versions 3 to 6, a job's output receipt, in versions 4 to 6 a package receipt, +/// and in version 6 an upscale record and a rendition record. /// A job's work, its route record and its hops' OER/2 receipts, is new on every run and billed /// once; its output receipt is the evidence of what it delivered, which a deterministic re-run -/// delivers again. In versions 4 and 5 a package is such an output: the run that made it is +/// delivers again. In versions 4 to 6 a package is such an output: the run that made it is /// billed once per run, its receipt cited by each, and its storage billed by every invoice whose /// period it is held through (§4.7). pub fn billed_once(version: u8, kind: u8) -> bool { - !((bills_work(version) && kind == record_kind::VIDEO_RECEIPT) || (bills_spending(version) && kind == record_kind::PACKAGE)) + !((bills_work(version) && matches!(kind, record_kind::VIDEO_RECEIPT | record_kind::UPSCALE_RECORD | record_kind::RENDITION_RECORD)) || (bills_spending(version) && kind == record_kind::PACKAGE)) } -/// Under a tariff of version 4 or 5, mark each package the previous invoice holds as held +/// Under a tariff of versions 4 to 6, mark each package the previous invoice holds as held /// through the period [`start`, `end`) (§4.7); under versions 1 to 3, nothing. pub fn hold(t: &Tariff, facts: &mut [Facts], previous: Option<&Invoice>, start: u64, end: u64) { if !bills_spending(t.version) { @@ -1904,11 +2125,12 @@ pub fn compute(t: &Tariff, facts: &[Facts]) -> Result { } } // A job is billed at the prices of its serving capability, in version 3 of its - // operation too, from its billed hop (§6.3). An output it shares with another job is - // cited once and counted for each (§6.5). + // operation too, in version 6 of its endpoint where the price names one, from its + // billed hop (§6.3). An output it shares with another job is cited once and counted + // for each (§6.5). Facts::Job(j) => { let Some((cap, hop)) = &j.billed else { continue }; - let priced = |p: &JobPrice| p.capability == *cap && (!bills_work(t.version) || p.operation == j.operation); + let priced = |p: &JobPrice| p.capability == *cap && (!bills_work(t.version) || p.operation == j.operation) && (p.endpoint.is_empty() || p.endpoint == j.endpoint); for (k, p) in t.job.iter().enumerate().filter(|(_, p)| priced(p)) { let unit = u8::try_from(k + 1).expect("at most 255 job prices"); let mut cites = vec![(record_kind::ROUTE_RECORD, j.record), (record_kind::OER_RECEIPT, *hop)]; @@ -1916,13 +2138,24 @@ pub fn compute(t: &Tariff, facts: &[Facts]) -> Result { 1 => 1, 2 => { cites.extend(j.outputs.iter().filter(|(_, w)| *w > 0).map(|(h, _)| (record_kind::VIDEO_RECEIPT, *h))); - j.outputs.iter().map(|(_, w)| *w as u128).sum() + cites.extend(j.upscales.iter().filter(|(_, w)| *w > 0).map(|(h, _)| (record_kind::UPSCALE_RECORD, *h))); + cites.extend(j.renditions.iter().filter(|(_, w)| *w > 0).map(|(h, _)| (record_kind::RENDITION_RECORD, *h))); + j.outputs.iter().chain(&j.upscales).chain(&j.renditions).map(|(_, w)| *w as u128).sum() } // Version 4: the work units its output packages state (§4.7). - _ => { + 3 => { cites.extend(j.packages.iter().filter(|(_, w)| *w > 0).map(|(h, _)| (record_kind::PACKAGE, *h))); j.packages.iter().map(|(_, w)| *w as u128).sum() } + // Version 6: what the billed hop's record states the provider bills, in + // the unit the price names; no such record bills nothing (§4.9). + _ => match &j.usage { + Some((unit, quantity, digest)) if *unit == p.usage => { + cites.push((record_kind::THIRD_PARTY, *digest)); + *quantity as u128 + } + _ => 0, + }, }; add(source_kind::JOB, j.router, unit, n, &cites); } @@ -2353,6 +2586,13 @@ pub fn accepted_json(a: &Accepted) -> Value { if bills_work(a.tariff.version) { v["operation"] = json!(p.operation); } + // In version 6 its endpoint, empty for any, and for a usage its unit (§7.3). + if prices_endpoints(a.tariff.version) { + v["endpoint"] = json!(p.endpoint); + if p.unit == USAGE { + v["usage_unit"] = json!(p.usage); + } + } } v }) @@ -2427,8 +2667,8 @@ mod tests { let mut t = tariff(); t.version = VERSION_2; t.job = vec![ - JobPrice { capability: "wai.video.av1".into(), operation: String::new(), unit: 1, divisor: 1, price: 7 }, - JobPrice { capability: "wai.video.int_motion".into(), operation: String::new(), unit: 2, divisor: 1_000_000, price: 9 }, + JobPrice { capability: "wai.video.av1".into(), operation: String::new(), unit: 1, divisor: 1, price: 7, endpoint: String::new(), usage: String::new() }, + JobPrice { capability: "wai.video.int_motion".into(), operation: String::new(), unit: 2, divisor: 1_000_000, price: 9, endpoint: String::new(), usage: String::new() }, ]; t.scope.push((source_kind::JOB, [7; 32])); t.scope.sort(); @@ -2438,7 +2678,7 @@ mod tests { fn tariff_v3() -> Tariff { let mut t = tariff_v2(); t.version = VERSION_3; - let p = |op: &str, unit, divisor, price| JobPrice { capability: "wai.video.int_motion".into(), operation: op.into(), unit, divisor, price }; + let p = |op: &str, unit, divisor, price| JobPrice { capability: "wai.video.int_motion".into(), operation: op.into(), unit, divisor, price, endpoint: String::new(), usage: String::new() }; t.job = vec![p("media.decode", 2, 1_000_000, 10_000), p("media.encode", 1, 1, 500_000), p("media.encode", 2, 1_000_000, 20_000)]; t.sign(&key(1), &key(2)) } @@ -2492,10 +2732,10 @@ mod tests { let at = nb.windows(2).position(|w| w == [0xc3, 0xa9]).expect("the two bytes of é"); nb[at] = 0xff; assert_eq!(Tariff::parse(&nb).unwrap_err().0, "tariff_invalid"); - // A tariff of version 6 is not defined. - let mut v6 = b.clone(); - v6[4] = 6; - assert_eq!(Tariff::parse(&v6).unwrap_err().0, "unknown_version"); + // A tariff of version 7 is not defined. + let mut v7 = b.clone(); + v7[4] = 7; + assert_eq!(Tariff::parse(&v7).unwrap_err().0, "unknown_version"); } fn tariff_v4() -> Tariff { @@ -2503,7 +2743,7 @@ mod tests { t.version = VERSION_4; t.room[13] = 11; t.package = [0, 0, 5]; - t.job.push(JobPrice { capability: "wai.video.package".into(), operation: "package.build".into(), unit: 3, divisor: 1, price: 4 }); + t.job.push(JobPrice { capability: "wai.video.package".into(), operation: "package.build".into(), unit: 3, divisor: 1, price: 4, endpoint: String::new(), usage: String::new() }); t.sign(&key(1), &key(2)) } @@ -2526,7 +2766,7 @@ mod tests { assert_eq!(v3.body(), tariff_v3().body(), "version 3 states no price of bytes"); // A job price of unit 3, `work_units`, only in version 4. let mut work = tariff_v3(); - work.job.push(JobPrice { capability: "wai.video.package".into(), operation: "package.build".into(), unit: 3, divisor: 1, price: 4 }); + work.job.push(JobPrice { capability: "wai.video.package".into(), operation: "package.build".into(), unit: 3, divisor: 1, price: 4, endpoint: String::new(), usage: String::new() }); assert_eq!(Tariff::parse(&work.sign(&key(1), &key(2)).to_bytes()).unwrap_err().0, "tariff_invalid"); let mut four = tariff_v4(); four.job[3].unit = 4; @@ -2554,7 +2794,7 @@ mod tests { assert!(!billed_once(VERSION_4, record_kind::PACKAGE) && billed_once(VERSION_3, record_kind::PACKAGE)); assert!(!billed_once(VERSION_4, record_kind::VIDEO_RECEIPT)); assert!(billed_once(VERSION_4, record_kind::OER_RECEIPT) && billed_once(VERSION_4, record_kind::ROUTE_RECORD) && billed_once(VERSION_4, record_kind::SESSION)); - assert!(bills_work(VERSION_4) && prices_jobs(VERSION_4) && !prices_jobs(6)); + assert!(bills_work(VERSION_4) && prices_jobs(VERSION_4) && !prices_jobs(7)); assert_eq!((scope::count(VERSION), scope::count(VERSION_2), scope::count(VERSION_3), scope::count(VERSION_4)), (4, 5, 5, 6)); } @@ -2581,7 +2821,7 @@ mod tests { for k in [record_kind::PACKAGE, record_kind::VIDEO_RECEIPT, record_kind::OER_RECEIPT, record_kind::ROUTE_RECORD, record_kind::SESSION] { assert_eq!(billed_once(VERSION_5, k), billed_once(VERSION_4, k), "kind {k}"); } - assert!(bills_work(VERSION_5) && prices_jobs(VERSION_5) && bills_spending(VERSION_5) && !prices_jobs(6)); + assert!(bills_work(VERSION_5) && prices_jobs(VERSION_5) && bills_spending(VERSION_5) && !prices_jobs(7)); assert_eq!((scope::count(VERSION_5), room_prices(VERSION_5), job_units(VERSION_5)), (6, ROOM_PRICES, 3)); assert_eq!(unit_name_in(VERSION_5, source_kind::PACKAGE, 3), Some("byte_days")); assert!(holds_decode_to_frames(VERSION_5) && (VERSION..=VERSION_4).all(|v| !holds_decode_to_frames(v)), "only version 5 holds a decode to its frames"); @@ -2589,6 +2829,40 @@ mod tests { /// What a chain bills once (§6.9): in version 3, every record but an output receipt; in /// versions 1 and 2, every record. + fn tariff_v6(job: Vec) -> Tariff { + let mut t = tariff_v4(); + t.version = VERSION_6; + t.job = job; + t.sign(&key(1), &key(2)) + } + + fn usage_price(endpoint: &str, unit: &str) -> JobPrice { + JobPrice { capability: "wai.video.generate".into(), operation: "media.generate".into(), endpoint: endpoint.into(), unit: 4, usage: unit.into(), divisor: 1, price: 3 } + } + + #[test] + fn a_tariff_of_version_6_prices_an_endpoint_and_a_usage() { + let t = tariff_v6(vec![usage_price("gen.alpha", "seconds"), usage_price("gen.beta", "seconds")]); + let back = Tariff::parse(&t.to_bytes()).unwrap(); + assert_eq!(back, t); + assert_eq!(back.job[1].endpoint, "gen.beta"); + assert_eq!(back.job[1].usage, "seconds"); + assert!(prices_endpoints(VERSION_6) && (VERSION..=VERSION_5).all(|v| !prices_endpoints(v)), "only version 6 prices an endpoint"); + assert!(bills_work(VERSION_6) && bills_spending(VERSION_6) && holds_decode_to_frames(VERSION_6)); + assert_eq!((scope::count(VERSION_6), room_prices(VERSION_6), job_units(VERSION_6)), (6, ROOM_PRICES, 4)); + assert_eq!(job_units(VERSION_5), 3); + // A record a line reads a usage from is the work's, billed once; what re-derives an output + // is the output's evidence, which a re-run cites again. + assert!(billed_once(VERSION_6, record_kind::THIRD_PARTY)); + assert!(!billed_once(VERSION_6, record_kind::UPSCALE_RECORD) && !billed_once(VERSION_6, record_kind::RENDITION_RECORD)); + // One job is billed once for a unit: a price of any endpoint beside a price of one is refused. + let both = tariff_v6(vec![usage_price("", "seconds"), usage_price("gen.alpha", "seconds")]); + assert_eq!(Tariff::parse(&both.to_bytes()).unwrap_err().0, "tariff_invalid"); + // The same endpoint in another unit, and any endpoint in another unit, are other prices. + let other = tariff_v6(vec![usage_price("", "images"), usage_price("gen.alpha", "seconds")]); + assert!(Tariff::parse(&other.to_bytes()).is_ok()); + } + #[test] fn a_chain_bills_a_jobs_work_once_and_cites_its_output_again() { for k in [record_kind::SESSION, record_kind::PACKAGE, record_kind::OER_RECEIPT, record_kind::ROUTE_RECORD] { @@ -2596,7 +2870,7 @@ mod tests { } assert!(billed_once(VERSION_2, record_kind::VIDEO_RECEIPT), "version 2 bills an output once"); assert!(!billed_once(VERSION_3, record_kind::VIDEO_RECEIPT), "version 3 bills the work, and cites the output"); - assert!(prices_jobs(VERSION_2) && prices_jobs(VERSION_3) && !prices_jobs(VERSION) && !prices_jobs(6)); + assert!(prices_jobs(VERSION_2) && prices_jobs(VERSION_3) && !prices_jobs(VERSION) && !prices_jobs(7)); } /// A tariff of version 2 reads back with its job prices, and every altered byte is refused; @@ -2748,8 +3022,8 @@ mod tests { assert_eq!(Invoice::parse(&unit.sign(&key(1)).to_bytes()).unwrap_err(), "invoice_invalid"); assert_eq!(Invoice::parse(&[b.clone(), vec![0]].concat()).unwrap_err(), "malformed"); let mut v = b.clone(); - v[4] = 6; - assert_eq!(Invoice::parse(&v).unwrap_err(), "unknown_version", "version 6 is not defined (2 to 5 are, §6.1)"); + v[4] = 7; + assert_eq!(Invoice::parse(&v).unwrap_err(), "unknown_version", "version 7 is not defined (2 to 6 are, §6.1)"); let mut s = b; let n = s.len(); s[n - 1] ^= 1; diff --git a/wai/wai-rs/src/receipt_ledger/corpus.rs b/wai/wai-rs/src/receipt_ledger/corpus.rs index e532f27e0..07a3b6a68 100644 --- a/wai/wai-rs/src/receipt_ledger/corpus.rs +++ b/wai/wai-rs/src/receipt_ledger/corpus.rs @@ -828,7 +828,7 @@ pub fn generate(wai: &Path) -> Result { Vector { name: "tariff_period_empty", about: "a tariff whose period is empty, signed by both", tariff: tariff_period.to_bytes(), invoice: ab.clone(), previous: None, sources: day_a.to_vec() }, // The invoice. Vector { name: "invoice_trailing_byte", about: "an invoice with a byte after its signature", tariff: tb.clone(), invoice: [ab.clone(), vec![0]].concat(), previous: None, sources: day_a.to_vec() }, - Vector { name: "invoice_version", about: "an invoice of version 6, which this revision does not define", tariff: tb.clone(), invoice: { let mut b = ab.clone(); b[4] = 6; b }, previous: None, sources: day_a.to_vec() }, + Vector { name: "invoice_version", about: "an invoice of version 7, which this revision does not define", tariff: tb.clone(), invoice: { let mut b = ab.clone(); b[4] = 7; b }, previous: None, sources: day_a.to_vec() }, Vector { name: "invoice_signature", about: "an invoice whose signature does not verify", tariff: tb.clone(), invoice: flip(ab.clone(), ab.len() - 1), previous: None, sources: day_a.to_vec() }, Vector { name: "invoice_lines_unordered", about: "an invoice whose first two lines are swapped", tariff: tb.clone(), invoice: sealed(&t, [0; 32], a0, a1, &refs(&day_a), |i| i.lines.swap(0, 1)).to_bytes(), previous: None, sources: day_a.to_vec() }, Vector { name: "invoice_row_of_no_class", about: "an energy row of tag 0: joules of no one class", tariff: tb.clone(), invoice: sealed(&t, [0; 32], a0, a1, &refs(&day_a), |i| i.energy.insert(0, Row { scope: 1, tag: 0, figures: 1, joules: 1, max_ppm: 0 })).to_bytes(), previous: None, sources: day_a.to_vec() }, @@ -875,9 +875,9 @@ pub fn generate(wai: &Path) -> Result { // Version 2: a tariff that prices jobs (§4.5), and its invoices. let router: [u8; 32] = routes["keys"]["router"].as_str().and_then(unhex).and_then(|b| b.try_into().ok()).ok_or("the route corpus's router")?; let job_prices = vec![ - JobPrice { capability: "wai.video.av1".into(), operation: String::new(), unit: 1, divisor: 1, price: 2_000_000 }, - JobPrice { capability: "wai.video.int_motion".into(), operation: String::new(), unit: 1, divisor: 1, price: 500_000 }, - JobPrice { capability: "wai.video.int_motion".into(), operation: String::new(), unit: 2, divisor: 1_000_000, price: 30_000 }, + JobPrice { capability: "wai.video.av1".into(), operation: String::new(), unit: 1, divisor: 1, price: 2_000_000, endpoint: String::new(), usage: String::new() }, + JobPrice { capability: "wai.video.int_motion".into(), operation: String::new(), unit: 1, divisor: 1, price: 500_000, endpoint: String::new(), usage: String::new() }, + JobPrice { capability: "wai.video.int_motion".into(), operation: String::new(), unit: 2, divisor: 1_000_000, price: 30_000, endpoint: String::new(), usage: String::new() }, ]; let v2 = |scope: Vec<(u8, [u8; 32])>, job: Vec| -> Tariff { let mut t2 = tariff_of("buyer-j", room_prices, scope); @@ -929,7 +929,7 @@ pub fn generate(wai: &Path) -> Result { return Err(format!("the route corpus accepts its jobs at {routed_at}, its seeds at {accepted}")); } const IM: &str = "wai.video.int_motion"; - let jp = |capability: &str, operation: &str, unit: u8, divisor: u64, price: u64| JobPrice { capability: capability.into(), operation: operation.into(), unit, divisor, price }; + let jp = |capability: &str, operation: &str, unit: u8, divisor: u64, price: u64| JobPrice { capability: capability.into(), operation: operation.into(), unit, divisor, price, endpoint: String::new(), usage: String::new() }; let job_prices_3 = vec![ jp("wai.video.av1", "media.encode", 1, 1, 2_000_000), jp(IM, "media.decode", 1, 1, 250_000), @@ -1116,6 +1116,389 @@ pub fn generate(wai: &Path) -> Result { refused_r3("route_record_3_an_output_of_a_job_no_hop_served", "a job whose route record is of version 3 and whose every allowed hop failed, given an output, which no hop delivered", "job_v3r_no_hop_served"), ]); + // Version 6 (§4.9): version 5's rules, a job priced per endpoint and by what a third party's + // record states the provider bills, and an upscale and a tone mapping billed by what re-derives + // them. Everything a third party's hop states is in its record, and a failed hop's billed usage + // reaches no line. + use crate::container::{Conditioning, Manifest, ModelRequirement, Rendition, Wai, WaiMulti}; + use crate::exact_tonemap as tm; + use crate::exact_upscale as ex; + const GEN: &str = "wai.video.generate"; + const GENERATE: &str = "media.generate"; + const UP: &str = "wai.media.upscale"; + let jp6 = |capability: &str, operation: &str, endpoint: &str, unit: u8, usage: &str, divisor: u64, price: u64| JobPrice { + capability: capability.into(), + operation: operation.into(), + endpoint: endpoint.into(), + unit, + usage: usage.into(), + divisor, + price, + }; + let mut job_prices_6 = job_prices_4.clone(); + job_prices_6.extend([ + jp6(GEN, GENERATE, "", 1, "", 1, 10_000), + // A usage of any endpoint, in a unit no endpoint's price names: another price, not a second + // price of the same work, so it stands beside them and bills nothing here. + jp6(GEN, GENERATE, "", 4, "minutes", 1, 1), + // And a price of one endpoint in another unit than a price of any: also another price. + jp6(GEN, GENERATE, "gen.beta", 2, "", 1, 1), + jp6(GEN, GENERATE, "gen.alpha", 4, "images", 1, 5_000_000), + jp6(GEN, GENERATE, "gen.alpha", 4, "seconds", 1, 40_000_000), + jp6(GEN, GENERATE, "gen.beta", 4, "seconds", 1, 25_000_000), + jp6(UP, UPSCALE, "", 2, "", 1_000_000, 20_000), + jp6(tm::CAPABILITY, TONEMAP, "", 2, "", 1_000_000, 15_000), + ]); + job_prices_6.sort_by(|a, b| a.order().cmp(&b.order())); + let v6 = |version: u8, job: Vec| -> Tariff { + let mut t = tariff_of("buyer-4", room_prices_4, vec![(source_kind::ROOM, lesson_id), package_scope, staged_scope, (source_kind::JOB, router)]); + t.version = version; + t.package = [0, 0, 2_000_000]; + t.job = job; + t.sign(&seller, &key("buyer-4")) + }; + let t_6 = v6(VERSION_6, job_prices_6.clone()); + let t6b = t_6.to_bytes(); + + // A third party's jobs: its hops report no energy, and its records state what it bills. + let tp_object = |job: &str| [rr_hash(format!("wai receipt-ledger corpus: {job}, what the provider made").as_bytes())]; + let tp_hop = |job: &str, endpoint: &'static str| rr::Hop { endpoint, error: None, start: 1_000, end: 4_000_000, receipt: rr::unmetered_hop_receipt(GENERATE, job, endpoint) }; + let tp_doc = |job: &str, unit: &str, endpoints: &[(&str, &str)], hops: &[rr::Hop]| rr::job_document_of(job, GENERATE, GEN, unit, endpoints, accepted, hops, &tp_object(job), true); + let tp_source = |d: &Value, records: Option>| { + let mut j = routed(d.clone(), vec![]); + if let Some(r) = records { + j["third_party"] = json!(r); + } + j + }; + const ALPHA: (&str, &str) = ("gen.alpha", "prov-alpha"); + const BETA: (&str, &str) = ("gen.beta", "prov-beta"); + let alpha_doc = tp_doc("job-7001", "seconds", &[ALPHA], &[tp_hop("job-7001", "gen.alpha")]); + let alpha_record = rr::third_party_text(&alpha_doc, 1, &tp_object("job-7001"), Some(8)); + pool.insert("job_tp_alpha", tp_source(&alpha_doc, Some(vec![alpha_record.clone()]))); + let beta_doc = tp_doc("job-7002", "seconds", &[BETA], &[tp_hop("job-7002", "gen.beta")]); + let beta_record = rr::third_party_text(&beta_doc, 1, &tp_object("job-7002"), Some(3)); + pool.insert("job_tp_beta", tp_source(&beta_doc, Some(vec![beta_record.clone()]))); + let failover_doc = tp_doc( + "job-7003", + "seconds", + &[ALPHA, BETA], + &[ + rr::Hop { endpoint: "gen.alpha", error: Some("server_error"), start: 1_000, end: 2_000_000, receipt: rr::failed_hop_receipt(GENERATE, "job-7003", "gen.alpha", None) }, + rr::Hop { endpoint: "gen.beta", error: None, start: 2_000_100, end: 9_000_000, receipt: rr::unmetered_hop_receipt(GENERATE, "job-7003", "gen.beta") }, + ], + ); + let failover_records = vec![rr::third_party_text(&failover_doc, 1, &[], Some(1)), rr::third_party_text(&failover_doc, 2, &tp_object("job-7003"), Some(5))]; + pool.insert("job_tp_failover", tp_source(&failover_doc, Some(failover_records.clone()))); + let unrecorded_doc = tp_doc("job-7004", "seconds", &[ALPHA], &[tp_hop("job-7004", "gen.alpha")]); + pool.insert("job_tp_unrecorded", tp_source(&unrecorded_doc, None)); + let images_doc = tp_doc("job-7005", "images", &[ALPHA], &[tp_hop("job-7005", "gen.alpha")]); + pool.insert("job_tp_images", tp_source(&images_doc, Some(vec![rr::third_party_text(&images_doc, 1, &tp_object("job-7005"), Some(2))]))); + let frames_doc = tp_doc("job-7006", "frames", &[ALPHA], &[tp_hop("job-7006", "gen.alpha")]); + pool.insert("job_tp_a_unit_no_price_names", tp_source(&frames_doc, Some(vec![rr::third_party_text(&frames_doc, 1, &tp_object("job-7006"), Some(240))]))); + pool.insert("job_tp_another_jobs_record", tp_source(&alpha_doc, Some(vec![beta_record.clone()]))); + let day_6 = ["job_tp_alpha", "job_tp_beta", "job_tp_failover", "job_tp_unrecorded", "job_tp_images", "job_tp_a_unit_no_price_names"]; + + // An upscale's fixtures: pictures of a pattern, each a `WAI1` of its PNG, derived under the + // generic prior, and a record of each. + let prior = std::fs::read(wai.join("live-conformance/upscale/priors/generic.wsr")).map_err(|e| format!("the generic prior: {e}"))?; + let other_prior = std::fs::read(wai.join("live-conformance/upscale/priors/title.wsr")).map_err(|e| format!("the title prior: {e}"))?; + let loaded = crate::int_sr::load(&prior).map_err(|e| format!("the generic prior loads: {e:?}"))?; + let pattern = |w: u32, h: u32, seed: u32| -> Vec { (0..w * h).flat_map(|i| [((i * 7 + seed) % 256) as u8, ((i / w * 9 + seed) % 256) as u8, (((i ^ 0x55) + seed) % 256) as u8]).collect() }; + let wai1 = |capability: &str, tag: &str, png: Vec| Wai::new(Manifest::new("image", "replicate", ModelRequirement::new(capability), Conditioning::new(tag)), png).to_bytes().expect("an envelope"); + let sha = |b: &[u8]| hex(&sha256(&[b])); + let upscale_of = |rgb: &[u8], w: u32, h: u32| -> (Value, Vec, Vec) { + let envelope = wai1(crate::codecs::CAP_IMAGE_PNG, "png", crate::png_still::encode(rgb, w, h)); + let out = crate::int_sr::derive(crate::int_sr::SR2, &loaded, rgb, w as usize, h as usize).expect("the derivation"); + let digest = sha(&out); + let record = ex::sign( + json!({ + "kind": "wai-upscale", + "object": hex(&rr_hash(&envelope)), + "input": {"width": w, "height": h, "samples": sha(rgb)}, + "derivation": crate::int_sr::SR2, + "prior": sha(&prior), + "upscaled": digest, + "residual": Value::Null, + "output": digest, + "target": Value::Null, + "issued_at": "2026-10-20T00:00:00Z", + }), + &key("output-sink"), + ); + (record, envelope, out) + }; + let upscale_output = |record: &Value, envelope: &[u8], prior: &[u8], picture: &[u8]| json!({"upscale": crate::jcs::jcs(record).expect("a form"), "object": hex(envelope), "prior": hex(prior), "picture": hex(picture)}); + let up_doc = |job: &str, at: u64, joules: &str, objects: &[[u8; 32]]| rr::job_document_of(job, UPSCALE, UP, "subpixels", &[("sr.alpha", "prov-tx")], at, &[rr::Hop { endpoint: "sr.alpha", error: None, start: 1_000, end: 4_000_000, receipt: rr::hop_receipt(UPSCALE, job, "sr.alpha", Some(joules)) }], objects, true); + let (rgb_a, rgb_b) = (pattern(6, 4, 0), pattern(4, 3, 31)); + let (rec_a, env_a, out_a) = upscale_of(&rgb_a, 6, 4); + let (rec_b, env_b, out_b) = upscale_of(&rgb_b, 4, 3); + let (png_a, png_b) = (crate::png_still::encode(&out_a, 12, 8), crate::png_still::encode(&out_b, 8, 6)); + let out_up_a = upscale_output(&rec_a, &env_a, &prior, &png_a); + let out_up_b = upscale_output(&rec_b, &env_b, &prior, &png_b); + let up_objects = [rr_hash(&png_a), rr_hash(&png_b)]; + pool.insert("job_upscale", routed(up_doc("job-7101", accepted, "6.5", &up_objects), vec![proved(&out_up_a, &up_objects, 0), proved(&out_up_b, &up_objects, 1)])); + pool.insert("job_upscale_run_again", routed(up_doc("job-7101", accepted + 2 * DAY_US, "6.25", &up_objects), vec![proved(&out_up_a, &up_objects, 0), proved(&out_up_b, &up_objects, 1)])); + // One upscale whose output's defect is the one its name says; the record states the object it + // is given, so what is refused is the defect and not its delivery. + let up_one = |job: &str, x: &Value, picture: &[u8]| { + let objects = [rr_hash(picture)]; + routed(up_doc(job, accepted, "6.5", &objects), vec![proved(x, &objects, 0)]) + }; + let mut altered = out_a.clone(); + altered[0] ^= 1; + let altered_png = crate::png_still::encode(&altered, 12, 8); + pool.insert("job_upscale_a_picture_altered", up_one("job-7110", &upscale_output(&rec_a, &env_a, &prior, &altered_png), &altered_png)); + let wrong_shape = crate::png_still::encode(&out_a, 8, 12); + pool.insert("job_upscale_a_picture_of_another_shape", up_one("job-7111", &upscale_output(&rec_a, &env_a, &prior, &wrong_shape), &wrong_shape)); + let not_png = b"not a PNG".to_vec(); + pool.insert("job_upscale_a_picture_that_does_not_read", up_one("job-7112", &upscale_output(&rec_a, &env_a, &prior, ¬_png), ¬_png)); + pool.insert("job_upscale_another_prior", up_one("job-7113", &upscale_output(&rec_a, &env_a, &other_prior, &png_a), &png_a)); + pool.insert("job_upscale_another_input", up_one("job-7114", &upscale_output(&rec_a, &env_b, &prior, &png_a), &png_a)); + let not_an_envelope = b"not an envelope".to_vec(); + pool.insert("job_upscale_an_input_that_does_not_read", up_one("job-7115", &upscale_output(&rec_a, ¬_an_envelope, &prior, &png_a), &png_a)); + let jpeg_capability = wai1(crate::codecs::CAP_IMAGE_JPEG, "jpeg", crate::png_still::encode(&rgb_a, 6, 4)); + pool.insert("job_upscale_an_input_of_another_capability", up_one("job-7116", &upscale_output(&rec_a, &jpeg_capability, &prior, &png_a), &png_a)); + let grey_input = wai1(crate::codecs::CAP_IMAGE_PNG, "png", crate::png_still::encode_grey(&[9u8; 24], 6, 4)); + pool.insert("job_upscale_an_input_not_rgb", up_one("job-7117", &upscale_output(&rec_a, &grey_input, &prior, &png_a), &png_a)); + let lie = |f: &mut dyn FnMut(&mut Value)| { + let mut body = rec_a.clone(); + f(&mut body); + body.as_object_mut().expect("an object").remove("sig"); + body.as_object_mut().expect("an object").remove("signer_pubkey"); + ex::sign(body, &key("output-sink")) + }; + let record_other_output = lie(&mut |b| b["upscaled"] = json!(sha(&out_b))); + pool.insert("job_upscale_a_record_of_another_output", up_one("job-7118", &upscale_output(&record_other_output, &env_a, &prior, &png_a), &png_a)); + let record_residual = lie(&mut |b| b["residual"] = json!({"sha256": sha(b"a residual"), "q": 1})); + pool.insert("job_upscale_a_record_naming_a_residual", up_one("job-7119", &upscale_output(&record_residual, &env_a, &prior, &png_a), &png_a)); + let mut unsigned = out_up_a.clone(); + unsigned["upscale"] = json!(unsigned["upscale"].as_str().expect("a text").replacen("issued_at\":\"2026", "issued_at\":\"2025", 1)); + pool.insert("job_upscale_a_record_that_does_not_verify", up_one("job-7120", &unsigned, &png_a)); + let up_elsewhere = [rr_hash(b"wai receipt-ledger corpus: another picture")]; + let mut undelivered = out_up_a.clone(); + undelivered["proof"] = json!({"index": 0, "siblings": []}); + pool.insert("job_upscale_a_picture_its_hop_did_not_deliver", routed(up_doc("job-7121", accepted, "6.5", &up_elsewhere), vec![undelivered])); + pool.insert("job_upscale_one_output_twice", routed(up_doc("job-7122", accepted, "6.5", &up_objects), vec![proved(&out_up_a, &up_objects, 0), proved(&out_up_a, &up_objects, 0)])); + pool.insert("job_upscale_in_an_encodes_form", routed(up_doc("job-7123", accepted, "6.5", &[rr_hash(&clip)]), vec![proved(&enc_out, &[rr_hash(&clip)], 0)])); + let up_v2 = rr::job_document_of("job-7124", UPSCALE, UP, "subpixels", &[("sr.alpha", "prov-tx")], accepted, &[rr::Hop { endpoint: "sr.alpha", error: None, start: 1_000, end: 4_000_000, receipt: rr::hop_receipt(UPSCALE, "job-7124", "sr.alpha", Some("6.5")) }], &up_objects, false); + pool.insert("job_upscale_under_a_list", routed(up_v2, vec![out_up_a.clone(), out_up_b.clone()])); + + // A tone mapping's fixtures: a `WAI2` of a PNG base and its gain map, and a record of three + // headrooms. + // A multiple of the map's scale, 4, on each side (exact-tonemap §4.3). + let (tw, th) = (8u32, 4u32); + let scene = tm::corpus::scene(0, tw, th); + let encoded = tm::corpus::encode(&scene, tw, th, 4, false, (1, 1), false); + let companion_of = |e: &tm::corpus::Encoded| tm::wgm1(&e.metadata.to_bytes(), &crate::png_still::encode_grey(&e.map, e.map_w, e.map_h)); + let companion = companion_of(&encoded); + let envelope_of = |base: &[u8], companion: &[u8]| { + WaiMulti::new( + "image", + "replicate", + Value::Null, + vec![ + Rendition::media(crate::codecs::CAP_IMAGE_PNG, "png", crate::png_still::encode(base, tw, th)).with_id("base").with_payload_digest(), + Rendition::companion(tm::CAP_GAINMAP, companion.to_vec(), crate::codecs::CAP_IMAGE_PNG).with_id("gainmap").with_companion_of_id("base").with_payload_digest(), + ], + ) + .to_bytes() + .expect("an envelope") + }; + let tm_envelope = envelope_of(&encoded.base, &companion); + let tm_other = envelope_of(&pattern(tw, th, 77), &companion); + let tm_record_of = |base: &[u8], companion: &[u8], envelope: &[u8], headrooms: &[u64]| -> (Value, Vec>) { + let gain = tm::read_gainmap(companion).expect("the gain map"); + let renditions: Vec> = headrooms.iter().map(|h| tm::rgb16_bytes(&gain.render(base, tw, th, *h).expect("a rendition"))).collect(); + let input = tm::hex(&tm::digest(base)); + let object = tm::hex(&rr_hash(envelope)); + let pictures: Vec = headrooms.iter().zip(&renditions).map(|(h, b)| json!({"frame": 0, "headroom": h, "input": input, "output": tm::hex(&tm::digest(b))})).collect(); + let record = tm::sign( + json!({ + "kind": tm::KIND, + "derivation": tm::GAINMAP, + "base": {"object": object, "rendition": 0, "width": tw, "height": th}, + "companion": {"index": 1, "sha256": tm::hex(&tm::digest(companion))}, + "pictures": pictures, + "class": "reconstructed", + "inputs": [{"content_hash": object, "origin": Value::Null, "class": "captured"}], + "issued_at": "2026-10-20T00:00:00Z", + }), + &key("output-sink"), + ); + (record, renditions) + }; + let (tm_record, tm_renditions) = tm_record_of(&encoded.base, &companion, &tm_envelope, &[10_000, 20_000, 40_000]); + let hexed = |r: &[Vec]| r.iter().map(|b| hex(b)).collect::>(); + let tm_text = crate::jcs::jcs(&tm_record).expect("a form"); + let tm_output = |text: &str, envelope: &[u8], renditions: &[Vec]| json!({"tonemap": text, "envelope": hex(envelope), "renditions": hexed(renditions)}); + let tm_proved = |x: &Value, objects: &[[u8; 32]], places: &[usize]| -> Value { + let mut x = x.clone(); + x["proofs"] = Value::Array(places.iter().map(|&k| json!({"index": k, "siblings": crate::route_record::output_proof(objects, k).expect("a place").iter().map(|h| hex(h)).collect::>()})).collect()); + x + }; + let tm_doc = |job: &str, objects: &[[u8; 32]], committed: bool| rr::job_document_of(job, TONEMAP, tm::CAPABILITY, "subpixels", &[("tm.alpha", "prov-tx")], accepted, &[rr::Hop { endpoint: "tm.alpha", error: None, start: 1_000, end: 4_000_000, receipt: rr::hop_receipt(TONEMAP, job, "tm.alpha", Some("2.5")) }], objects, committed); + let tm_objects: Vec<[u8; 32]> = tm_renditions.iter().map(|b| rr_hash(b)).collect(); + let tm_given = tm_output(&tm_text, &tm_envelope, &tm_renditions); + pool.insert("job_tonemap", routed(tm_doc("job-7201", &tm_objects, true), vec![tm_proved(&tm_given, &tm_objects, &[0, 1, 2])])); + pool.insert("job_tonemap_under_a_list", routed(tm_doc("job-7202", &tm_objects, false), vec![tm_given.clone()])); + // A black scene renders black at every headroom: the record states two pictures, the hop one + // object, and both are billed. + let dark = tm::corpus::encode(&vec![[0i128; 3]; (tw * th) as usize], tw, th, 4, false, (1, 1), false); + let dark_companion = companion_of(&dark); + let dark_envelope = envelope_of(&dark.base, &dark_companion); + let (rep_record, rep_renditions) = tm_record_of(&dark.base, &dark_companion, &dark_envelope, &[10_000, 20_000]); + if rep_renditions[0] != rep_renditions[1] { + return Err("a black scene must render one picture at every headroom".into()); + } + let rep_objects = [rr_hash(&rep_renditions[0])]; + let rep_given = tm_output(&crate::jcs::jcs(&rep_record).expect("a form"), &dark_envelope, &rep_renditions); + pool.insert("job_tonemap_two_pictures_of_one_rendering", routed(tm_doc("job-7203", &rep_objects, true), vec![tm_proved(&rep_given, &rep_objects, &[0, 0])])); + let tm_one = |job: &str, x: &Value, objects: &[[u8; 32]], places: &[usize]| routed(tm_doc(job, objects, true), vec![tm_proved(x, objects, places)]); + let mut rendition_altered = tm_renditions.clone(); + rendition_altered[1][0] ^= 1; + let altered_objects: Vec<[u8; 32]> = rendition_altered.iter().map(|b| rr_hash(b)).collect(); + pool.insert("job_tonemap_a_rendition_altered", tm_one("job-7210", &tm_output(&tm_text, &tm_envelope, &rendition_altered), &altered_objects, &[0, 1, 2])); + pool.insert("job_tonemap_a_rendition_missing", tm_one("job-7211", &tm_output(&tm_text, &tm_envelope, &tm_renditions[..2]), &tm_objects[..2], &[0, 1])); + pool.insert("job_tonemap_another_envelope", tm_one("job-7212", &tm_output(&tm_text, &tm_other, &tm_renditions), &tm_objects, &[0, 1, 2])); + let mut swapped = tm_renditions.clone(); + swapped.swap(0, 2); + pool.insert("job_tonemap_renditions_out_of_order", tm_one("job-7213", &tm_output(&tm_text, &tm_envelope, &swapped), &tm_objects, &[2, 1, 0])); + let mut unsigned_tm = tm_given.clone(); + unsigned_tm["tonemap"] = json!(tm_text.replacen("2026-10-20", "2025-10-20", 1)); + pool.insert("job_tonemap_a_record_that_does_not_verify", tm_one("job-7214", &unsigned_tm, &tm_objects, &[0, 1, 2])); + let tm_short = &tm_objects[..2]; + pool.insert("job_tonemap_a_rendition_its_hop_did_not_deliver", routed(tm_doc("job-7215", tm_short, true), vec![tm_proved(&tm_given, tm_short, &[0, 1, 1])])); + pool.insert("job_tonemap_one_output_twice", routed(tm_doc("job-7216", &tm_objects, true), vec![tm_proved(&tm_given, &tm_objects, &[0, 1, 2]), tm_proved(&tm_given, &tm_objects, &[0, 1, 2])])); + let mut proofs_short = tm_proved(&tm_given, &tm_objects, &[0, 1, 2]); + proofs_short["proofs"].as_array_mut().expect("a list").pop(); + pool.insert("job_tonemap_a_proof_short", routed(tm_doc("job-7217", &tm_objects, true), vec![proofs_short])); + pool.insert("job_tonemap_without_its_proofs", routed(tm_doc("job-7218", &tm_objects, true), vec![tm_given.clone()])); + pool.insert("job_tonemap_proofs_under_a_list", routed(tm_doc("job-7219", &tm_objects, false), vec![tm_proved(&tm_given, &tm_objects, &[0, 1, 2])])); + pool.insert("job_tonemap_in_an_encodes_form", routed(tm_doc("job-7220", &[rr_hash(&clip)], true), vec![proved(&enc_out, &[rr_hash(&clip)], 0)])); + + let src = |names: &[&'static str]| -> Vec { names.iter().map(|n| pool[n].clone()).collect() }; + let refs = |names: &[&'static str]| -> Vec<&Value> { names.iter().map(|n| &pool[n]).collect() }; + let inv_6 = make_invoice(&seller, &t_6, None, MONTH.0, mid, &src(&day_6)).map_err(|e| format!("invoice 6: {e:?}"))?; + let a6 = inv_6.to_bytes(); + let day_6m = ["job_upscale", "job_tonemap", "job_tonemap_two_pictures_of_one_rendering"]; + let inv_6m = make_invoice(&seller, &t_6, None, MONTH.0, mid, &src(&day_6m)).map_err(|e| format!("invoice 6, the re-derived jobs: {e:?}"))?; + let am = inv_6m.to_bytes(); + let inv_6_again = make_invoice(&seller, &t_6, Some(&inv_6m), mid, MONTH.1, &src(&["job_upscale_run_again"])).map_err(|e| format!("invoice 6, the upscale again: {e:?}"))?; + let inv_6_lists = make_invoice(&seller, &t_6, None, MONTH.0, mid, &src(&["job_upscale_under_a_list", "job_tonemap_under_a_list"])).map_err(|e| format!("invoice 6, under lists: {e:?}"))?; + let inv_6_as_5 = make_invoice(&seller, &t_6, None, MONTH.0, mid, &src(&day_r3)).map_err(|e| format!("invoice 6, version 5's jobs: {e:?}"))?; + let refused_6 = |name: &'static str, about: &'static str, source: &'static str| Vector { name, about, tariff: t6b.clone(), invoice: am.clone(), previous: None, sources: vec![source] }; + let price_of = |endpoint: &str, usage: &str| u8::try_from(job_prices_6.iter().position(|p| p.endpoint == endpoint && p.usage == usage && p.unit == 4).expect("a price") + 1).expect("a unit"); + let tariff_with = |f: &dyn Fn(&mut Vec)| { + let mut job = job_prices_6.clone(); + f(&mut job); + v6(VERSION_6, job).to_bytes() + }; + let usage_line = |i: &mut Invoice, endpoint: &str, usage: &str| i.lines.iter().position(|l| l.source_kind == source_kind::JOB && l.unit == price_of(endpoint, usage)).expect("the usage line"); + let t_5_usage = { + let mut job = job_prices_4.clone(); + job.push(jp6(GEN, GENERATE, "", 4, "", 1, 1)); + job.sort_by(|a, b| a.order().cmp(&b.order())); + v6(VERSION_5, job) + }; + vectors.extend([ + Vector { name: "version_6_a_third_partys_usage_per_endpoint", about: "version 6: a third party's jobs billed per job and by what its record states the provider bills, each endpoint at its own price: a served hop, another provider's, a failover whose failed hop's billed usage reaches no line, a job with no record, which bills by the job alone, a job in another unit at that unit's price, and one in a unit no price names", tariff: t6b.clone(), invoice: a6.clone(), previous: None, sources: day_6.to_vec() }, + Vector { name: "version_6_holds_what_version_5_holds", about: "version 6: an encode, a decode held to its frames and a package's run, billed as version 5 bills them at prices of any endpoint", tariff: t6b.clone(), invoice: inv_6_as_5.to_bytes(), previous: None, sources: day_r3.to_vec() }, + Vector { name: "version_6_an_upscale_and_a_tone_mapping", about: "version 6: an upscale of two pictures and two tone mappings, one of whose records states two pictures of one rendering, billed by the subpixels their records state, each re-derived from what it read", tariff: t6b.clone(), invoice: am.clone(), previous: None, sources: day_6m.to_vec() }, + Vector { name: "version_6_an_upscale_run_again", about: "version 6: the next invoice of that chain bills the upscale run again, a new route record and a new hop, its records cited again", tariff: t6b.clone(), invoice: inv_6_again.to_bytes(), previous: Some(am.clone()), sources: vec!["job_upscale_run_again"] }, + Vector { name: "version_6_re_derived_jobs_under_a_list", about: "version 6: an upscale and a tone mapping whose route records are of version 2, listing what each hop delivered, so that no output gives a proof", tariff: t6b.clone(), invoice: inv_6_lists.to_bytes(), previous: None, sources: vec!["job_upscale_under_a_list", "job_tonemap_under_a_list"] }, + Vector { name: "version_6_prices_out_of_order_by_endpoint", about: "a tariff of version 6 pricing gen.beta before gen.alpha", tariff: tariff_with(&|j| { + let (a, b) = (j.iter().position(|p| p.endpoint == "gen.alpha" && p.usage == "seconds").expect("a price"), j.iter().position(|p| p.endpoint == "gen.beta" && p.unit == 4).expect("a price")); + j.swap(a, b); + }), invoice: a6.clone(), previous: None, sources: vec![] }, + Vector { name: "version_6_a_price_of_any_endpoint_beside_one", about: "a tariff of version 6 pricing a usage at any endpoint and at gen.alpha, which would bill a job at both", tariff: tariff_with(&|j| { + j.push(jp6(GEN, GENERATE, "", 4, "seconds", 1, 1)); + j.sort_by(|a, b| a.order().cmp(&b.order())); + }), invoice: a6.clone(), previous: None, sources: vec![] }, + Vector { name: "version_6_a_usage_price_naming_no_unit", about: "a tariff of version 6 pricing a usage in no unit", tariff: tariff_with(&|j| j.iter_mut().find(|p| p.endpoint == "gen.beta" && p.unit == 4).expect("a price").usage = String::new()), invoice: a6.clone(), previous: None, sources: vec![] }, + Vector { name: "version_6_a_jobs_price_naming_a_unit", about: "a tariff of version 6 whose price per job names a usage's unit", tariff: tariff_with(&|j| j.iter_mut().find(|p| p.capability == GEN && p.unit == 1).expect("a price").usage = "seconds".into()), invoice: a6.clone(), previous: None, sources: vec![] }, + Vector { name: "version_6_an_endpoint_not_a_token", about: "a tariff of version 6 pricing an endpoint whose name holds a space", tariff: tariff_with(&|j| j.iter_mut().find(|p| p.endpoint == "gen.beta" && p.unit == 2).expect("a price").endpoint = "gen.b eta".into()), invoice: a6.clone(), previous: None, sources: vec![] }, + Vector { name: "version_6_a_unit_past_usage", about: "a tariff of version 6 with a job price of unit 5", tariff: tariff_with(&|j| { + let p = j.iter_mut().find(|p| p.endpoint == "gen.beta" && p.unit == 4).expect("a price"); + p.unit = 5; + p.usage = String::new(); + }), invoice: a6.clone(), previous: None, sources: vec![] }, + Vector { name: "version_5_a_price_of_usage", about: "a tariff of version 5 with a job price of unit 4, a usage, which only version 6 prices", tariff: t_5_usage.to_bytes(), invoice: a5.clone(), previous: None, sources: vec![] }, + Vector { name: "version_5_invoice_under_a_version_6_tariff", about: "an invoice of version 5 naming a tariff of version 6", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_r3), |i| i.version = VERSION_5).to_bytes(), previous: None, sources: day_r3.to_vec() }, + Vector { name: "version_5_an_invoice_listing_a_third_partys_record", about: "an invoice of version 5 listing a record of kind 17, which only version 6 lists", tariff: t5b.clone(), invoice: sealed_after(&t_5, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_5), |i| { + i.records.push((record_kind::THIRD_PARTY, [1; 32])); + i.records.sort(); + }).to_bytes(), previous: None, sources: day_5.to_vec() }, + Vector { name: "version_5_a_job_given_a_third_partys_records", about: "version 5: a job given the third-party records only version 6 reads", tariff: t5b.clone(), invoice: a5.clone(), previous: None, sources: vec!["job_tp_alpha"] }, + Vector { name: "version_5_an_upscale_in_version_6s_form", about: "version 5: an upscale given in the form only version 6 reads", tariff: t5b.clone(), invoice: a5.clone(), previous: None, sources: vec!["job_upscale"] }, + Vector { name: "version_5_a_tone_mapping_in_version_6s_form", about: "version 5: a tone mapping given in the form only version 6 reads", tariff: t5b.clone(), invoice: a5.clone(), previous: None, sources: vec!["job_tonemap"] }, + Vector { name: "version_6_another_jobs_record", about: "version 6: a job given the third-party record of another job", tariff: t6b.clone(), invoice: a6.clone(), previous: None, sources: vec!["job_tp_another_jobs_record"] }, + Vector { name: "version_6_a_failed_hops_usage_billed", about: "version 6: gen.alpha's usage line adding what the provider billed for the failover's failed hop", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_6), |i| { + let k = usage_line(i, "gen.alpha", "seconds"); + let l = &mut i.lines[k]; + i.amount -= l.amount; + l.quantity += 1; + l.amount = l.quantity * l.price; + i.amount += l.amount; + }).to_bytes(), previous: None, sources: day_6.to_vec() }, + Vector { name: "version_6_usage_at_another_endpoints_price", about: "version 6: gen.beta's usage line priced at gen.alpha's price", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_6), |i| { + let k = usage_line(i, "gen.beta", "seconds"); + let l = &mut i.lines[k]; + i.amount -= l.amount; + l.price = 40_000_000; + l.amount = l.quantity * l.price; + i.amount += l.amount; + }).to_bytes(), previous: None, sources: day_6.to_vec() }, + Vector { name: "version_6_a_usage_line_not_citing_its_record", about: "version 6: gen.beta's usage line citing the route records and the hop receipts and not the third-party records", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_6), |i| { + let k = usage_line(i, "gen.beta", "seconds"); + let facts: Vec = refs(&day_6).iter().map(|s| verify_source_of(s, &signers(&t_6), VERSION_6).expect("a corpus source verifies")).collect(); + let computed = compute(&t_6, &facts).expect("figures that fit"); + let cited: Cited = computed.lines.iter().find(|(l, _)| l.unit == i.lines[k].unit).expect("the line").1.iter().copied().filter(|(kind, _)| *kind != record_kind::THIRD_PARTY).collect(); + i.lines[k].cited = cited.len() as u32; + i.lines[k].cites = cites_digest(&cited); + }).to_bytes(), previous: None, sources: day_6.to_vec() }, + Vector { name: "version_6_a_record_left_out", about: "version 6: an invoice whose records leave out a third-party record it cites", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_6), |i| { + let k = i.records.iter().position(|r| r.0 == record_kind::THIRD_PARTY).expect("a record"); + i.records.remove(k); + }).to_bytes(), previous: None, sources: day_6.to_vec() }, + Vector { name: "version_6_usage_no_record_states", about: "version 6: a usage line for a job given with no third-party record", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&["job_tp_unrecorded"]), |i| { + let cited: Cited = [(record_kind::ROUTE_RECORD, [1; 32])].into_iter().collect(); + i.lines.push(Line { source_kind: source_kind::JOB, source: router, unit: price_of("gen.alpha", "seconds"), quantity: 4, price: 40_000_000, amount: 160_000_000, cited: 1, cites: cites_digest(&cited) }); + i.lines.sort_by_key(|l| (l.source_kind, l.source, l.unit)); + i.amount += 160_000_000; + }).to_bytes(), previous: None, sources: vec!["job_tp_unrecorded"] }, + Vector { name: "version_6_a_records_subpixels_above_it", about: "version 6: the upscale's subpixels line one above what its records state", tariff: t6b.clone(), invoice: sealed_after(&t_6, None, (MONTH.0, mid), MONTH.0, mid, &refs(&day_6m), |i| { + let up = u8::try_from(job_prices_6.iter().position(|p| p.capability == UP).expect("a price") + 1).expect("a unit"); + let k = i.lines.iter().position(|l| l.source_kind == source_kind::JOB && l.unit == up).expect("the line"); + i.lines[k].quantity += 1; + }).to_bytes(), previous: None, sources: day_6m.to_vec() }, + refused_6("version_6_a_picture_altered", "version 6: an upscale whose picture has one sample changed, its record's output unchanged", "job_upscale_a_picture_altered"), + refused_6("version_6_a_picture_of_another_shape", "version 6: an upscale whose picture holds the samples in rows of another length", "job_upscale_a_picture_of_another_shape"), + refused_6("version_6_a_picture_that_does_not_read", "version 6: an upscale whose picture is not a PNG", "job_upscale_a_picture_that_does_not_read"), + refused_6("version_6_an_upscale_under_another_prior", "version 6: an upscale given a prior other than the one its record names, so nothing proves it", "job_upscale_another_prior"), + refused_6("version_6_an_upscale_of_another_input", "version 6: an upscale given another picture than the one its record names", "job_upscale_another_input"), + refused_6("version_6_an_input_that_does_not_read", "version 6: an upscale whose input is not an envelope", "job_upscale_an_input_that_does_not_read"), + refused_6("version_6_an_input_of_another_capability", "version 6: an upscale whose input's envelope is of a capability other than a PNG's", "job_upscale_an_input_of_another_capability"), + refused_6("version_6_an_input_not_rgb", "version 6: an upscale whose input is a greyscale PNG", "job_upscale_an_input_not_rgb"), + refused_6("version_6_a_record_of_another_output", "version 6: an upscale whose record, signed, states another derivation's digest", "job_upscale_a_record_of_another_output"), + refused_6("version_6_a_record_naming_a_residual", "version 6: an upscale whose record names a residual, which this form does not hold, so nothing proves it", "job_upscale_a_record_naming_a_residual"), + refused_6("version_6_an_upscale_record_that_does_not_verify", "version 6: an upscale whose record was changed after it was signed", "job_upscale_a_record_that_does_not_verify"), + refused_6("version_6_a_picture_its_hop_did_not_deliver", "version 6: an upscale whose picture is not what its route record states its hop delivered", "job_upscale_a_picture_its_hop_did_not_deliver"), + refused_6("version_6_an_upscale_output_twice", "version 6: an upscale giving one picture twice, to bill it twice", "job_upscale_one_output_twice"), + refused_6("version_6_an_upscale_in_an_encodes_form", "version 6: an upscale given as an encode gives its output", "job_upscale_in_an_encodes_form"), + refused_6("version_6_a_rendition_altered", "version 6: a tone mapping whose second rendition has one byte changed", "job_tonemap_a_rendition_altered"), + refused_6("version_6_a_rendition_missing", "version 6: a tone mapping that gives two renditions of the three pictures its record states", "job_tonemap_a_rendition_missing"), + refused_6("version_6_a_tone_mapping_of_another_envelope", "version 6: a tone mapping given another envelope than the one its record names, so nothing proves it", "job_tonemap_another_envelope"), + refused_6("version_6_renditions_out_of_order", "version 6: a tone mapping whose renditions are not in its record's order", "job_tonemap_renditions_out_of_order"), + refused_6("version_6_a_tonemap_record_that_does_not_verify", "version 6: a tone mapping whose record was changed after it was signed", "job_tonemap_a_record_that_does_not_verify"), + refused_6("version_6_a_rendition_its_hop_did_not_deliver", "version 6: a tone mapping whose third rendition is not what its route record states its hop delivered", "job_tonemap_a_rendition_its_hop_did_not_deliver"), + refused_6("version_6_a_tone_mapping_output_twice", "version 6: a tone mapping giving its record twice, to bill it twice", "job_tonemap_one_output_twice"), + refused_6("version_6_a_proof_short", "version 6: a tone mapping with one proof fewer than its renditions", "job_tonemap_a_proof_short"), + refused_6("version_6_a_tone_mapping_without_its_proofs", "version 6: a tone mapping whose route record is of version 3, given without its proofs", "job_tonemap_without_its_proofs"), + refused_6("version_6_proofs_under_a_list", "version 6: a tone mapping whose route record is of version 2, given proofs", "job_tonemap_proofs_under_a_list"), + refused_6("version_6_a_tone_mapping_in_an_encodes_form", "version 6: a tone mapping given as an encode gives its output", "job_tonemap_in_an_encodes_form"), + ]); + let mut sources = Map::new(); for (n, v) in &pool { sources.insert((*n).into(), v.clone()); diff --git a/wai/wai-rs/src/route_record.rs b/wai/wai-rs/src/route_record.rs index a0de1309b..a91264aea 100644 --- a/wai/wai-rs/src/route_record.rs +++ b/wai/wai-rs/src/route_record.rs @@ -237,11 +237,11 @@ fn unhex(s: &str) -> Option<[u8; N]> { Some(out) } -fn token(s: &str) -> bool { +pub(crate) fn token(s: &str) -> bool { (1..=128).contains(&s.len()) && s.bytes().all(|c| c.is_ascii_alphanumeric() || b"._-:/".contains(&c)) } -fn unit(s: &str) -> bool { +pub(crate) fn unit(s: &str) -> bool { (1..=64).contains(&s.len()) && s.as_bytes()[0].is_ascii_lowercase() && s.bytes().all(|c| c.is_ascii_lowercase() || c.is_ascii_digit() || c == b'_') diff --git a/wai/wai-rs/src/route_record/corpus.rs b/wai/wai-rs/src/route_record/corpus.rs index 8eee52cdb..5adfae52e 100644 --- a/wai/wai-rs/src/route_record/corpus.rs +++ b/wai/wai-rs/src/route_record/corpus.rs @@ -591,6 +591,15 @@ pub(crate) fn hop_receipt(operation: &str, job: &str, endpoint: &str, joules: Op r } +/// [`hop_receipt`] of a hop that served and reports no energy, as a third party's does. +#[cfg(feature = "receipt_ledger")] +pub(crate) fn unmetered_hop_receipt(operation: &str, job: &str, endpoint: &str) -> Value { + let mut r = receipt(operation, endpoint, 1, None); + r["subject"]["inputs"] = json!([sha(&format!("{job}/{endpoint}"))]); + reseal_receipt(&mut r); + r +} + /// The verification document (§7.1) of this corpus's request under `job` and `operation`, /// routed by its router under its price book and policy, accepted at `accepted`, with /// `attempts` in their order and their receipts given as they are. @@ -675,6 +684,33 @@ pub(crate) fn job_document_3(job: &str, operation: &str, accepted: u64, attempts routed(request_2(job, operation, no_preference()), pricebook_2(), accepted, attempts, outputs, true) } +/// The verification document of a job of `operation` under `capability`, one quantity of `unit`, +/// routed under a price book of version 2 of `endpoints`, each an (endpoint, provider) that prices +/// it per that unit and never failed in 1,000 hops; its record of version 3 when `committed`, else +/// of version 2. `attempts` and `outputs` as [`job_document_2`] takes them. +#[cfg(feature = "receipt_ledger")] +#[allow(clippy::too_many_arguments)] +pub(crate) fn job_document_of(job: &str, operation: &str, capability: &str, unit: &str, endpoints: &[(&str, &str)], accepted: u64, attempts: &[Hop], outputs: &[[u8; 32]], committed: bool) -> Value { + let mut request = request_2(job, operation, no_preference()); + request["capability"] = json!(capability); + request["fallback"] = Value::Null; + request["quantities"] = json!([{"unit": unit, "quantity": 1}]); + let entries = endpoints.iter().map(|(e, p)| entry_2(e, operation, p, capability, EU_C, (unit, 1, 400_000), Some(500), Some((4_500_000, "OnChipCounter")), Some(950), failures(1_000, 0, 0, 0))).collect(); + routed(request, pricebook_2_of(entries), accepted, attempts, outputs, committed) +} + +/// The text of a third party's record of hop `hop` of `document`'s route record (§6.2), naming +/// `outputs`, and stating that the provider bills `usage` in the candidate's unit, or nothing. +#[cfg(feature = "receipt_ledger")] +pub(crate) fn third_party_text(document: &Value, hop: usize, outputs: &[[u8; 32]], usage: Option) -> String { + let record: Value = serde_json::from_str(document["record"].as_str().expect("a record's text")).expect("a record reads"); + let mut body = third_party_body_of(&record, hop, outputs); + let unit = body["usage"]["unit"].clone(); + let unit = if unit.is_null() { record["candidates"][hop - 1]["unit"].clone() } else { unit }; + body["usage"] = usage.map_or(Value::Null, |q| json!({"unit": unit, "quantity": q, "source": "the response's usage"})); + canonical(&super::third_party::sign(body, &router())) +} + /// [`package_job_document`], its record of version 3. #[cfg(feature = "receipt_ledger")] pub(crate) fn package_job_document_3(job: &str, accepted: u64, attempts: &[Hop], outputs: &[[u8; 32]]) -> Value { @@ -1141,8 +1177,12 @@ fn vectors_3() -> Vec { /// What a router states of attempt `hop` of a job, sent to a third party, before it is signed. fn third_party_body(j: &Job, hop: usize, outputs: &[[u8; 32]]) -> Value { - let a = &j.record["attempts"][hop - 1]; - let c = j.record["candidates"].as_array().unwrap().iter().find(|c| c["endpoint"] == a["endpoint"]).unwrap(); + third_party_body_of(&j.record, hop, outputs) +} + +fn third_party_body_of(record: &Value, hop: usize, outputs: &[[u8; 32]]) -> Value { + let a = &record["attempts"][hop - 1]; + let c = record["candidates"].as_array().unwrap().iter().find(|c| c["endpoint"] == a["endpoint"]).unwrap(); let (start, end) = (a["start"].as_u64().unwrap(), a["end"].as_u64().unwrap()); let served = a["outcome"] == "served"; let origin = "https://api.provider.example"; @@ -1158,7 +1198,7 @@ fn third_party_body(j: &Job, hop: usize, outputs: &[[u8; 32]]) -> Value { })); } json!({ - "job": j.record["job"], "hop": hop, "endpoint": a["endpoint"], "provider": c["provider"], "receipt": a["receipt"], "origin": origin, + "job": record["job"], "hop": hop, "endpoint": a["endpoint"], "provider": c["provider"], "receipt": a["receipt"], "origin": origin, "account": "operator", "provider_job": null, "outcome": a["outcome"], "error": if served { Value::Null } else { json!({"class": a["error"], "code": "503"}) }, "exchanges": exchanges, diff --git a/wai/wai-rs/tests/receipt_ledger.rs b/wai/wai-rs/tests/receipt_ledger.rs index 93c1c4dec..aa723afa0 100644 --- a/wai/wai-rs/tests/receipt_ledger.rs +++ b/wai/wai-rs/tests/receipt_ledger.rs @@ -274,6 +274,73 @@ fn version_4_bills_the_bytes_the_work_and_the_storage() { } /// §10 of the extension lists exactly the codes `Reason::ALL` has, each once, in order. +/// §4.9: a third party's usage per endpoint, and what re-derives an upscale and a tone mapping. +#[test] +fn version_6_bills_a_usage_per_endpoint_and_what_it_re_derives() { + use serde_json::Value; + let text = committed(); + let doc: Value = serde_json::from_str(&text).unwrap(); + let vector = |name: &str| doc["vectors"].as_array().unwrap().iter().find(|v| v["name"] == name).unwrap_or_else(|| panic!("no vector {name}")); + let line = |o: &Value, endpoint: &str, usage: &str| -> Value { o["lines"].as_array().unwrap().iter().find(|l| l["endpoint"] == endpoint && l["usage_unit"] == usage).cloned().unwrap_or(Value::Null) }; + + let o = &vector("version_6_a_third_partys_usage_per_endpoint")["outcome"]; + assert_eq!(o["outcome"], "accept"); + // Each endpoint at its own price. gen.alpha's usage is the served hop's alone: the failover's + // failed hop's billed second, and the job given no record, reach no line. + assert_eq!((&line(o, "gen.alpha", "seconds")["quantity"], &line(o, "gen.alpha", "seconds")["price"]), (&Value::from(8), &Value::from(40_000_000))); + assert_eq!((&line(o, "gen.beta", "seconds")["quantity"], &line(o, "gen.beta", "seconds")["price"]), (&Value::from(8), &Value::from(25_000_000))); + // Another unit at that unit's price, and a unit no price names, which bills by the job alone. + assert_eq!(line(o, "gen.alpha", "images")["quantity"], 2); + assert_eq!(o["lines"].as_array().unwrap().iter().filter(|l| l["unit"] == "usage").count(), 3); + let jobs = o["lines"].as_array().unwrap().iter().find(|l| l["unit"] == "jobs").unwrap(); + assert_eq!((&jobs["quantity"], &jobs["endpoint"]), (&Value::from(6), &Value::from(""))); + // A usage line cites its record; a line per job does not need to. + let cites_kind = |l: &Value, k: u64| l["cites"].as_array().unwrap().iter().filter(|c| c[0] == k).count(); + assert_eq!(cites_kind(&line(o, "gen.beta", "seconds"), 17), 2); + assert_eq!(cites_kind(jobs, 17), 0); + + let o = &vector("version_6_an_upscale_and_a_tone_mapping")["outcome"]; + assert_eq!(o["outcome"], "accept"); + let by_capability = |c: &str| o["lines"].as_array().unwrap().iter().find(|l| l["capability"] == c).unwrap().clone(); + // 12×8 and 8×6 pictures, three samples a pixel; three pictures and two pictures of 8×4. + assert_eq!(by_capability("wai.media.upscale")["quantity"], (12 * 8 + 8 * 6) * 3); + assert_eq!(by_capability("wai.media.tonemap")["quantity"], 5 * 8 * 4 * 3); + assert_eq!(cites_kind(&by_capability("wai.media.upscale"), 18), 2); + assert_eq!(cites_kind(&by_capability("wai.media.tonemap"), 19), 2); + + // The chain cites an upscale's records again for a new hop's work. + assert_eq!(vector("version_6_an_upscale_run_again")["outcome"]["outcome"], "accept"); + + for (name, reason) in [ + ("version_6_a_price_of_any_endpoint_beside_one", "tariff_invalid"), + ("version_6_prices_out_of_order_by_endpoint", "tariff_invalid"), + ("version_6_a_usage_price_naming_no_unit", "tariff_invalid"), + ("version_6_a_jobs_price_naming_a_unit", "tariff_invalid"), + ("version_5_a_price_of_usage", "tariff_invalid"), + ("version_5_an_invoice_listing_a_third_partys_record", "invoice_invalid"), + ("version_5_invoice_under_a_version_6_tariff", "tariff_mismatch"), + ("version_5_a_job_given_a_third_partys_records", "malformed"), + ("version_6_another_jobs_record", "third_party_mismatch"), + ("version_6_a_failed_hops_usage_billed", "quantity_not_recorded"), + ("version_6_usage_no_record_states", "quantity_not_recorded"), + ("version_6_usage_at_another_endpoints_price", "invoice_mismatch"), + ("version_6_a_record_left_out", "invoice_mismatch"), + ("version_6_a_usage_line_not_citing_its_record", "citation_mismatch"), + ("version_6_a_picture_altered", "output_invalid"), + ("version_6_an_upscale_under_another_prior", "output_invalid"), + ("version_6_a_record_of_another_output", "output_invalid"), + ("version_6_a_picture_its_hop_did_not_deliver", "output_not_delivered"), + ("version_6_an_upscale_output_twice", "output_not_delivered"), + ("version_6_a_rendition_altered", "output_invalid"), + ("version_6_a_tone_mapping_of_another_envelope", "output_invalid"), + ("version_6_a_rendition_its_hop_did_not_deliver", "output_not_delivered"), + ("version_6_a_tone_mapping_output_twice", "output_not_delivered"), + ("version_6_a_tone_mapping_without_its_proofs", "malformed"), + ] { + assert_eq!(vector(name)["outcome"]["reason"], reason, "{name}"); + } +} + #[test] fn the_extension_lists_the_reasons() { let text = read("extensions/receipt-ledger.md");