unimsg provisional

examples/postgresql-protocol.umsg

%unimsg 0 systems/postgresql-protocol/v0 · 385 lines · 18902 bytes of text · 15693 bytes canonical · the raw file

Point at anything below — a sigil, a literal, a brace — and the card says what it is. Keyboard: tab through the document. Every explanation is also printed in full beneath the source.

%unimsg 0 systems/postgresql-protocol/v0

-- The PostgreSQL frontend/backend protocol, described as a system you could
-- implement.
--
-- Read the scope block first, because the title of this document is narrower
-- than the name in it. This is not how to implement PostgreSQL. Implementing
-- PostgreSQL is a parser, a planner, an executor, multiversion storage, a
-- write-ahead log, replication, a type and catalog system and half a dozen
-- index methods, and no document enables it. This is the protocol those things
-- speak, which is a bounded and frequently implemented thing: every driver
-- speaks it, and so does every pooler and every database that claims
-- PostgreSQL compatibility.
--
-- Every byte in the vectors was captured from a live server over a raw socket,
-- including a complete SCRAM-SHA-256 authentication performed by hand. Nothing
-- here is recalled. Where something is described rather than captured, the
-- scope block says which.

postgresql-protocol @systems/postgresql-protocol/v0 {
  title  "The PostgreSQL frontend/backend protocol, version 3.0"
  status :provisional
  verified-against "PostgreSQL 16.14 on Debian, over TCP, protocol 3.0"

  premise "A connection is a stream of typed, length-prefixed messages in both
           directions, punctuated by the server announcing that it is ready.
           Everything else — authentication, queries, results, errors,
           transactions — is a pattern of those messages. Get the envelope and
           the ready signal right and the rest is vocabulary."

  scope {
    captured "The message envelope, startup, SCRAM-SHA-256 authentication, the
              simple query cycle, the extended query cycle, error responses,
              and transaction status. Each has vectors below taken from a real
              session."

    described "COPY, the function call and cancel paths, notification, binary
               result formats beyond the fact of them, replication, and TLS
               negotiation. Named so you know they exist and where they sit."

    not-here [
      "SQL semantics — a different and far larger subject",
      "on-disk storage, the write-ahead log, and multiversion visibility",
      "the planner, the executor, and anything about performance",
      "protocol 2, which is long obsolete"
    ]

    what-this-enables "A driver, a pooler, a proxy, or a server that other
                       people's PostgreSQL clients can talk to. That last one
                       is how several databases with no PostgreSQL code inside
                       them are usable from psql."
  }

  -- ===================================================================
  -- THE ENVELOPE
  -- ===================================================================

  framing {
    rule "One byte naming the message type, then a 32-bit big-endian length,
          then the body. The length counts itself and excludes the type byte,
          so a message with an empty body announces 4."

    the-exception "The startup message and its relatives have no type byte:
                   the first four bytes on a new connection are a length, and
                   the next four are either a protocol version or a request
                   code. The type byte begins with the second message. An
                   implementation that assumes a type byte from the first byte
                   of the connection fails immediately and confusingly."

    everything-is-big-endian "Integers on the wire are network order
                              throughout, including inside message bodies."

    strings-are-nul-terminated "Not length-prefixed. A body may hold several,
                                and their lengths come from scanning."
  }

  -- ===================================================================
  -- STARTUP
  -- ===================================================================

  startup {
    message "A length, the protocol version as 196608 — which is 3 in the high
             sixteen bits and 0 in the low — then key and value pairs as
             NUL-terminated strings, then a final zero byte."

    required-parameter "user. Everything else, database included, is optional
                        and defaults to the user's name."

    what-comes-back [
      | message              type-byte  carries
      | :Authentication      "R"        "a 32-bit code saying what is required; 0 means nothing further"
      | :ParameterStatus     "S"        "a server setting, as two strings; many arrive"
      | :BackendKeyData      "K"        "a process id and a secret, eight bytes, for cancellation later"
      | :ReadyForQuery       "Z"        "one byte of transaction status; the handshake is over"
  ]

    parameter-status-is-not-optional "The server sends a dozen or more of these
                                      unprompted, and sends more later if a
                                      setting changes mid-session. A client
                                      that does not expect them at arbitrary
                                      points will desynchronise the first time
                                      one arrives outside startup."
  }

  authentication {
    doc "The server names a method; the client satisfies it; the server sends
         code 0. Modern servers ask for SCRAM."

    codes [
      | code  method
      |    0  "authentication succeeded"
      |    3  "cleartext password"
      |    5  "MD5 password, with a salt"
      |   10  "SASL; the body lists mechanisms as NUL-terminated strings"
      |   11  "SASL continue"
      |   12  "SASL final"
  ]

    scram {
      mechanism "SCRAM-SHA-256"
      exchange [
        | step  who       sends
        | 1     :server   "code 10 and the mechanism list"
        | 2     :client   "the mechanism name, a 32-bit length, then `n,,n=,r=` and a nonce"
        | 3     :server   "code 11 and the server-first message: combined nonce, salt, iteration count"
        | 4     :client   "`c=biws,r=` the combined nonce, and the proof"
        | 5     :server   "code 12 with its own signature, then code 0"
  ]

      deriving-the-proof [
        | n  compute
        | 1  "SaltedPassword = PBKDF2-HMAC-SHA256(password, salt, iterations, 32 bytes)"
        | 2  "ClientKey = HMAC(SaltedPassword, `Client Key`)"
        | 3  "StoredKey = SHA256(ClientKey)"
        | 4  "AuthMessage = client-first-bare, server-first, client-final-without-proof, joined by commas"
        | 5  "ClientSignature = HMAC(StoredKey, AuthMessage)"
        | 6  "ClientProof = ClientKey XOR ClientSignature, base64 encoded"
  ]

      the-part-that-catches-people "AuthMessage is built from the *bare*
                                    client-first — the part after `n,,` — and
                                    from the client-final *without* the proof
                                    field. Using the full strings produces a
                                    proof the server rejects with no
                                    explanation of why, and both mistakes look
                                    identical from the client."

      c-equals-biws "`biws` is base64 of `n,,`, the channel-binding preamble
                     echoed back. It is a constant for connections without
                     channel binding, which is why it appears verbatim in every
                     implementation and is worth recognising rather than
                     deriving."
    }
  }

  -- ===================================================================
  -- QUERYING
  -- ===================================================================

  simple-query {
    request "Q, then the SQL as one NUL-terminated string. It may contain
             several statements separated by semicolons, and each produces its
             own results."

    response [
      | message           type-byte  carries
      | :RowDescription   "T"        "the shape of what follows: field count, then per field"
      | :DataRow          "D"        "one row: column count, then per column a length and bytes"
      | :CommandComplete  "C"        "a tag such as SELECT 1 or INSERT 0 1"
      | :ReadyForQuery    "Z"        "transaction status; the cycle is over"
  ]

    row-description-field "The name, the table's object id and the column's
                           number within it — both zero when the column is not
                           a stored column — the type's object id, the type's
                           length, a type modifier, and a format code."

    a-null-is-minus-one "A column length of -1 means SQL NULL. It is not a
                         length of zero, which is an empty value and a
                         different thing."

    no-results-is-not-no-messages "A statement returning nothing sends
                                   CommandComplete with no RowDescription. A
                                   client keyed on RowDescription arriving will
                                   hang."
  }

  extended-query {
    doc "Parse, bind, execute — separated, so a statement may be prepared once
         and run many times, and so parameters travel as values rather than as
         text spliced into SQL."

    messages [
      | message   type-byte  does
      | :Parse    "P"        "name a statement, give its SQL and any parameter type hints"
      | :Bind     "B"        "name a portal, supply parameter values and format codes"
      | :Describe "D"        "ask for the shape of a statement or portal"
      | :Execute  "E"        "run a portal, up to a row limit; zero means all"
      | :Sync     "S"        "end the cycle; the server replies ReadyForQuery"
      | :Close    "C"        "discard a statement or portal"
  ]

    replies [
      | message         type-byte
      | :ParseComplete  "1"
      | :BindComplete   "2"
      | :CloseComplete  "3"
      | :PortalSuspended "s"
      | :NoData         "n"
  ]

    the-unnamed-statement "An empty name is the unnamed statement or portal,
                           replaced by the next one of its kind. Convenient,
                           and the reason a client that pipelines carelessly
                           destroys its own prepared statement."

    sync-is-the-recovery-point "After an error the server discards messages
                                until it sees Sync. So a pipelined batch fails
                                as a unit, and a client that omits Sync waits
                                forever for a ReadyForQuery that is not coming."

    parameters-are-not-typed-by-the-client "Parse may send zero type hints and
                                            let the server infer, which is what
                                            a cast in the SQL is for. The
                                            vector below sends none."
  }

  -- ===================================================================
  -- ERRORS AND STATE
  -- ===================================================================

  errors {
    shape "E, then a sequence of fields, each a single type byte followed by a
           NUL-terminated string, ended by a zero byte where a type byte would
           be."

    fields [
      | byte  field
      | "S"   "severity, localised"
      | "V"   "severity, never localised — prefer this one"
      | "C"   "SQLSTATE, five characters"
      | "M"   "the primary message"
      | "D"   "detail"
      | "H"   "a hint"
      | "P"   "a position in the query, counted in characters from 1"
      | "F"   "the server source file, and other internal fields"
  ]

    read-the-code-not-the-message "SQLSTATE is stable and machine-readable; the
                                   message is prose and may be translated. A
                                   client branching on message text breaks in
                                   another locale."

    notice-is-the-same-shape "NoticeResponse uses type byte N and the identical
                              field structure, and may arrive at any time,
                              including outside a query."
  }

  transaction-status [
    | byte  means
    | "I"   "idle, no transaction"
    | "T"   "inside a transaction block"
    | "E"   "inside a failed transaction; everything is rejected until rollback"
  ]

  the-failed-state-is-real "After an error inside a transaction the server
                            answers every statement with an error until it sees
                            rollback. A client that retries the failed statement
                            loops, and the status byte is how it should have
                            known."

  -- ===================================================================
  -- VECTORS
  -- ===================================================================

  -- Captured from PostgreSQL 16.14 over a raw socket. Hexadecimal, whole
  -- messages including the type byte and length where one is present.

  vectors {
    startup [
      | id      what                                          bytes
      | :q-001  "StartupMessage, user and database postgres"  "00000029000300007573657200706f73746772657300646174616261736500706f7374677265730000"
      | :q-002  "AuthenticationSASL, offering SCRAM-SHA-256"  "52000000170000000a534352414d2d5348412d3235360000"
  ]

    startup-note "q-001 is 41 bytes: a length of 0x29, the version 0x00030000,
                  then the pairs and a terminating zero. There is no type byte,
                  which is the exception described above. In q-002 the type
                  byte R is present, the length is 23, the code is 10, and the
                  mechanism list is NUL-terminated strings ended by an empty
                  one."

    simple [
      | id      what                                 bytes
      | :q-010  "Query: SELECT 1 AS n"               "510000001253454c4543542031204153206e00"
      | :q-011  "RowDescription for it"              "540000001a00016e00000000000000000000170004ffffffff0000"
      | :q-012  "DataRow holding the text 1"         "440000000b00010000000131"
      | :q-013  "CommandComplete, tag SELECT 1"      "430000000d53454c454354203100"
      | :q-014  "ReadyForQuery, idle"                "5a0000000549"
  ]

    row-description-decoded "One field. Name n. Table oid 0 and column 0,
                             because it is a computed column. Type oid 23,
                             which is int4. Type length 4. Type modifier -1.
                             Format code 0, meaning text — so the value in
                             q-012 is the single character 1, not a binary
                             integer."

    extended [
      | id      what                                            bytes
      | :q-020  "Parse: SELECT $1::int + 1 AS r, no type hints"  "500000001f0053454c4543542024313a3a696e74202b20312041532072000000"
      | :q-021  "Bind: one text parameter, the character 7"      "420000001100000000000100000001370000"
      | :q-022  "the DataRow that came back"                     "440000000b00010000000138"
  ]

    bind-decoded "Empty portal name, empty statement name, zero parameter
                  format codes — so all parameters are text — one parameter, of
                  length 1, the byte 7, then zero result format codes. The row
                  that came back holds the character 8, which is the server
                  having computed 7 + 1 and rendered it as text."

    errors [
      | id      what                                    first-fields
      | :q-030  "SELECT nope, an unknown column"        "S ERROR, V ERROR, C 42703, M column \"nope\" does not exist, P 8"
  ]

    error-note "SQLSTATE 42703 is undefined_column. Position 8 counts
                characters from 1, so it points at the start of nope."

    transaction [
      | id      after         status-byte
      | :q-040  "BEGIN"       "T"
      | :q-041  "an error inside that transaction"  "E"
      | :q-042  "ROLLBACK"    "I"
  ]
  }

  -- ===================================================================
  -- HAZARDS
  -- ===================================================================

  hazards [
    | hazard                                                    consequence
    | "expecting a type byte on the first message"              "startup is unreadable; the failure is immediate and puzzling"
    | "treating the length as excluding itself"                 "every message boundary is off by four and the stream desynchronises"
    | "building the SCRAM AuthMessage from the full strings"    "the proof is rejected with no indication of which part was wrong"
    | "not expecting ParameterStatus mid-session"               "a setting change desynchronises a working client hours in"
    | "reading a column length of -1 as a length"               "NULL becomes a huge read, or a crash"
    | "omitting Sync after a pipelined batch"                   "the client waits for a ReadyForQuery that will never come"
    | "branching on error message text"                         "correct until the server speaks another language"
    | "ignoring the transaction status byte"                    "retrying inside a failed transaction loops"
  ]

  -- ===================================================================
  -- PROVENANCE
  -- ===================================================================

  provenance {
    method "A Python client written for this document, using raw sockets and no
            driver. It performed the startup, a full SCRAM-SHA-256
            authentication including the PBKDF2 and HMAC derivation, a simple
            query, a deliberate error, and an extended query cycle. The bytes
            in the vectors are what came back."

    why-by-hand "A driver would have hidden exactly the things worth pinning.
                 Implementing the handshake was the check: an authentication
                 that completes is evidence the derivation described above is
                 right, in a way that reading about it is not."

    described-not-captured "COPY, cancellation, notification, binary formats,
                            replication and TLS negotiation are named in scope
                            and not pinned. Treat them as a map of what is left
                            rather than as instructions."

    version "One server, one version, one platform. Protocol 3.0 has been
             stable for a long time, but a claim from a single observation is a
             claim from a single observation."

    not-a-reproduction "Formats and behaviour, so that an independent
                        implementation is possible — which is what the many
                        existing independent implementations of this protocol
                        demonstrate is intended."
  }
}

