<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Tor",
  "identifier" : "/documentation/Tor/ControlReply/keyValuePairs",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Tor"
    ],
    "preciseIdentifier" : "s:3Tor12ControlReplyV13keyValuePairsSDyS2SGvp"
  },
  "title" : "keyValuePairs"
}
-->

# keyValuePairs

Extract `KEY=VALUE` pairs from [`lines`](/documentation/Tor/ControlReply/lines) into a dictionary.

```
var keyValuePairs: [String : String] { get }
```

## Return Value

A dictionary mapping each `KEY` to its `VALUE`.

## Discussion

Splits each line on the **first** `=` character; keys and
values are unquoted. For values with internal `=` characters
(e.g. base64-padded keys) the full tail including additional
`=` is preserved verbatim. Lines without an `=` are skipped
silently — use [`lines`](/documentation/Tor/ControlReply/lines) directly when positional parsing is
required.

> Note: Unlike
> ``doc://Tor/documentation/Tor/ControlProtocolParser/parseAttributes(_:)``, this accessor
> does **not** handle quoted values — it’s intended for the
> simple `KEY=VALUE` shape used by `GETINFO` replies, not for
> async-event attribute parsing.