The canonical encoding

Produced by the reference encoder when this page was built. Decoding these bytes and printing them in the text form returns the document above, byte for byte — that round trip is the claim the whole format rests on.

a1 73 70 6f 73 74 67 72 65 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c da 00 01
11 d5 82 81 da 00 01 11 d6 78 1e 73 79 73 74 65 6d 73 2f 70 6f 73 74 67
72 65 73 71 6c 2d 70 72 6f 74 6f 63 6f 6c 2f 76 30 b0 65 73 63 6f 70 65
a4 68 63 61 70 74 75 72 65 64 78 f3 54 68 65 20 6d 65 73 73 61 67 65 20
65 6e 76 65 6c 6f 70 65 2c 20 73 74 61 72 74 75 70 2c 20 53 43 52 41 4d
2d 53 48 41 2d 32 35 36 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c
20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 6d 70 6c
65 20 71 75 65 72 79 20 63 79 63 6c 65 2c 20 74 68 65 20 65 78 74 65 6e
64 65 64 20 71 75 65 72 79 20 63 79 63 6c 65 2c 20 65 72 72 6f 72 20 72
65 73 70 6f 6e 73 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20
61 6e 64 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 73 74 61 74 75 73 2e 20
45 61 63 68 20 68 61 73 20 76 65 63 74 6f 72 73 20 62 65 6c 6f 77 20 74
61 6b 65 6e 20 66 72 6f 6d 20 61 20 72 65 61 6c 0a 20 20 20 20 20 20 20
20 20 20 20 20 20 20 73 65 73 73 69 6f 6e 2e 68 6e 6f 74 2d 68 65 72 65
84 78 34 53 51 4c 20 73 65 6d 61 6e 74 69 63 73 20 e2 80 94 20 61 20 64
69 66 66 65 72 65 6e 74 20 61 6e 64 20 66 61 72 20 6c 61 72 67 65 72 20
73 75 62 6a 65 63 74 78 41 6f 6e 2d 64 69 73 6b 20 73 74 6f 72 61 67 65
2c 20 74 68 65 20 77 72 69 74 65 2d 61 68 65 61 64 20 6c 6f 67 2c 20 61
6e 64 20 6d 75 6c 74 69 76 65 72 73 69 6f 6e 20 76 69 73 69 62 69 6c 69
74 79 78 39 74 68 65 20 70 6c 61 6e 6e 65 72 2c 20 74 68 65 20 65 78 65
63 75 74 6f 72 2c 20 61 6e 64 20 61 6e 79 74 68 69 6e 67 20 61 62 6f 75
74 20 70 65 72 66 6f 72 6d 61 6e 63 65 78 22 70 72 6f 74 6f 63 6f 6c 20
32 2c 20 77 68 69 63 68 20 69 73 20 6c 6f 6e 67 20 6f 62 73 6f 6c 65 74
65 69 64 65 73 63 72 69 62 65 64 78 d7 43 4f 50 59 2c 20 74 68 65 20 66
75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 61 6e 64 20 63 61 6e 63 65 6c 20
70 61 74 68 73 2c 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2c 20 62 69 6e
61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c
74 20 66 6f 72 6d 61 74 73 20 62 65 79 6f 6e 64 20 74 68 65 20 66 61 63
74 20 6f 66 20 74 68 65 6d 2c 20 72 65 70 6c 69 63 61 74 69 6f 6e 2c 20
61 6e 64 20 54 4c 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e
65 67 6f 74 69 61 74 69 6f 6e 2e 20 4e 61 6d 65 64 20 73 6f 20 79 6f 75
20 6b 6e 6f 77 20 74 68 65 79 20 65 78 69 73 74 20 61 6e 64 20 77 68 65
72 65 20 74 68 65 79 20 73 69 74 2e 71 77 68 61 74 2d 74 68 69 73 2d 65
6e 61 62 6c 65 73 79 01 02 41 20 64 72 69 76 65 72 2c 20 61 20 70 6f 6f
6c 65 72 2c 20 61 20 70 72 6f 78 79 2c 20 6f 72 20 61 20 73 65 72 76 65
72 20 74 68 61 74 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 70 65 6f 70 6c 65 27 73 20 50 6f 73
74 67 72 65 53 51 4c 20 63 6c 69 65 6e 74 73 20 63 61 6e 20 74 61 6c 6b
20 74 6f 2e 20 54 68 61 74 20 6c 61 73 74 20 6f 6e 65 0a 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 6f 77
20 73 65 76 65 72 61 6c 20 64 61 74 61 62 61 73 65 73 20 77 69 74 68 20
6e 6f 20 50 6f 73 74 67 72 65 53 51 4c 20 63 6f 64 65 20 69 6e 73 69 64
65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 74 68 65 6d 20 61 72 65 20 75 73 61 62 6c 65 20 66 72 6f 6d 20 70 73
71 6c 2e 65 74 69 74 6c 65 78 35 54 68 65 20 50 6f 73 74 67 72 65 53 51
4c 20 66 72 6f 6e 74 65 6e 64 2f 62 61 63 6b 65 6e 64 20 70 72 6f 74 6f
63 6f 6c 2c 20 76 65 72 73 69 6f 6e 20 33 2e 30 66 65 72 72 6f 72 73 a4
65 73 68 61 70 65 78 a1 45 2c 20 74 68 65 6e 20 61 20 73 65 71 75 65 6e
63 65 20 6f 66 20 66 69 65 6c 64 73 2c 20 65 61 63 68 20 61 20 73 69 6e
67 6c 65 20 74 79 70 65 20 62 79 74 65 20 66 6f 6c 6c 6f 77 65 64 20 62
79 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 2d 74 65 72 6d 69
6e 61 74 65 64 20 73 74 72 69 6e 67 2c 20 65 6e 64 65 64 20 62 79 20 61
20 7a 65 72 6f 20 62 79 74 65 20 77 68 65 72 65 20 61 20 74 79 70 65 20
62 79 74 65 20 77 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 62 65
2e 66 66 69 65 6c 64 73 88 a2 64 62 79 74 65 61 53 65 66 69 65 6c 64 73
73 65 76 65 72 69 74 79 2c 20 6c 6f 63 61 6c 69 73 65 64 a2 64 62 79 74
65 61 56 65 66 69 65 6c 64 78 2d 73 65 76 65 72 69 74 79 2c 20 6e 65 76
65 72 20 6c 6f 63 61 6c 69 73 65 64 20 e2 80 94 20 70 72 65 66 65 72 20
74 68 69 73 20 6f 6e 65 a2 64 62 79 74 65 61 43 65 66 69 65 6c 64 78 19
53 51 4c 53 54 41 54 45 2c 20 66 69 76 65 20 63 68 61 72 61 63 74 65 72
73 a2 64 62 79 74 65 61 4d 65 66 69 65 6c 64 73 74 68 65 20 70 72 69 6d
61 72 79 20 6d 65 73 73 61 67 65 a2 64 62 79 74 65 61 44 65 66 69 65 6c
64 66 64 65 74 61 69 6c a2 64 62 79 74 65 61 48 65 66 69 65 6c 64 66 61
20 68 69 6e 74 a2 64 62 79 74 65 61 50 65 66 69 65 6c 64 78 35 61 20 70
6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 71 75 65 72 79 2c 20 63 6f
75 6e 74 65 64 20 69 6e 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d
20 31 a2 64 62 79 74 65 61 46 65 66 69 65 6c 64 78 31 74 68 65 20 73 65
72 76 65 72 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 61 6e 64 20 6f 74
68 65 72 20 69 6e 74 65 72 6e 61 6c 20 66 69 65 6c 64 73 78 18 6e 6f 74
69 63 65 2d 69 73 2d 74 68 65 2d 73 61 6d 65 2d 73 68 61 70 65 78 b5 4e
6f 74 69 63 65 52 65 73 70 6f 6e 73 65 20 75 73 65 73 20 74 79 70 65 20
62 79 74 65 20 4e 20 61 6e 64 20 74 68 65 20 69 64 65 6e 74 69 63 61 6c
0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 66 69 65 6c 64 20 73 74 72 75 63 74 75 72 65 2c 20
61 6e 64 20 6d 61 79 20 61 72 72 69 76 65 20 61 74 20 61 6e 79 20 74 69
6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 6f 75 74 73
69 64 65 20 61 20 71 75 65 72 79 2e 78 1d 72 65 61 64 2d 74 68 65 2d 63
6f 64 65 2d 6e 6f 74 2d 74 68 65 2d 6d 65 73 73 61 67 65 78 fa 53 51 4c
53 54 41 54 45 20 69 73 20 73 74 61 62 6c 65 20 61 6e 64 20 6d 61 63 68
69 6e 65 2d 72 65 61 64 61 62 6c 65 3b 20 74 68 65 0a 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 6d 65 73 73 61 67 65 20 69 73 20 70 72 6f 73 65 20 61 6e
64 20 6d 61 79 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 2e 20 41 0a 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 20 62 72 61 6e 63 68 69
6e 67 20 6f 6e 20 6d 65 73 73 61 67 65 20 74 65 78 74 20 62 72 65 61 6b
73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 20
6c 6f 63 61 6c 65 2e 66 73 74 61 74 75 73 da 00 01 11 d4 6b 70 72 6f 76
69 73 69 6f 6e 61 6c 67 66 72 61 6d 69 6e 67 a4 64 72 75 6c 65 78 c7 4f
6e 65 20 62 79 74 65 20 6e 61 6d 69 6e 67 20 74 68 65 20 6d 65 73 73 61
67 65 20 74 79 70 65 2c 20 74 68 65 6e 20 61 20 33 32 2d 62 69 74 20 62
69 67 2d 65 6e 64 69 61 6e 20 6c 65 6e 67 74 68 2c 0a 20 20 20 20 20 20
20 20 20 20 74 68 65 6e 20 74 68 65 20 62 6f 64 79 2e 20 54 68 65 20 6c
65 6e 67 74 68 20 63 6f 75 6e 74 73 20 69 74 73 65 6c 66 20 61 6e 64 20
65 78 63 6c 75 64 65 73 20 74 68 65 20 74 79 70 65 20 62 79 74 65 2c 0a
20 20 20 20 20 20 20 20 20 20 73 6f 20 61 20 6d 65 73 73 61 67 65 20 77
69 74 68 20 61 6e 20 65 6d 70 74 79 20 62 6f 64 79 20 61 6e 6e 6f 75 6e
63 65 73 20 34 2e 6d 74 68 65 2d 65 78 63 65 70 74 69 6f 6e 79 01 b3 54
68 65 20 73 74 61 72 74 75 70 20 6d 65 73 73 61 67 65 20 61 6e 64 20 69
74 73 20 72 65 6c 61 74 69 76 65 73 20 68 61 76 65 20 6e 6f 20 74 79 70
65 20 62 79 74 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 74 68 65 20 66 69 72 73 74 20 66 6f 75 72 20 62 79 74 65 73 20
6f 6e 20 61 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 72 65 20
61 20 6c 65 6e 67 74 68 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 74 68 65 20 6e 65 78 74 20 66 6f 75 72 20 61
72 65 20 65 69 74 68 65 72 20 61 20 70 72 6f 74 6f 63 6f 6c 20 76 65 72
73 69 6f 6e 20 6f 72 20 61 20 72 65 71 75 65 73 74 0a 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 64 65 2e 20 54 68 65 20 74
79 70 65 20 62 79 74 65 20 62 65 67 69 6e 73 20 77 69 74 68 20 74 68 65
20 73 65 63 6f 6e 64 20 6d 65 73 73 61 67 65 2e 20 41 6e 0a 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74
61 74 69 6f 6e 20 74 68 61 74 20 61 73 73 75 6d 65 73 20 61 20 74 79 70
65 20 62 79 74 65 20 66 72 6f 6d 20 74 68 65 20 66 69 72 73 74 20 62 79
74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66
20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 61 69 6c 73 20 69 6d
6d 65 64 69 61 74 65 6c 79 20 61 6e 64 20 63 6f 6e 66 75 73 69 6e 67 6c
79 2e 78 18 65 76 65 72 79 74 68 69 6e 67 2d 69 73 2d 62 69 67 2d 65 6e
64 69 61 6e 78 71 49 6e 74 65 67 65 72 73 20 6f 6e 20 74 68 65 20 77 69
72 65 20 61 72 65 20 6e 65 74 77 6f 72 6b 20 6f 72 64 65 72 0a 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 74 68 72 6f 75 67 68 6f 75 74 2c 20 69 6e 63 6c 75 64 69 6e 67
20 69 6e 73 69 64 65 20 6d 65 73 73 61 67 65 20 62 6f 64 69 65 73 2e 78
1a 73 74 72 69 6e 67 73 2d 61 72 65 2d 6e 75 6c 2d 74 65 72 6d 69 6e 61
74 65 64 78 73 4e 6f 74 20 6c 65 6e 67 74 68 2d 70 72 65 66 69 78 65 64
2e 20 41 20 62 6f 64 79 20 6d 61 79 20 68 6f 6c 64 20 73 65 76 65 72 61
6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 69 72 20 6c 65 6e
67 74 68 73 20 63 6f 6d 65 20 66 72 6f 6d 20 73 63 61 6e 6e 69 6e 67 2e
67 68 61 7a 61 72 64 73 88 a2 66 68 61 7a 61 72 64 78 2a 65 78 70 65 63
74 69 6e 67 20 61 20 74 79 70 65 20 62 79 74 65 20 6f 6e 20 74 68 65 20
66 69 72 73 74 20 6d 65 73 73 61 67 65 6b 63 6f 6e 73 65 71 75 65 6e 63
65 78 3c 73 74 61 72 74 75 70 20 69 73 20 75 6e 72 65 61 64 61 62 6c 65
3b 20 74 68 65 20 66 61 69 6c 75 72 65 20 69 73 20 69 6d 6d 65 64 69 61
74 65 20 61 6e 64 20 70 75 7a 7a 6c 69 6e 67 a2 66 68 61 7a 61 72 64 78
27 74 72 65 61 74 69 6e 67 20 74 68 65 20 6c 65 6e 67 74 68 20 61 73 20
65 78 63 6c 75 64 69 6e 67 20 69 74 73 65 6c 66 6b 63 6f 6e 73 65 71 75
65 6e 63 65 78 43 65 76 65 72 79 20 6d 65 73 73 61 67 65 20 62 6f 75 6e
64 61 72 79 20 69 73 20 6f 66 66 20 62 79 20 66 6f 75 72 20 61 6e 64 20
74 68 65 20 73 74 72 65 61 6d 20 64 65 73 79 6e 63 68 72 6f 6e 69 73 65
73 a2 66 68 61 7a 61 72 64 78 34 62 75 69 6c 64 69 6e 67 20 74 68 65 20
53 43 52 41 4d 20 41 75 74 68 4d 65 73 73 61 67 65 20 66 72 6f 6d 20 74
68 65 20 66 75 6c 6c 20 73 74 72 69 6e 67 73 6b 63 6f 6e 73 65 71 75 65
6e 63 65 78 40 74 68 65 20 70 72 6f 6f 66 20 69 73 20 72 65 6a 65 63 74
65 64 20 77 69 74 68 20 6e 6f 20 69 6e 64 69 63 61 74 69 6f 6e 20 6f 66
20 77 68 69 63 68 20 70 61 72 74 20 77 61 73 20 77 72 6f 6e 67 a2 66 68
61 7a 61 72 64 78 29 6e 6f 74 20 65 78 70 65 63 74 69 6e 67 20 50 61 72
61 6d 65 74 65 72 53 74 61 74 75 73 20 6d 69 64 2d 73 65 73 73 69 6f 6e
6b 63 6f 6e 73 65 71 75 65 6e 63 65 78 39 61 20 73 65 74 74 69 6e 67 20
63 68 61 6e 67 65 20 64 65 73 79 6e 63 68 72 6f 6e 69 73 65 73 20 61 20
77 6f 72 6b 69 6e 67 20 63 6c 69 65 6e 74 20 68 6f 75 72 73 20 69 6e a2
66 68 61 7a 61 72 64 78 29 72 65 61 64 69 6e 67 20 61 20 63 6f 6c 75 6d
6e 20 6c 65 6e 67 74 68 20 6f 66 20 2d 31 20 61 73 20 61 20 6c 65 6e 67
74 68 6b 63 6f 6e 73 65 71 75 65 6e 63 65 78 24 4e 55 4c 4c 20 62 65 63
6f 6d 65 73 20 61 20 68 75 67 65 20 72 65 61 64 2c 20 6f 72 20 61 20 63
72 61 73 68 a2 66 68 61 7a 61 72 64 78 25 6f 6d 69 74 74 69 6e 67 20 53
79 6e 63 20 61 66 74 65 72 20 61 20 70 69 70 65 6c 69 6e 65 64 20 62 61
74 63 68 6b 63 6f 6e 73 65 71 75 65 6e 63 65 78 39 74 68 65 20 63 6c 69
65 6e 74 20 77 61 69 74 73 20 66 6f 72 20 61 20 52 65 61 64 79 46 6f 72
51 75 65 72 79 20 74 68 61 74 20 77 69 6c 6c 20 6e 65 76 65 72 20 63 6f
6d 65 a2 66 68 61 7a 61 72 64 78 1f 62 72 61 6e 63 68 69 6e 67 20 6f 6e
20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 65 78 74 6b 63 6f 6e 73
65 71 75 65 6e 63 65 78 30 63 6f 72 72 65 63 74 20 75 6e 74 69 6c 20 74
68 65 20 73 65 72 76 65 72 20 73 70 65 61 6b 73 20 61 6e 6f 74 68 65 72
20 6c 61 6e 67 75 61 67 65 a2 66 68 61 7a 61 72 64 78 24 69 67 6e 6f 72
69 6e 67 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 73 74 61 74
75 73 20 62 79 74 65 6b 63 6f 6e 73 65 71 75 65 6e 63 65 78 2a 72 65 74
72 79 69 6e 67 20 69 6e 73 69 64 65 20 61 20 66 61 69 6c 65 64 20 74 72
61 6e 73 61 63 74 69 6f 6e 20 6c 6f 6f 70 73 67 70 72 65 6d 69 73 65 79
01 68 41 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61 20 73 74 72 65
61 6d 20 6f 66 20 74 79 70 65 64 2c 20 6c 65 6e 67 74 68 2d 70 72 65 66
69 78 65 64 20 6d 65 73 73 61 67 65 73 20 69 6e 20 62 6f 74 68 0a 20 20
20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 69 6f 6e 73 2c 20 70 75 6e
63 74 75 61 74 65 64 20 62 79 20 74 68 65 20 73 65 72 76 65 72 20 61 6e
6e 6f 75 6e 63 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 20 72 65 61 64
79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 45 76 65 72 79 74 68 69 6e 67
20 65 6c 73 65 20 e2 80 94 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e
2c 20 71 75 65 72 69 65 73 2c 20 72 65 73 75 6c 74 73 2c 20 65 72 72 6f
72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 61 63 74 69
6f 6e 73 20 e2 80 94 20 69 73 20 61 20 70 61 74 74 65 72 6e 20 6f 66 20
74 68 6f 73 65 20 6d 65 73 73 61 67 65 73 2e 20 47 65 74 20 74 68 65 20
65 6e 76 65 6c 6f 70 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20
74 68 65 20 72 65 61 64 79 20 73 69 67 6e 61 6c 20 72 69 67 68 74 20 61
6e 64 20 74 68 65 20 72 65 73 74 20 69 73 20 76 6f 63 61 62 75 6c 61 72
79 2e 67 73 74 61 72 74 75 70 a4 67 6d 65 73 73 61 67 65 78 cb 41 20 6c
65 6e 67 74 68 2c 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 20 76 65 72 73
69 6f 6e 20 61 73 20 31 39 36 36 30 38 20 e2 80 94 20 77 68 69 63 68 20
69 73 20 33 20 69 6e 20 74 68 65 20 68 69 67 68 0a 20 20 20 20 20 20 20
20 20 20 20 20 20 73 69 78 74 65 65 6e 20 62 69 74 73 20 61 6e 64 20 30
20 69 6e 20 74 68 65 20 6c 6f 77 20 e2 80 94 20 74 68 65 6e 20 6b 65 79
20 61 6e 64 20 76 61 6c 75 65 20 70 61 69 72 73 20 61 73 0a 20 20 20 20
20 20 20 20 20 20 20 20 20 4e 55 4c 2d 74 65 72 6d 69 6e 61 74 65 64 20
73 74 72 69 6e 67 73 2c 20 74 68 65 6e 20 61 20 66 69 6e 61 6c 20 7a 65
72 6f 20 62 79 74 65 2e 6f 77 68 61 74 2d 63 6f 6d 65 73 2d 62 61 63 6b
84 a3 67 63 61 72 72 69 65 73 78 3e 61 20 33 32 2d 62 69 74 20 63 6f 64
65 20 73 61 79 69 6e 67 20 77 68 61 74 20 69 73 20 72 65 71 75 69 72 65
64 3b 20 30 20 6d 65 61 6e 73 20 6e 6f 74 68 69 6e 67 20 66 75 72 74 68
65 72 67 6d 65 73 73 61 67 65 da 00 01 11 d4 6e 41 75 74 68 65 6e 74 69
63 61 74 69 6f 6e 69 74 79 70 65 2d 62 79 74 65 61 52 a3 67 63 61 72 72
69 65 73 78 2d 61 20 73 65 72 76 65 72 20 73 65 74 74 69 6e 67 2c 20 61
73 20 74 77 6f 20 73 74 72 69 6e 67 73 3b 20 6d 61 6e 79 20 61 72 72 69
76 65 67 6d 65 73 73 61 67 65 da 00 01 11 d4 6f 50 61 72 61 6d 65 74 65
72 53 74 61 74 75 73 69 74 79 70 65 2d 62 79 74 65 61 53 a3 67 63 61 72
72 69 65 73 78 3e 61 20 70 72 6f 63 65 73 73 20 69 64 20 61 6e 64 20 61
20 73 65 63 72 65 74 2c 20 65 69 67 68 74 20 62 79 74 65 73 2c 20 66 6f
72 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 6c 61 74 65 72 67 6d 65 73
73 61 67 65 da 00 01 11 d4 6e 42 61 63 6b 65 6e 64 4b 65 79 44 61 74 61
69 74 79 70 65 2d 62 79 74 65 61 4b a3 67 63 61 72 72 69 65 73 78 35 6f
6e 65 20 62 79 74 65 20 6f 66 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 73
74 61 74 75 73 3b 20 74 68 65 20 68 61 6e 64 73 68 61 6b 65 20 69 73 20
6f 76 65 72 67 6d 65 73 73 61 67 65 da 00 01 11 d4 6d 52 65 61 64 79 46
6f 72 51 75 65 72 79 69 74 79 70 65 2d 62 79 74 65 61 5a 72 72 65 71 75
69 72 65 64 2d 70 61 72 61 6d 65 74 65 72 78 6e 75 73 65 72 2e 20 45 76
65 72 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 64 61 74 61 62 61 73 65 20
69 6e 63 6c 75 64 65 64 2c 20 69 73 20 6f 70 74 69 6f 6e 61 6c 0a 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e
64 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 75 73 65 72 27 73
20 6e 61 6d 65 2e 78 20 70 61 72 61 6d 65 74 65 72 2d 73 74 61 74 75 73
2d 69 73 2d 6e 6f 74 2d 6f 70 74 69 6f 6e 61 6c 79 01 a0 54 68 65 20 73
65 72 76 65 72 20 73 65 6e 64 73 20 61 20 64 6f 7a 65 6e 20 6f 72 20 6d
6f 72 65 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 75 6e 70 72 6f 6d 70 74 65 64 2c 20 61 6e 64 20 73 65 6e 64 73
20 6d 6f 72 65 20 6c 61 74 65 72 20 69 66 20 61 0a 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 73 65 74 74 69 6e 67 20 63 68 61 6e 67 65 73 20 6d
69 64 2d 73 65 73 73 69 6f 6e 2e 20 41 20 63 6c 69 65 6e 74 0a 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74
20 65 78 70 65 63 74 20 74 68 65 6d 20 61 74 20 61 72 62 69 74 72 61 72
79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 73 20 77
69 6c 6c 20 64 65 73 79 6e 63 68 72 6f 6e 69 73 65 20 74 68 65 20 66 69
72 73 74 20 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f
6e 65 20 61 72 72 69 76 65 73 20 6f 75 74 73 69 64 65 20 73 74 61 72 74
75 70 2e 67 76 65 63 74 6f 72 73 a9 66 65 72 72 6f 72 73 81 a3 62 69 64
da 00 01 11 d4 65 71 2d 30 33 30 64 77 68 61 74 78 1e 53 45 4c 45 43 54
20 6e 6f 70 65 2c 20 61 6e 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6c 75 6d 6e
6c 66 69 72 73 74 2d 66 69 65 6c 64 73 78 3e 53 20 45 52 52 4f 52 2c 20
56 20 45 52 52 4f 52 2c 20 43 20 34 32 37 30 33 2c 20 4d 20 63 6f 6c 75
6d 6e 20 22 6e 6f 70 65 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74
2c 20 50 20 38 66 73 69 6d 70 6c 65 85 a3 62 69 64 da 00 01 11 d4 65 71
2d 30 31 30 64 77 68 61 74 74 51 75 65 72 79 3a 20 53 45 4c 45 43 54 20
31 20 41 53 20 6e 65 62 79 74 65 73 78 26 35 31 30 30 30 30 30 30 31 32
35 33 34 35 34 63 34 35 34 33 35 34 32 30 33 31 32 30 34 31 35 33 32 30
36 65 30 30 a3 62 69 64 da 00 01 11 d4 65 71 2d 30 31 31 64 77 68 61 74
75 52 6f 77 44 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 20 69 74 65 62
79 74 65 73 78 36 35 34 30 30 30 30 30 30 31 61 30 30 30 31 36 65 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 37 30 30 30 34
66 66 66 66 66 66 66 66 30 30 30 30 a3 62 69 64 da 00 01 11 d4 65 71 2d
30 31 32 64 77 68 61 74 78 1a 44 61 74 61 52 6f 77 20 68 6f 6c 64 69 6e
67 20 74 68 65 20 74 65 78 74 20 31 65 62 79 74 65 73 78 18 34 34 30 30
30 30 30 30 30 62 30 30 30 31 30 30 30 30 30 30 30 31 33 31 a3 62 69 64
da 00 01 11 d4 65 71 2d 30 31 33 64 77 68 61 74 78 1d 43 6f 6d 6d 61 6e
64 43 6f 6d 70 6c 65 74 65 2c 20 74 61 67 20 53 45 4c 45 43 54 20 31 65
62 79 74 65 73 78 1c 34 33 30 30 30 30 30 30 30 64 35 33 34 35 34 63 34
35 34 33 35 34 32 30 33 31 30 30 a3 62 69 64 da 00 01 11 d4 65 71 2d 30
31 34 64 77 68 61 74 73 52 65 61 64 79 46 6f 72 51 75 65 72 79 2c 20 69
64 6c 65 65 62 79 74 65 73 6c 35 61 30 30 30 30 30 30 30 35 34 39 67 73
74 61 72 74 75 70 82 a3 62 69 64 da 00 01 11 d4 65 71 2d 30 30 31 64 77
68 61 74 78 2a 53 74 61 72 74 75 70 4d 65 73 73 61 67 65 2c 20 75 73 65
72 20 61 6e 64 20 64 61 74 61 62 61 73 65 20 70 6f 73 74 67 72 65 73 65
62 79 74 65 73 78 52 30 30 30 30 30 30 32 39 30 30 30 33 30 30 30 30 37
35 37 33 36 35 37 32 30 30 37 30 36 66 37 33 37 34 36 37 37 32 36 35 37
33 30 30 36 34 36 31 37 34 36 31 36 32 36 31 37 33 36 35 30 30 37 30 36
66 37 33 37 34 36 37 37 32 36 35 37 33 30 30 30 30 a3 62 69 64 da 00 01
11 d4 65 71 2d 30 30 32 64 77 68 61 74 78 2a 41 75 74 68 65 6e 74 69 63
61 74 69 6f 6e 53 41 53 4c 2c 20 6f 66 66 65 72 69 6e 67 20 53 43 52 41
4d 2d 53 48 41 2d 32 35 36 65 62 79 74 65 73 78 30 35 32 30 30 30 30 30
30 31 37 30 30 30 30 30 30 30 61 35 33 34 33 35 32 34 31 34 64 32 64 35
33 34 38 34 31 32 64 33 32 33 35 33 36 30 30 30 30 68 65 78 74 65 6e 64
65 64 83 a3 62 69 64 da 00 01 11 d4 65 71 2d 30 32 30 64 77 68 61 74 78
2d 50 61 72 73 65 3a 20 53 45 4c 45 43 54 20 24 31 3a 3a 69 6e 74 20 2b
20 31 20 41 53 20 72 2c 20 6e 6f 20 74 79 70 65 20 68 69 6e 74 73 65 62
79 74 65 73 78 40 35 30 30 30 30 30 30 30 31 66 30 30 35 33 34 35 34 63
34 35 34 33 35 34 32 30 32 34 33 31 33 61 33 61 36 39 36 65 37 34 32 30
32 62 32 30 33 31 32 30 34 31 35 33 32 30 37 32 30 30 30 30 30 30 a3 62
69 64 da 00 01 11 d4 65 71 2d 30 32 31 64 77 68 61 74 78 29 42 69 6e 64
3a 20 6f 6e 65 20 74 65 78 74 20 70 61 72 61 6d 65 74 65 72 2c 20 74 68
65 20 63 68 61 72 61 63 74 65 72 20 37 65 62 79 74 65 73 78 24 34 32 30
30 30 30 30 30 31 31 30 30 30 30 30 30 30 30 30 30 30 31 30 30 30 30 30
30 30 31 33 37 30 30 30 30 a3 62 69 64 da 00 01 11 d4 65 71 2d 30 32 32
64 77 68 61 74 78 1a 74 68 65 20 44 61 74 61 52 6f 77 20 74 68 61 74 20
63 61 6d 65 20 62 61 63 6b 65 62 79 74 65 73 78 18 34 34 30 30 30 30 30
30 30 62 30 30 30 31 30 30 30 30 30 30 30 31 33 38 6a 65 72 72 6f 72 2d
6e 6f 74 65 78 7b 53 51 4c 53 54 41 54 45 20 34 32 37 30 33 20 69 73 20
75 6e 64 65 66 69 6e 65 64 5f 63 6f 6c 75 6d 6e 2e 20 50 6f 73 69 74 69
6f 6e 20 38 20 63 6f 75 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 31 2c 20 73
6f 20 69 74 20 70 6f 69 6e 74 73 20 61 74 20 74 68 65 20 73 74 61 72 74
20 6f 66 20 6e 6f 70 65 2e 6b 74 72 61 6e 73 61 63 74 69 6f 6e 83 a3 62
69 64 da 00 01 11 d4 65 71 2d 30 34 30 65 61 66 74 65 72 65 42 45 47 49
4e 6b 73 74 61 74 75 73 2d 62 79 74 65 61 54 a3 62 69 64 da 00 01 11 d4
65 71 2d 30 34 31 65 61 66 74 65 72 78 20 61 6e 20 65 72 72 6f 72 20 69
6e 73 69 64 65 20 74 68 61 74 20 74 72 61 6e 73 61 63 74 69 6f 6e 6b 73
74 61 74 75 73 2d 62 79 74 65 61 45 a3 62 69 64 da 00 01 11 d4 65 71 2d
30 34 32 65 61 66 74 65 72 68 52 4f 4c 4c 42 41 43 4b 6b 73 74 61 74 75
73 2d 62 79 74 65 61 49 6c 62 69 6e 64 2d 64 65 63 6f 64 65 64 79 01 67
45 6d 70 74 79 20 70 6f 72 74 61 6c 20 6e 61 6d 65 2c 20 65 6d 70 74 79
20 73 74 61 74 65 6d 65 6e 74 20 6e 61 6d 65 2c 20 7a 65 72 6f 20 70 61
72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 66 6f 72 6d 61 74 20 63 6f 64 65 73 20 e2 80 94 20 73 6f 20 61 6c
6c 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 74 65 78 74 20 e2 80
94 20 6f 6e 65 20 70 61 72 61 6d 65 74 65 72 2c 20 6f 66 0a 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 31 2c 20
74 68 65 20 62 79 74 65 20 37 2c 20 74 68 65 6e 20 7a 65 72 6f 20 72 65
73 75 6c 74 20 66 6f 72 6d 61 74 20 63 6f 64 65 73 2e 20 54 68 65 20 72
6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 61
74 20 63 61 6d 65 20 62 61 63 6b 20 68 6f 6c 64 73 20 74 68 65 20 63 68
61 72 61 63 74 65 72 20 38 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20
73 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 68 61 76 69 6e 67 20 63 6f 6d 70 75 74 65 64 20 37 20 2b 20 31 20 61
6e 64 20 72 65 6e 64 65 72 65 64 20 69 74 20 61 73 20 74 65 78 74 2e 6c
73 74 61 72 74 75 70 2d 6e 6f 74 65 79 01 8b 71 2d 30 30 31 20 69 73 20
34 31 20 62 79 74 65 73 3a 20 61 20 6c 65 6e 67 74 68 20 6f 66 20 30 78
32 39 2c 20 74 68 65 20 76 65 72 73 69 6f 6e 20 30 78 30 30 30 33 30 30
30 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68
65 6e 20 74 68 65 20 70 61 69 72 73 20 61 6e 64 20 61 20 74 65 72 6d 69
6e 61 74 69 6e 67 20 7a 65 72 6f 2e 20 54 68 65 72 65 20 69 73 20 6e 6f
20 74 79 70 65 20 62 79 74 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 74 68 65 20 65 78 63 65 70
74 69 6f 6e 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 20 49 6e
20 71 2d 30 30 32 20 74 68 65 20 74 79 70 65 0a 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 62 79 74 65 20 52 20 69 73 20 70 72 65 73
65 6e 74 2c 20 74 68 65 20 6c 65 6e 67 74 68 20 69 73 20 32 33 2c 20 74
68 65 20 63 6f 64 65 20 69 73 20 31 30 2c 20 61 6e 64 20 74 68 65 0a 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 63 68 61 6e 69
73 6d 20 6c 69 73 74 20 69 73 20 4e 55 4c 2d 74 65 72 6d 69 6e 61 74 65
64 20 73 74 72 69 6e 67 73 20 65 6e 64 65 64 20 62 79 20 61 6e 20 65 6d
70 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e
65 2e 77 72 6f 77 2d 64 65 73 63 72 69 70 74 69 6f 6e 2d 64 65 63 6f 64
65 64 79 01 82 4f 6e 65 20 66 69 65 6c 64 2e 20 4e 61 6d 65 20 6e 2e 20
54 61 62 6c 65 20 6f 69 64 20 30 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 30
2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 61 20 63
6f 6d 70 75 74 65 64 20 63 6f 6c 75 6d 6e 2e 20 54 79 70 65 20 6f 69 64
20 32 33 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 69 6e 74 34 2e
20 54 79 70 65 20 6c 65 6e 67 74 68 20 34 2e 20 54 79 70 65 20 6d 6f 64
69 66 69 65 72 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 6d 61 74 20 63 6f
64 65 20 30 2c 20 6d 65 61 6e 69 6e 67 20 74 65 78 74 20 e2 80 94 20 73
6f 20 74 68 65 20 76 61 6c 75 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 2d 30 31
32 20 69 73 20 74 68 65 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65
72 20 31 2c 20 6e 6f 74 20 61 20 62 69 6e 61 72 79 0a 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69
6e 74 65 67 65 72 2e 6a 70 72 6f 76 65 6e 61 6e 63 65 a5 66 6d 65 74 68
6f 64 79 01 51 41 20 50 79 74 68 6f 6e 20 63 6c 69 65 6e 74 20 77 72 69
74 74 65 6e 20 66 6f 72 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 2c 20
75 73 69 6e 67 20 72 61 77 20 73 6f 63 6b 65 74 73 20 61 6e 64 20 6e 6f
0a 20 20 20 20 20 20 20 20 20 20 20 20 64 72 69 76 65 72 2e 20 49 74 20
70 65 72 66 6f 72 6d 65 64 20 74 68 65 20 73 74 61 72 74 75 70 2c 20 61
20 66 75 6c 6c 20 53 43 52 41 4d 2d 53 48 41 2d 32 35 36 0a 20 20 20 20
20 20 20 20 20 20 20 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 69
6e 63 6c 75 64 69 6e 67 20 74 68 65 20 50 42 4b 44 46 32 20 61 6e 64 20
48 4d 41 43 20 64 65 72 69 76 61 74 69 6f 6e 2c 20 61 20 73 69 6d 70 6c
65 0a 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 79 2c 20 61 20 64
65 6c 69 62 65 72 61 74 65 20 65 72 72 6f 72 2c 20 61 6e 64 20 61 6e 20
65 78 74 65 6e 64 65 64 20 71 75 65 72 79 20 63 79 63 6c 65 2e 20 54 68
65 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 74
68 65 20 76 65 63 74 6f 72 73 20 61 72 65 20 77 68 61 74 20 63 61 6d 65
20 62 61 63 6b 2e 67 76 65 72 73 69 6f 6e 78 ba 4f 6e 65 20 73 65 72 76
65 72 2c 20 6f 6e 65 20 76 65 72 73 69 6f 6e 2c 20 6f 6e 65 20 70 6c 61
74 66 6f 72 6d 2e 20 50 72 6f 74 6f 63 6f 6c 20 33 2e 30 20 68 61 73 20
62 65 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 62 6c 65
20 66 6f 72 20 61 20 6c 6f 6e 67 20 74 69 6d 65 2c 20 62 75 74 20 61 20
63 6c 61 69 6d 20 66 72 6f 6d 20 61 20 73 69 6e 67 6c 65 20 6f 62 73 65
72 76 61 74 69 6f 6e 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 20 20
20 20 63 6c 61 69 6d 20 66 72 6f 6d 20 61 20 73 69 6e 67 6c 65 20 6f 62
73 65 72 76 61 74 69 6f 6e 2e 6b 77 68 79 2d 62 79 2d 68 61 6e 64 79 01
16 41 20 64 72 69 76 65 72 20 77 6f 75 6c 64 20 68 61 76 65 20 68 69 64
64 65 6e 20 65 78 61 63 74 6c 79 20 74 68 65 20 74 68 69 6e 67 73 20 77
6f 72 74 68 20 70 69 6e 6e 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 65 20
68 61 6e 64 73 68 61 6b 65 20 77 61 73 20 74 68 65 20 63 68 65 63 6b 3a
20 61 6e 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 0a 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 63 6f 6d 70 6c 65 74
65 73 20 69 73 20 65 76 69 64 65 6e 63 65 20 74 68 65 20 64 65 72 69 76
61 74 69 6f 6e 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 20 69 73
0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 69 67 68 74 2c
20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 72 65 61 64 69 6e 67 20 61
62 6f 75 74 20 69 74 20 69 73 20 6e 6f 74 2e 72 6e 6f 74 2d 61 2d 72 65
70 72 6f 64 75 63 74 69 6f 6e 78 fa 46 6f 72 6d 61 74 73 20 61 6e 64 20
62 65 68 61 76 69 6f 75 72 2c 20 73 6f 20 74 68 61 74 20 61 6e 20 69 6e
64 65 70 65 6e 64 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e
20 69 73 20 70 6f 73 73 69 62 6c 65 20 e2 80 94 20 77 68 69 63 68 20 69
73 20 77 68 61 74 20 74 68 65 20 6d 61 6e 79 0a 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 73 74 69 6e 67
20 69 6e 64 65 70 65 6e 64 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74
69 6f 6e 73 20 6f 66 20 74 68 69 73 20 70 72 6f 74 6f 63 6f 6c 0a 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65
6d 6f 6e 73 74 72 61 74 65 20 69 73 20 69 6e 74 65 6e 64 65 64 2e 76 64
65 73 63 72 69 62 65 64 2d 6e 6f 74 2d 63 61 70 74 75 72 65 64 79 01 09
43 4f 50 59 2c 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 2c 20 6e 6f 74 69
66 69 63 61 74 69 6f 6e 2c 20 62 69 6e 61 72 79 20 66 6f 72 6d 61 74 73
2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 72 65 70 6c 69 63 61 74 69 6f 6e 20 61 6e 64 20 54 4c
53 20 6e 65 67 6f 74 69 61 74 69 6f 6e 20 61 72 65 20 6e 61 6d 65 64 20
69 6e 20 73 63 6f 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 6e 6f 74 20 70 69 6e
6e 65 64 2e 20 54 72 65 61 74 20 74 68 65 6d 20 61 73 20 61 20 6d 61 70
20 6f 66 20 77 68 61 74 20 69 73 20 6c 65 66 74 0a 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 74
68 65 72 20 74 68 61 6e 20 61 73 20 69 6e 73 74 72 75 63 74 69 6f 6e 73
2e 6c 73 69 6d 70 6c 65 2d 71 75 65 72 79 a5 67 72 65 71 75 65 73 74 78
a5 51 2c 20 74 68 65 6e 20 74 68 65 20 53 51 4c 20 61 73 20 6f 6e 65 20
4e 55 4c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 2e 20 49
74 20 6d 61 79 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 20 20 20 20 20 20
20 20 20 73 65 76 65 72 61 6c 20 73 74 61 74 65 6d 65 6e 74 73 20 73 65
70 61 72 61 74 65 64 20 62 79 20 73 65 6d 69 63 6f 6c 6f 6e 73 2c 20 61
6e 64 20 65 61 63 68 20 70 72 6f 64 75 63 65 73 20 69 74 73 0a 20 20 20
20 20 20 20 20 20 20 20 20 20 6f 77 6e 20 72 65 73 75 6c 74 73 2e 68 72
65 73 70 6f 6e 73 65 84 a3 67 63 61 72 72 69 65 73 78 36 74 68 65 20 73
68 61 70 65 20 6f 66 20 77 68 61 74 20 66 6f 6c 6c 6f 77 73 3a 20 66 69
65 6c 64 20 63 6f 75 6e 74 2c 20 74 68 65 6e 20 70 65 72 20 66 69 65 6c
64 67 6d 65 73 73 61 67 65 da 00 01 11 d4 6e 52 6f 77 44 65 73 63 72 69
70 74 69 6f 6e 69 74 79 70 65 2d 62 79 74 65 61 54 a3 67 63 61 72 72 69
65 73 78 39 6f 6e 65 20 72 6f 77 3a 20 63 6f 6c 75 6d 6e 20 63 6f 75 6e
74 2c 20 74 68 65 6e 20 70 65 72 20 63 6f 6c 75 6d 6e 20 61 20 6c 65 6e
67 74 68 20 61 6e 64 20 62 79 74 65 73 67 6d 65 73 73 61 67 65 da 00 01
11 d4 67 44 61 74 61 52 6f 77 69 74 79 70 65 2d 62 79 74 65 61 44 a3 67
63 61 72 72 69 65 73 78 24 61 20 74 61 67 20 73 75 63 68 20 61 73 20 53
45 4c 45 43 54 20 31 20 6f 72 20 49 4e 53 45 52 54 20 30 20 31 67 6d 65
73 73 61 67 65 da 00 01 11 d4 6f 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65
74 65 69 74 79 70 65 2d 62 79 74 65 61 43 a3 67 63 61 72 72 69 65 73 78
25 74 72 61 6e 73 61 63 74 69 6f 6e 20 73 74 61 74 75 73 3b 20 74 68 65
20 63 79 63 6c 65 20 69 73 20 6f 76 65 72 67 6d 65 73 73 61 67 65 da 00
01 11 d4 6d 52 65 61 64 79 46 6f 72 51 75 65 72 79 69 74 79 70 65 2d 62
79 74 65 61 5a 73 61 2d 6e 75 6c 6c 2d 69 73 2d 6d 69 6e 75 73 2d 6f 6e
65 78 a2 41 20 63 6f 6c 75 6d 6e 20 6c 65 6e 67 74 68 20 6f 66 20 2d 31
20 6d 65 61 6e 73 20 53 51 4c 20 4e 55 4c 4c 2e 20 49 74 20 69 73 20 6e
6f 74 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 7a 65 72 6f 2c 20 77 68
69 63 68 20 69 73 20 61 6e 20 65 6d 70 74 79 20 76 61 6c 75 65 20 61 6e
64 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 74 68 69 6e 67 2e 75 72 6f
77 2d 64 65 73 63 72 69 70 74 69 6f 6e 2d 66 69 65 6c 64 79 01 18 54 68
65 20 6e 61 6d 65 2c 20 74 68 65 20 74 61 62 6c 65 27 73 20 6f 62 6a 65
63 74 20 69 64 20 61 6e 64 20 74 68 65 20 63 6f 6c 75 6d 6e 27 73 0a 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 6e 75 6d 62 65 72 20 77 69 74 68 69 6e 20 69 74 20 e2 80 94 20 62
6f 74 68 20 7a 65 72 6f 20 77 68 65 6e 20 74 68 65 20 63 6f 6c 75 6d 6e
20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 61 20 73 74 6f 72 65 64 20 63 6f 6c 75
6d 6e 20 e2 80 94 20 74 68 65 20 74 79 70 65 27 73 20 6f 62 6a 65 63 74
20 69 64 2c 20 74 68 65 20 74 79 70 65 27 73 0a 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74
68 2c 20 61 20 74 79 70 65 20 6d 6f 64 69 66 69 65 72 2c 20 61 6e 64 20
61 20 66 6f 72 6d 61 74 20 63 6f 64 65 2e 78 1d 6e 6f 2d 72 65 73 75 6c
74 73 2d 69 73 2d 6e 6f 74 2d 6e 6f 2d 6d 65 73 73 61 67 65 73 78 e9 41
20 73 74 61 74 65 6d 65 6e 74 20 72 65 74 75 72 6e 69 6e 67 20 6e 6f 74
68 69 6e 67 20 73 65 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f
6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65 20 77 69 74 68 20 6e 6f 20 52 6f
77 44 65 73 63 72 69 70 74 69 6f 6e 2e 20 41 0a 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 63 6c 69 65 6e 74 20 6b 65 79 65 64 20 6f 6e 20 52 6f 77 44 65
73 63 72 69 70 74 69 6f 6e 20 61 72 72 69 76 69 6e 67 20 77 69 6c 6c 0a
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 68 61 6e 67 2e 6e 61 75 74 68 65 6e 74
69 63 61 74 69 6f 6e a3 63 64 6f 63 78 73 54 68 65 20 73 65 72 76 65 72
20 6e 61 6d 65 73 20 61 20 6d 65 74 68 6f 64 3b 20 74 68 65 20 63 6c 69
65 6e 74 20 73 61 74 69 73 66 69 65 73 20 69 74 3b 20 74 68 65 20 73 65
72 76 65 72 20 73 65 6e 64 73 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65
20 30 2e 20 4d 6f 64 65 72 6e 20 73 65 72 76 65 72 73 20 61 73 6b 20 66
6f 72 20 53 43 52 41 4d 2e 65 63 6f 64 65 73 86 a2 64 63 6f 64 65 00 66
6d 65 74 68 6f 64 78 18 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 73
75 63 63 65 65 64 65 64 a2 64 63 6f 64 65 03 66 6d 65 74 68 6f 64 72 63
6c 65 61 72 74 65 78 74 20 70 61 73 73 77 6f 72 64 a2 64 63 6f 64 65 05
66 6d 65 74 68 6f 64 78 19 4d 44 35 20 70 61 73 73 77 6f 72 64 2c 20 77
69 74 68 20 61 20 73 61 6c 74 a2 64 63 6f 64 65 0a 66 6d 65 74 68 6f 64
78 39 53 41 53 4c 3b 20 74 68 65 20 62 6f 64 79 20 6c 69 73 74 73 20 6d
65 63 68 61 6e 69 73 6d 73 20 61 73 20 4e 55 4c 2d 74 65 72 6d 69 6e 61
74 65 64 20 73 74 72 69 6e 67 73 a2 64 63 6f 64 65 0b 66 6d 65 74 68 6f
64 6d 53 41 53 4c 20 63 6f 6e 74 69 6e 75 65 a2 64 63 6f 64 65 0c 66 6d
65 74 68 6f 64 6a 53 41 53 4c 20 66 69 6e 61 6c 65 73 63 72 61 6d a5 68
65 78 63 68 61 6e 67 65 85 a3 63 77 68 6f da 00 01 11 d4 66 73 65 72 76
65 72 64 73 74 65 70 01 65 73 65 6e 64 73 78 1e 63 6f 64 65 20 31 30 20
61 6e 64 20 74 68 65 20 6d 65 63 68 61 6e 69 73 6d 20 6c 69 73 74 a3 63
77 68 6f da 00 01 11 d4 66 63 6c 69 65 6e 74 64 73 74 65 70 02 65 73 65
6e 64 73 78 40 74 68 65 20 6d 65 63 68 61 6e 69 73 6d 20 6e 61 6d 65 2c
20 61 20 33 32 2d 62 69 74 20 6c 65 6e 67 74 68 2c 20 74 68 65 6e 20 60
6e 2c 2c 6e 3d 2c 72 3d 60 20 61 6e 64 20 61 20 6e 6f 6e 63 65 a3 63 77
68 6f da 00 01 11 d4 66 73 65 72 76 65 72 64 73 74 65 70 03 65 73 65 6e
64 73 78 4b 63 6f 64 65 20 31 31 20 61 6e 64 20 74 68 65 20 73 65 72 76
65 72 2d 66 69 72 73 74 20 6d 65 73 73 61 67 65 3a 20 63 6f 6d 62 69 6e
65 64 20 6e 6f 6e 63 65 2c 20 73 61 6c 74 2c 20 69 74 65 72 61 74 69 6f
6e 20 63 6f 75 6e 74 a3 63 77 68 6f da 00 01 11 d4 66 63 6c 69 65 6e 74
64 73 74 65 70 04 65 73 65 6e 64 73 78 2d 60 63 3d 62 69 77 73 2c 72 3d
60 20 74 68 65 20 63 6f 6d 62 69 6e 65 64 20 6e 6f 6e 63 65 2c 20 61 6e
64 20 74 68 65 20 70 72 6f 6f 66 a3 63 77 68 6f da 00 01 11 d4 66 73 65
72 76 65 72 64 73 74 65 70 05 65 73 65 6e 64 73 78 2b 63 6f 64 65 20 31
32 20 77 69 74 68 20 69 74 73 20 6f 77 6e 20 73 69 67 6e 61 74 75 72 65
2c 20 74 68 65 6e 20 63 6f 64 65 20 30 69 6d 65 63 68 61 6e 69 73 6d 6d
53 43 52 41 4d 2d 53 48 41 2d 32 35 36 6d 63 2d 65 71 75 61 6c 73 2d 62
69 77 73 79 01 3a 60 62 69 77 73 60 20 69 73 20 62 61 73 65 36 34 20 6f
66 20 60 6e 2c 2c 60 2c 20 74 68 65 20 63 68 61 6e 6e 65 6c 2d 62 69 6e
64 69 6e 67 20 70 72 65 61 6d 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 65 64 20 62 61 63 6b 2e 20
49 74 20 69 73 20 61 20 63 6f 6e 73 74 61 6e 74 20 66 6f 72 20 63 6f 6e
6e 65 63 74 69 6f 6e 73 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 6e 6e 65 6c 20 62 69
6e 64 69 6e 67 2c 20 77 68 69 63 68 20 69 73 20 77 68 79 20 69 74 20 61
70 70 65 61 72 73 20 76 65 72 62 61 74 69 6d 20 69 6e 20 65 76 65 72 79
0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d
70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 69 73 20 77 6f 72 74
68 20 72 65 63 6f 67 6e 69 73 69 6e 67 20 72 61 74 68 65 72 20 74 68 61
6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64
65 72 69 76 69 6e 67 2e 72 64 65 72 69 76 69 6e 67 2d 74 68 65 2d 70 72
6f 6f 66 86 a2 61 6e 01 67 63 6f 6d 70 75 74 65 78 49 53 61 6c 74 65 64
50 61 73 73 77 6f 72 64 20 3d 20 50 42 4b 44 46 32 2d 48 4d 41 43 2d 53
48 41 32 35 36 28 70 61 73 73 77 6f 72 64 2c 20 73 61 6c 74 2c 20 69 74
65 72 61 74 69 6f 6e 73 2c 20 33 32 20 62 79 74 65 73 29 a2 61 6e 02 67
63 6f 6d 70 75 74 65 78 2e 43 6c 69 65 6e 74 4b 65 79 20 3d 20 48 4d 41
43 28 53 61 6c 74 65 64 50 61 73 73 77 6f 72 64 2c 20 60 43 6c 69 65 6e
74 20 4b 65 79 60 29 a2 61 6e 03 67 63 6f 6d 70 75 74 65 78 1d 53 74 6f
72 65 64 4b 65 79 20 3d 20 53 48 41 32 35 36 28 43 6c 69 65 6e 74 4b 65
79 29 a2 61 6e 04 67 63 6f 6d 70 75 74 65 78 5b 41 75 74 68 4d 65 73 73
61 67 65 20 3d 20 63 6c 69 65 6e 74 2d 66 69 72 73 74 2d 62 61 72 65 2c
20 73 65 72 76 65 72 2d 66 69 72 73 74 2c 20 63 6c 69 65 6e 74 2d 66 69
6e 61 6c 2d 77 69 74 68 6f 75 74 2d 70 72 6f 6f 66 2c 20 6a 6f 69 6e 65
64 20 62 79 20 63 6f 6d 6d 61 73 a2 61 6e 05 67 63 6f 6d 70 75 74 65 78
2e 43 6c 69 65 6e 74 53 69 67 6e 61 74 75 72 65 20 3d 20 48 4d 41 43 28
53 74 6f 72 65 64 4b 65 79 2c 20 41 75 74 68 4d 65 73 73 61 67 65 29 a2
61 6e 06 67 63 6f 6d 70 75 74 65 78 3b 43 6c 69 65 6e 74 50 72 6f 6f 66
20 3d 20 43 6c 69 65 6e 74 4b 65 79 20 58 4f 52 20 43 6c 69 65 6e 74 53
69 67 6e 61 74 75 72 65 2c 20 62 61 73 65 36 34 20 65 6e 63 6f 64 65 64
78 1c 74 68 65 2d 70 61 72 74 2d 74 68 61 74 2d 63 61 74 63 68 65 73 2d
70 65 6f 70 6c 65 79 01 e4 41 75 74 68 4d 65 73 73 61 67 65 20 69 73 20
62 75 69 6c 74 20 66 72 6f 6d 20 74 68 65 20 2a 62 61 72 65 2a 0a 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 2d 66 69 72 73 74 20 e2
80 94 20 74 68 65 20 70 61 72 74 20 61 66 74 65 72 20 60 6e 2c 2c 60 20
e2 80 94 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d
20 74 68 65 20 63 6c 69 65 6e 74 2d 66 69 6e 61 6c 20 2a 77 69 74 68 6f
75 74 2a 20 74 68 65 20 70 72 6f 6f 66 0a 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 66 69 65 6c 64 2e 20 55 73 69 6e 67 20 74 68 65 20 66 75 6c 6c 20
73 74 72 69 6e 67 73 20 70 72 6f 64 75 63 65 73 20 61 0a 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 70 72 6f 6f 66 20 74 68 65 20 73 65 72 76 65 72 20
72 65 6a 65 63 74 73 20 77 69 74 68 20 6e 6f 0a 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 77 68 79 2c 20
61 6e 64 20 62 6f 74 68 20 6d 69 73 74 61 6b 65 73 20 6c 6f 6f 6b 0a 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 69 63 61 6c 20 66 72 6f
6d 20 74 68 65 20 63 6c 69 65 6e 74 2e 6e 65 78 74 65 6e 64 65 64 2d 71
75 65 72 79 a6 63 64 6f 63 78 b6 50 61 72 73 65 2c 20 62 69 6e 64 2c 20
65 78 65 63 75 74 65 20 e2 80 94 20 73 65 70 61 72 61 74 65 64 2c 20 73
6f 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6d 61 79 20 62 65 20 70 72 65
70 61 72 65 64 20 6f 6e 63 65 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20
72 75 6e 20 6d 61 6e 79 20 74 69 6d 65 73 2c 20 61 6e 64 20 73 6f 20 70
61 72 61 6d 65 74 65 72 73 20 74 72 61 76 65 6c 20 61 73 20 76 61 6c 75
65 73 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 73 0a 20 20 20 20 20 20
20 20 20 74 65 78 74 20 73 70 6c 69 63 65 64 20 69 6e 74 6f 20 53 51 4c
2e 67 72 65 70 6c 69 65 73 85 a2 67 6d 65 73 73 61 67 65 da 00 01 11 d4
6d 50 61 72 73 65 43 6f 6d 70 6c 65 74 65 69 74 79 70 65 2d 62 79 74 65
61 31 a2 67 6d 65 73 73 61 67 65 da 00 01 11 d4 6c 42 69 6e 64 43 6f 6d
70 6c 65 74 65 69 74 79 70 65 2d 62 79 74 65 61 32 a2 67 6d 65 73 73 61
67 65 da 00 01 11 d4 6d 43 6c 6f 73 65 43 6f 6d 70 6c 65 74 65 69 74 79
70 65 2d 62 79 74 65 61 33 a2 67 6d 65 73 73 61 67 65 da 00 01 11 d4 6f
50 6f 72 74 61 6c 53 75 73 70 65 6e 64 65 64 69 74 79 70 65 2d 62 79 74
65 61 73 a2 67 6d 65 73 73 61 67 65 da 00 01 11 d4 66 4e 6f 44 61 74 61
69 74 79 70 65 2d 62 79 74 65 61 6e 68 6d 65 73 73 61 67 65 73 86 a3 64
64 6f 65 73 78 3b 6e 61 6d 65 20 61 20 73 74 61 74 65 6d 65 6e 74 2c 20
67 69 76 65 20 69 74 73 20 53 51 4c 20 61 6e 64 20 61 6e 79 20 70 61 72
61 6d 65 74 65 72 20 74 79 70 65 20 68 69 6e 74 73 67 6d 65 73 73 61 67
65 da 00 01 11 d4 65 50 61 72 73 65 69 74 79 70 65 2d 62 79 74 65 61 50
a3 64 64 6f 65 73 78 37 6e 61 6d 65 20 61 20 70 6f 72 74 61 6c 2c 20 73
75 70 70 6c 79 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 73 20 61
6e 64 20 66 6f 72 6d 61 74 20 63 6f 64 65 73 67 6d 65 73 73 61 67 65 da
00 01 11 d4 64 42 69 6e 64 69 74 79 70 65 2d 62 79 74 65 61 42 a3 64 64
6f 65 73 78 2a 61 73 6b 20 66 6f 72 20 74 68 65 20 73 68 61 70 65 20 6f
66 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 70 6f 72 74 61 6c 67
6d 65 73 73 61 67 65 da 00 01 11 d4 68 44 65 73 63 72 69 62 65 69 74 79
70 65 2d 62 79 74 65 61 44 a3 64 64 6f 65 73 78 2f 72 75 6e 20 61 20 70
6f 72 74 61 6c 2c 20 75 70 20 74 6f 20 61 20 72 6f 77 20 6c 69 6d 69 74
3b 20 7a 65 72 6f 20 6d 65 61 6e 73 20 61 6c 6c 67 6d 65 73 73 61 67 65
da 00 01 11 d4 67 45 78 65 63 75 74 65 69 74 79 70 65 2d 62 79 74 65 61
45 a3 64 64 6f 65 73 78 2f 65 6e 64 20 74 68 65 20 63 79 63 6c 65 3b 20
74 68 65 20 73 65 72 76 65 72 20 72 65 70 6c 69 65 73 20 52 65 61 64 79
46 6f 72 51 75 65 72 79 67 6d 65 73 73 61 67 65 da 00 01 11 d4 64 53 79
6e 63 69 74 79 70 65 2d 62 79 74 65 61 53 a3 64 64 6f 65 73 78 1d 64 69
73 63 61 72 64 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 70 6f 72
74 61 6c 67 6d 65 73 73 61 67 65 da 00 01 11 d4 65 43 6c 6f 73 65 69 74
79 70 65 2d 62 79 74 65 61 43 75 74 68 65 2d 75 6e 6e 61 6d 65 64 2d 73
74 61 74 65 6d 65 6e 74 79 01 0b 41 6e 20 65 6d 70 74 79 20 6e 61 6d 65
20 69 73 20 74 68 65 20 75 6e 6e 61 6d 65 64 20 73 74 61 74 65 6d 65 6e
74 20 6f 72 20 70 6f 72 74 61 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 64
20 62 79 20 74 68 65 20 6e 65 78 74 20 6f 6e 65 20 6f 66 20 69 74 73 20
6b 69 6e 64 2e 20 43 6f 6e 76 65 6e 69 65 6e 74 2c 0a 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64
20 74 68 65 20 72 65 61 73 6f 6e 20 61 20 63 6c 69 65 6e 74 20 74 68 61
74 20 70 69 70 65 6c 69 6e 65 73 20 63 61 72 65 6c 65 73 73 6c 79 0a 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 64 65 73 74 72 6f 79 73 20 69 74 73 20 6f 77 6e 20 70 72 65 70 61
72 65 64 20 73 74 61 74 65 6d 65 6e 74 2e 78 1a 73 79 6e 63 2d 69 73 2d
74 68 65 2d 72 65 63 6f 76 65 72 79 2d 70 6f 69 6e 74 79 01 18 41 66 74
65 72 20 61 6e 20 65 72 72 6f 72 20 74 68 65 20 73 65 72 76 65 72 20 64
69 73 63 61 72 64 73 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 75 6e 74 69 6c 20 69 74 20 73 65 65 73 20 53 79 6e 63 2e 20 53 6f 20
61 20 70 69 70 65 6c 69 6e 65 64 20 62 61 74 63 68 20 66 61 69 6c 73 0a
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 61 73 20 61 20 75 6e 69 74 2c 20 61 6e 64 20 61
20 63 6c 69 65 6e 74 20 74 68 61 74 20 6f 6d 69 74 73 20 53 79 6e 63 20
77 61 69 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 76 65 72 20 66 6f
72 20 61 20 52 65 61 64 79 46 6f 72 51 75 65 72 79 20 74 68 61 74 20 69
73 20 6e 6f 74 20 63 6f 6d 69 6e 67 2e 78 26 70 61 72 61 6d 65 74 65 72
73 2d 61 72 65 2d 6e 6f 74 2d 74 79 70 65 64 2d 62 79 2d 74 68 65 2d 63
6c 69 65 6e 74 79 01 01 50 61 72 73 65 20 6d 61 79 20 73 65 6e 64 20 7a
65 72 6f 20 74 79 70 65 20 68 69 6e 74 73 20 61 6e 64 0a 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 74 68 65 20 73
65 72 76 65 72 20 69 6e 66 65 72 2c 20 77 68 69 63 68 20 69 73 20 77 68
61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61
20 63 61 73 74 20 69 6e 20 74 68 65 20 53 51 4c 20 69 73 20 66 6f 72 2e
20 54 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 76 65 63 74 6f 72 20 62 65 6c 6f 77 20 73 65 6e 64 73 20 6e 6f 6e 65
2e 70 76 65 72 69 66 69 65 64 2d 61 67 61 69 6e 73 74 78 32 50 6f 73 74
67 72 65 53 51 4c 20 31 36 2e 31 34 20 6f 6e 20 44 65 62 69 61 6e 2c 20
6f 76 65 72 20 54 43 50 2c 20 70 72 6f 74 6f 63 6f 6c 20 33 2e 30 72 74
72 61 6e 73 61 63 74 69 6f 6e 2d 73 74 61 74 75 73 83 a2 64 62 79 74 65
61 49 65 6d 65 61 6e 73 74 69 64 6c 65 2c 20 6e 6f 20 74 72 61 6e 73 61
63 74 69 6f 6e a2 64 62 79 74 65 61 54 65 6d 65 61 6e 73 78 1a 69 6e 73
69 64 65 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 62 6c 6f 63 6b a2
64 62 79 74 65 61 45 65 6d 65 61 6e 73 78 42 69 6e 73 69 64 65 20 61 20
66 61 69 6c 65 64 20 74 72 61 6e 73 61 63 74 69 6f 6e 3b 20 65 76 65 72
79 74 68 69 6e 67 20 69 73 20 72 65 6a 65 63 74 65 64 20 75 6e 74 69 6c
20 72 6f 6c 6c 62 61 63 6b 78 18 74 68 65 2d 66 61 69 6c 65 64 2d 73 74
61 74 65 2d 69 73 2d 72 65 61 6c 79 01 3f 41 66 74 65 72 20 61 6e 20 65
72 72 6f 72 20 69 6e 73 69 64 65 20 61 20 74 72 61 6e 73 61 63 74 69 6f
6e 20 74 68 65 20 73 65 72 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 73 77 65 72 73
20 65 76 65 72 79 20 73 74 61 74 65 6d 65 6e 74 20 77 69 74 68 20 61 6e
20 65 72 72 6f 72 20 75 6e 74 69 6c 20 69 74 20 73 65 65 73 0a 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 72 6f 6c 6c 62 61 63 6b 2e 20 41 20 63 6c 69 65 6e 74 20 74 68 61 74
20 72 65 74 72 69 65 73 20 74 68 65 20 66 61 69 6c 65 64 20 73 74 61 74
65 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 6c 6f 6f 70 73 2c 20 61 6e 64 20 74 68 65
20 73 74 61 74 75 73 20 62 79 74 65 20 69 73 20 68 6f 77 20 69 74 20 73
68 6f 75 6c 64 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 6e 6f 77 6e 2e
canonical CBOR for examples/postgresql-protocol.umsg 15693 bytes

Every construct on this page

The formal columns are read from the specification when this page is generated. The last column is this site's plain-language gloss and is not normative — where they differ, the specification is right.

constructglyphcarriesexamplegloss
:annotationA bare name qualifying the value after it—for example a language tag or a unit such as kg. It is not a value itself; a bare name with nothing after it is an error, not a guess.
:array^type, or type:shape; then [ elements ]^f64 [ 1.5, 2.5 ] or ^i16:2x3 [ … ]A packed, homogeneous numeric array. The ^ marker gives every element its type and may also give the row-major shape: ^f64:2x3 [ … ].
:array-elementOne element of a typed array. Its type comes from the ^ marker, so 1.5 inside ^f64 is binary64 rather than an exact decimal.
:array-missingA missing position in a typed array. null here is not an element value: it adds a validity mask while preserving the array's shape.
:blockA block: named pairs, in braces. Its keys are sorted in the encoding and shown here as written.
:bytes~encoding:data~hex:ff00 or ~b64:iVBORw0KGgo=Raw octets, carried as octets. No base64 tax, no pretending they are text.
:comment--to end of line-- a noteA note for people. It travels with the pair it precedes and never reaches the bytes.
:decimalAn exact decimal. 19.99 is nineteen and ninety-nine hundredths, not the nearest double to it.
:extension!name, then value!acme/hint { zone 4 }A qualifier this reader may not know. It survives the round trip intact, and stays legible on the way past — the rule that separates an extension from a private convention.
:floatA binary float, marked so it can never be mistaken for the exact decimal beside it.
:hash#algorithm:hex#sha256:deadbeefThe digest of some content, with the algorithm said out loud so it is still meaningful in ten years.
:header%unimsg only%unimsg 0 labelDeclares the format version and what this document is. Optional, and useful exactly when a file arrives without context.
:identifier@word@ord-88213Gives this value a name, so another document can point at it without copying it.
:integerA whole number of any size. Past 2^53 it is still exact, which is the whole reason this is not JSON.
:keyA field name: the first thing in a pair. It is bare when possible and quoted when needed, and names the content without becoming part of the value.
:reference->an identifier or a path-> @cust-4471, -> @lexicon.entries.kitābPoints at a name. Nothing follows it while reading — resolution is somebody else's job, deliberately.
:reserved-literalOne of six bare words that are values rather than names. The list is fixed, so no value is coerced by what it looks like.
:sequenceAn ordered list. Order is preserved and is meaning.
:stringText. May span lines, so prose does not have to be escaped into one.
:symbol:word:dispatchedA name from a fixed vocabulary, not free text. :high is a value someone chose; "high" is a phrase someone typed.
:table-row|cells| sku qtyOne record of a table. A table is sugar for a sequence of blocks with the same keys, and encodes identically to the longhand.
:timestampA temporal value at the precision written. 2026-08 stays a month, and 03:52 stays a wall-clock time; neither is widened into an invented instant.