ums.signatureSubpacket.issuer:
        // Issuer
        this.issuerKeyID.read(bytes.subarray(mypos, bytes.length));
        break;

      case enums.signatureSubpacket.notationData: {
        // Notation Data
        const humanReadable = !!(bytes[mypos] & 0x80);

        // We extract key/value tuple from the byte stream.
        mypos += 4;
        const m = util.readNumber(bytes.subarray(mypos, mypos + 2));
        mypos += 2;
        const n = util.readNumber(bytes.subarray(mypos, mypos + 2));
        mypos += 2;

        const name = util.decodeUTF8(bytes.subarray(mypos, mypos + m));
        const value = bytes.subarray(mypos + m, mypos + m + n);

        this.rawNotations.push({ name, humanReadable, value, critical });

        if (humanReadable) {
          this.notations[name] = util.decodeUTF8(value);
        }
        break;
      }
      case enums.signatureSubpacket.preferredHashAlgorithms:
        // Preferred Hash Algorithms
        this.preferredHashAlgorithms = [...bytes.subarray(mypos, bytes.length)];
        break;
      case enums.signatureSubpacket.preferredCompressionAlgorithms:
        // Preferred Compression Algorithms
        this.preferredCompressionAlgorithms = [...bytes.subarray(mypos, bytes.length)];
        break;
      case enums.signatureSubpacket.keyServerPreferences:
        // Key Server Preferences
        this.keyServerPreferences = [...bytes.subarray(mypos, bytes.length)];
        break;
      case enums.signatureSubpacket.preferredKeyServer:
        // Preferred Key Server
        this.preferredKeyServer = util.decodeUTF8(bytes.subarray(mypos, bytes.length));
        break;
      case enums.signatureSubpacket.primaryUserID:
        // Primary User ID
        this.isPrimaryUserID = bytes[mypos++] !== 0;
        break;
      case enums.signatureSubpacket.policyURI:
        // Policy URI
        this.policyURI = util.decodeUTF8(bytes.subarray(mypos, bytes.length));
        break;
      case enums.signatureSubpacket.keyFlags:
        // Key Flags
        this.keyFlags = [...bytes.subarray(mypos, bytes.length)];
        break;
      case enums.signatureSubpacket.signersUserID:
        // Signer's User ID
        this.signersUserID = util.decodeUTF8(bytes.subarray(mypos, bytes.length));
        break;
      case enums.signatureSubpacket.reasonForRevocation:
        // Reason for Revocation
        this.reasonForRevocationFlag = bytes[mypos++];
        this.reasonForRevocationString = util.decodeUTF8(bytes.subarray(mypos, bytes.length));
        break;
      case enums.signatureSubpacket.features:
        // Features
        this.features = [...bytes.subarray(mypos, bytes.length)];
        break;
      case enums.signatureSubpacket.signatureTarget: {
        // Signature Target
        // (1 octet public-key algorithm, 1 octet hash algorithm, N octets hash)
        this.signatureTargetPublicKeyAlgorithm = bytes[mypos++];
        this.signatureTargetHashAlgorithm = bytes[mypos++];

        const len = mod.getHashByteLength(this.signatureTargetHashAlgorithm);

        this.signatureTargetHash = util.uint8ArrayToString(bytes.subarray(mypos, mypos + len));
        break;
      }
      case enums.signatureSubpacket.embeddedSignature:
        // Embedded Signature
        this.embeddedSignature = new SignaturePacket();
        this.embeddedSignature.read(bytes.subarray(mypos, bytes.length));
        break;
      case enums.signatureSubpacket.issuerFingerprint:
        // Issuer Fingerprint
        this.issuerKeyVersion = bytes[mypos++];
        this.issuerFingerprint = bytes.subarray(mypos, bytes.length);
        if (this.issuerKeyVersion === 5) {
          this.issuerKeyID.read(this.issuerFingerprint);
        } else {
          this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));
        }
        break;
      case enums.signatureSubpacket.preferredAEADAlgorithms:
        // Preferred AEAD Algorithms
        this.preferredAEADAlgorithms = [...bytes.subarray(mypos, bytes.length)];
        break;
      default: {
        const err = new Error(`Unknown signature subpacket type ${type}`);
        if (critical) {
          throw err;
        } else {
          util.printDebug(err);
        }
      }
    }
  }

  readSubPackets(bytes, trusted = true, config) {
    // Two-octet scalar octet count for following subpacket data.
    const subpacketLength = util.readNumber(bytes.subarray(0, 2));

    let i = 2;

    // subpacket data set (zero or more subpackets)
    while (i < 2 + subpacketLength) {
      const len = readSimpleLength(bytes.subarray(i, bytes.length));
      i += len.offset;

      this.readSubPacket(bytes.subarray(i, i + len.len), trusted, config);

      i += len.len;
    }

    return i;
  }

  // Produces data to produce signature on
  toSign(type, data) {
    const t = enums.signature;

    switch (type) {
      case t.binary:
        if (data.text !== null) {
          return util.encodeUTF8(data.getText(true));
        }
        return data.getBytes(true);

      case t.text: {
        const bytes = data.getBytes(true);
        // normalize EOL to \r\n
        return util.canonicalizeEOL(bytes);
      }
      case t.standalone:
        return new Uint8Array(0);

      case t.certGeneric:
      case t.certPersona:
      case t.certCasual:
      case t.certPositive:
      case t.certRevocation: {
        let packet;
        let tag;

        if (data.userID) {
          tag = 0xB4;
          packet = data.userID;
        } else if (data.userAttribute) {
          tag = 0xD1;
          packet = data.userAttribute;
        } else {
          throw new Error('Either a userID or userAttribute packet needs to be ' +
            'supplied for certification.');
        }

        const bytes = packet.write();

        return util.concat([this.toSign(t.key, data),
          new Uint8Array([tag]),
          util.writeNumber(bytes.length, 4),
          bytes]);
      }
      case t.subkeyBinding:
      case t.subkeyRevocation:
      case t.keyBinding:
        return util.concat([this.toSign(t.key, data), this.toSign(t.key, {
          key: data.bind
        })]);

      case t.key:
        if (data.key === undefined) {
          throw new Error('Key packet is required for this signature.');
        }
        return data.key.writeForHash(this.version);

      case t.keyRevocation:
        return this.toSign(t.key, data);
      case t.timestamp:
        return new Uint8Array(0);
      case t.thirdParty:
        throw new Error('Not implemented');
      default:
        throw new Error('Unknown signature type.');
    }
  }

  calculateTrailer(data, detached) {
    let length = 0;
    return transform(clone(this.signatureData), value => {
      length += value.length;
    }, () => {
      const arr = [];
      if (this.version === 5 && (this.signatureType === enums.signature.binary || this.signatureType === enums.signature.text)) {
        if (detached) {
          arr.push(new Uint8Array(6));
        } else {
          arr.push(data.writeHeader());
        }
      }
      arr.push(new Uint8Array([this.version, 0xFF]));
      if (this.version === 5) {
        arr.push(new Uint8Array(4));
      }
      arr.push(util.writeNumber(length, 4));
      // For v5, this should really be writeNumber(length, 8) rather than the
      // hardcoded 4 zero bytes above
      return util.concat(arr);
    });
  }

  toHash(signatureType, data, detached = false) {
    const bytes = this.toSign(signatureType, data);

    return util.concat([bytes, this.signatureData, this.calculateTrailer(data, detached)]);
  }

  async hash(signatureType, data, toHash, detached = false) {
    if (!toHash) toHash = this.toHash(signatureType, data, detached);
    return mod.hash.digest(this.hashAlgorithm, toHash);
  }

  /**
   * verifies the signature packet. Note: not all signature types are implemented
   * @param {PublicSubkeyPacket|PublicKeyPacket|
   *         SecretSubkeyPacket|SecretKeyPacket} key - the public key to verify the signature
   * @param {module:enums.signature} signatureType - Expected signature type
   * @param {Uint8Array|Object} data - Data which on the signature applies
   * @param {Date} [date] - Use the given date instead of the current time to check for signature validity and expiration
   * @param {Boolean} [detached] - Whether to verify a detached signature
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if signature validation failed
   * @async
   */
  async verify(key, signatureType, data, date = new Date(), detached = false, config$1 = config) {
    if (!this.issuerKeyID.equals(key.getKeyID())) {
      throw new Error('Signature was not issued by the given public key');
    }
    if (this.publicKeyAlgorithm !== key.algorithm) {
      throw new Error('Public key algorithm used to sign signature does not match issuer key algorithm.');
    }

    const isMessageSignature = signatureType === enums.signature.binary || signatureType === enums.signature.text;
    // Cryptographic validity is cached after one successful verification.
    // However, for message signatures, we always re-verify, since the passed `data` can change
    const skipVerify = this[verified] && !isMessageSignature;
    if (!skipVerify) {
      let toHash;
      let hash;
      if (this.hashed) {
        hash = await this.hashed;
      } else {
        toHash = this.toHash(signatureType, data, detached);
        hash = await this.hash(signatureType, data, toHash);
      }
      hash = await readToEnd(hash);
      if (this.signedHashValue[0] !== hash[0] ||
          this.signedHashValue[1] !== hash[1]) {
        throw new Error('Signed digest did not match');
      }

      this.params = await this.params;

      this[verified] = await mod.signature.verify(
        this.publicKeyAlgorithm, this.hashAlgorithm, this.params, key.publicParams,
        toHash, hash
      );

      if (!this[verified]) {
        throw new Error('Signature verification failed');
      }
    }

    const normDate = util.normalizeDate(date);
    if (normDate && this.created > normDate) {
      throw new Error('Signature creation time is in the future');
    }
    if (normDate && normDate >= this.getExpirationTime()) {
      throw new Error('Signature is expired');
    }
    if (config$1.rejectHashAlgorithms.has(this.hashAlgorithm)) {
      throw new Error('Insecure hash algorithm: ' + enums.read(enums.hash, this.hashAlgorithm).toUpperCase());
    }
    if (config$1.rejectMessageHashAlgorithms.has(this.hashAlgorithm) &&
      [enums.signature.binary, enums.signature.text].includes(this.signatureType)) {
      throw new Error('Insecure message hash algorithm: ' + enums.read(enums.hash, this.hashAlgorithm).toUpperCase());
    }
    this.rawNotations.forEach(({ name, critical }) => {
      if (critical && (config$1.knownNotations.indexOf(name) < 0)) {
        throw new Error(`Unknown critical notation: ${name}`);
      }
    });
    if (this.revocationKeyClass !== null) {
      throw new Error('This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.');
    }
  }

  /**
   * Verifies signature expiration date
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @returns {Boolean} True if expired.
   */
  isExpired(date = new Date()) {
    const normDate = util.normalizeDate(date);
    if (normDate !== null) {
      return !(this.created <= normDate && normDate < this.getExpirationTime());
    }
    return false;
  }

  /**
   * Returns the expiration time of the signature or Infinity if signature does not expire
   * @returns {Date | Infinity} Expiration time.
   */
  getExpirationTime() {
    return this.signatureNeverExpires ? Infinity : new Date(this.created.getTime() + this.signatureExpirationTime * 1000);
  }
}

/**
 * Creates a Uint8Array representation of a sub signature packet
 * @see {@link https://tools.ietf.org/html/rfc4880#section-5.2.3.1|RFC4880 5.2.3.1}
 * @see {@link https://tools.ietf.org/html/rfc4880#section-5.2.3.2|RFC4880 5.2.3.2}
 * @param {Integer} type - Subpacket signature type.
 * @param {Boolean} critical - Whether the subpacket should be critical.
 * @param {String} data - Data to be included
 * @returns {Uint8Array} The signature subpacket.
 * @private
 */
function writeSubPacket(type, critical, data) {
  const arr = [];
  arr.push(writeSimpleLength(data.length + 1));
  arr.push(new Uint8Array([(critical ? 0x80 : 0) | type]));
  arr.push(data);
  return util.concat(arr);
}

// GPG4Browsers - An OpenPGP implementation in javascript

const VERSION = 3;

/**
 * Implementation of the One-Pass Signature Packets (Tag 4)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.4|RFC4880 5.4}:
 * The One-Pass Signature packet precedes the signed data and contains
 * enough information to allow the receiver to begin calculating any
 * hashes needed to verify the signature.  It allows the Signature
 * packet to be placed at the end of the message, so that the signer
 * can compute the entire signed message in one pass.
 */
class OnePassSignaturePacket {
  static get tag() {
    return enums.packet.onePassSignature;
  }

  constructor() {
    /** A one-octet version number.  The current version is 3. */
    this.version = null;
    /**
     * A one-octet signature type.
     * Signature types are described in
     * {@link https://tools.ietf.org/html/rfc4880#section-5.2.1|RFC4880 Section 5.2.1}.
     * @type {enums.signature}

     */
    this.signatureType = null;
    /**
     * A one-octet number describing the hash algorithm used.
     * @see {@link https://tools.ietf.org/html/rfc4880#section-9.4|RFC4880 9.4}
     * @type {enums.hash}
     */
    this.hashAlgorithm = null;
    /**
     * A one-octet number describing the public-key algorithm used.
     * @see {@link https://tools.ietf.org/html/rfc4880#section-9.1|RFC4880 9.1}
     * @type {enums.publicKey}
     */
    this.publicKeyAlgorithm = null;
    /** An eight-octet number holding the Key ID of the signing key. */
    this.issuerKeyID = null;
    /**
     * A one-octet number holding a flag showing whether the signature is nested.
     * A zero value indicates that the next packet is another One-Pass Signature packet
     * that describes another signature to be applied to the same message data.
     */
    this.flags = null;
  }

  /**
   * parsing function for a one-pass signature packet (tag 4).
   * @param {Uint8Array} bytes - Payload of a tag 4 packet
   * @returns {OnePassSignaturePacket} Object representation.
   */
  read(bytes) {
    let mypos = 0;
    // A one-octet version number.  The current version is 3.
    this.version = bytes[mypos++];
    if (this.version !== VERSION) {
      throw new UnsupportedError(`Version ${this.version} of the one-pass signature packet is unsupported.`);
    }

    // A one-octet signature type.  Signature types are described in
    //   Section 5.2.1.
    this.signatureType = bytes[mypos++];

    // A one-octet number describing the hash algorithm used.
    this.hashAlgorithm = bytes[mypos++];

    // A one-octet number describing the public-key algorithm used.
    this.publicKeyAlgorithm = bytes[mypos++];

    // An eight-octet number holding the Key ID of the signing key.
    this.issuerKeyID = new KeyID();
    this.issuerKeyID.read(bytes.subarray(mypos, mypos + 8));
    mypos += 8;

    // A one-octet number holding a flag showing whether the signature
    //   is nested.  A zero value indicates that the next packet is
    //   another One-Pass Signature packet that describes another
    //   signature to be applied to the same message data.
    this.flags = bytes[mypos++];
    return this;
  }

  /**
   * creates a string representation of a one-pass signature packet
   * @returns {Uint8Array} A Uint8Array representation of a one-pass signature packet.
   */
  write() {
    const start = new Uint8Array([VERSION, this.signatureType, this.hashAlgorithm, this.publicKeyAlgorithm]);

    const end = new Uint8Array([this.flags]);

    return util.concatUint8Array([start, this.issuerKeyID.write(), end]);
  }

  calculateTrailer(...args) {
    return fromAsync(async () => SignaturePacket.prototype.calculateTrailer.apply(await this.correspondingSig, args));
  }

  async verify() {
    const correspondingSig = await this.correspondingSig;
    if (!correspondingSig || correspondingSig.constructor.tag !== enums.packet.signature) {
      throw new Error('Corresponding signature packet missing');
    }
    if (
      correspondingSig.signatureType !== this.signatureType ||
      correspondingSig.hashAlgorithm !== this.hashAlgorithm ||
      correspondingSig.publicKeyAlgorithm !== this.publicKeyAlgorithm ||
      !correspondingSig.issuerKeyID.equals(this.issuerKeyID)
    ) {
      throw new Error('Corresponding signature packet does not match one-pass signature packet');
    }
    correspondingSig.hashed = this.hashed;
    return correspondingSig.verify.apply(correspondingSig, arguments);
  }
}

OnePassSignaturePacket.prototype.hash = SignaturePacket.prototype.hash;
OnePassSignaturePacket.prototype.toHash = SignaturePacket.prototype.toHash;
OnePassSignaturePacket.prototype.toSign = SignaturePacket.prototype.toSign;

/**
 * Instantiate a new packet given its tag
 * @function newPacketFromTag
 * @param {module:enums.packet} tag - Property value from {@link module:enums.packet}
 * @param {Object} allowedPackets - mapping where keys are allowed packet tags, pointing to their Packet class
 * @returns {Object} New packet object with type based on tag
 * @throws {Error|UnsupportedError} for disallowed or unknown packets
 */
function newPacketFromTag(tag, allowedPackets) {
  if (!allowedPackets[tag]) {
    // distinguish between disallowed packets and unknown ones
    let packetType;
    try {
      packetType = enums.read(enums.packet, tag);
    } catch (e) {
      throw new UnsupportedError(`Unknown packet type with tag: ${tag}`);
    }
    throw new Error(`Packet not allowed in this context: ${packetType}`);
  }
  return new allowedPackets[tag]();
}

/**
 * This class represents a list of openpgp packets.
 * Take care when iterating over it - the packets themselves
 * are stored as numerical indices.
 * @extends Array
 */
class PacketList extends Array {
  /**
   * Parses the given binary data and returns a list of packets.
   * Equivalent to calling `read` on an empty PacketList instance.
   * @param {Uint8Array | ReadableStream<Uint8Array>} bytes - binary data to parse
   * @param {Object} allowedPackets - mapping where keys are allowed packet tags, pointing to their Packet class
   * @param {Object} [config] - full configuration, defaults to openpgp.config
   * @returns {PacketList} parsed list of packets
   * @throws on parsing errors
   * @async
   */
  static async fromBinary(bytes, allowedPackets, config$1 = config) {
    const packets = new PacketList();
    await packets.read(bytes, allowedPackets, config$1);
    return packets;
  }

  /**
   * Reads a stream of binary data and interprets it as a list of packets.
   * @param {Uint8Array | ReadableStream<Uint8Array>} bytes - binary data to parse
   * @param {Object} allowedPackets - mapping where keys are allowed packet tags, pointing to their Packet class
   * @param {Object} [config] - full configuration, defaults to openpgp.config
   * @throws on parsing errors
   * @async
   */
  async read(bytes, allowedPackets, config$1 = config) {
    if (config$1.additionalAllowedPackets.length) {
      allowedPackets = { ...allowedPackets, ...util.constructAllowedPackets(config$1.additionalAllowedPackets) };
    }
    this.stream = transformPair(bytes, async (readable, writable) => {
      const writer = getWriter(writable);
      try {
        while (true) {
          await writer.ready;
          const done = await readPackets(readable, async parsed => {
            try {
              if (parsed.tag === enums.packet.marker || parsed.tag === enums.packet.trust) {
                // According to the spec, these packet types should be ignored and not cause parsing errors, even if not esplicitly allowed:
                // - Marker packets MUST be ignored when received: https://github.com/openpgpjs/openpgpjs/issues/1145
                // - Trust packets SHOULD be ignored outside of keyrings (unsupported): https://datatracker.ietf.org/doc/html/rfc4880#section-5.10
                return;
              }
              const packet = newPacketFromTag(parsed.tag, allowedPackets);
              packet.packets = new PacketList();
              packet.fromStream = util.isStream(parsed.packet);
              await packet.read(parsed.packet, config$1);
              await writer.write(packet);
            } catch (e) {
              const throwUnsupportedError = !config$1.ignoreUnsupportedPackets && e instanceof UnsupportedError;
              const throwMalformedError = !config$1.ignoreMalformedPackets && !(e instanceof UnsupportedError);
              if (throwUnsupportedError || throwMalformedError || supportsStreaming(parsed.tag)) {
                // The packets that support streaming are the ones that contain message data.
                // Those are also the ones we want to be more strict about and throw on parse errors
                // (since we likely cannot process the message without these packets anyway).
                await writer.abort(e);
              } else {
                const unparsedPacket = new UnparseablePacket(parsed.tag, parsed.packet);
                await writer.write(unparsedPacket);
              }
              util.printDebugError(e);
            }
          });
          if (done) {
            await writer.ready;
            await writer.close();
            return;
          }
        }
      } catch (e) {
        await writer.abort(e);
      }
    });

    // Wait until first few packets have been read
    const reader = getReader(this.stream);
    while (true) {
      const { done, value } = await reader.read();
      if (!done) {
        this.push(value);
      } else {
        this.stream = null;
      }
      if (done || supportsStreaming(value.constructor.tag)) {
        break;
      }
    }
    reader.releaseLock();
  }

  /**
   * Creates a binary representation of openpgp objects contained within the
   * class instance.
   * @returns {Uint8Array} A Uint8Array containing valid openpgp packets.
   */
  write() {
    const arr = [];

    for (let i = 0; i < this.length; i++) {
      const tag = this[i] instanceof UnparseablePacket ? this[i].tag : this[i].constructor.tag;
      const packetbytes = this[i].write();
      if (util.isStream(packetbytes) && supportsStreaming(this[i].constructor.tag)) {
        let buffer = [];
        let bufferLength = 0;
        const minLength = 512;
        arr.push(writeTag(tag));
        arr.push(transform(packetbytes, value => {
          buffer.push(value);
          bufferLength += value.length;
          if (bufferLength >= minLength) {
            const powerOf2 = Math.min(Math.log(bufferLength) / Math.LN2 | 0, 30);
            const chunkSize = 2 ** powerOf2;
            const bufferConcat = util.concat([writePartialLength(powerOf2)].concat(buffer));
            buffer = [bufferConcat.subarray(1 + chunkSize)];
            bufferLength = buffer[0].length;
            return bufferConcat.subarray(0, 1 + chunkSize);
          }
        }, () => util.concat([writeSimpleLength(bufferLength)].concat(buffer))));
      } else {
        if (util.isStream(packetbytes)) {
          let length = 0;
          arr.push(transform(clone(packetbytes), value => {
            length += value.length;
          }, () => writeHeader(tag, length)));
        } else {
          arr.push(writeHeader(tag, packetbytes.length));
        }
        arr.push(packetbytes);
      }
    }

    return util.concat(arr);
  }

  /**
   * Creates a new PacketList with all packets matching the given tag(s)
   * @param {...module:enums.packet} tags - packet tags to look for
   * @returns {PacketList}
   */
  filterByTag(...tags) {
    const filtered = new PacketList();

    const handle = tag => packetType => tag === packetType;

    for (let i = 0; i < this.length; i++) {
      if (tags.some(handle(this[i].constructor.tag))) {
        filtered.push(this[i]);
      }
    }

    return filtered;
  }

  /**
   * Traverses packet list and returns first packet with matching tag
   * @param {module:enums.packet} tag - The packet tag
   * @returns {Packet|undefined}
   */
  findPacket(tag) {
    return this.find(packet => packet.constructor.tag === tag);
  }

  /**
   * Find indices of packets with the given tag(s)
   * @param {...module:enums.packet} tags - packet tags to look for
   * @returns {Integer[]} packet indices
   */
  indexOfTag(...tags) {
    const tagIndex = [];
    const that = this;

    const handle = tag => packetType => tag === packetType;

    for (let i = 0; i < this.length; i++) {
      if (tags.some(handle(that[i].constructor.tag))) {
        tagIndex.push(i);
      }
    }
    return tagIndex;
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

// A Compressed Data packet can contain the following packet types
const allowedPackets = /*#__PURE__*/ util.constructAllowedPackets([
  LiteralDataPacket,
  OnePassSignaturePacket,
  SignaturePacket
]);

/**
 * Implementation of the Compressed Data Packet (Tag 8)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.6|RFC4880 5.6}:
 * The Compressed Data packet contains compressed data.  Typically,
 * this packet is found as the contents of an encrypted packet, or following
 * a Signature or One-Pass Signature packet, and contains a literal data packet.
 */
class CompressedDataPacket {
  static get tag() {
    return enums.packet.compressedData;
  }

  /**
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  constructor(config$1 = config) {
    /**
     * List of packets
     * @type {PacketList}
     */
    this.packets = null;
    /**
     * Compression algorithm
     * @type {enums.compression}
     */
    this.algorithm = config$1.preferredCompressionAlgorithm;

    /**
     * Compressed packet data
     * @type {Uint8Array | ReadableStream<Uint8Array>}
     */
    this.compressed = null;

    /**
     * zip/zlib compression level, between 1 and 9
     */
    this.deflateLevel = config$1.deflateLevel;
  }

  /**
   * Parsing function for the packet.
   * @param {Uint8Array | ReadableStream<Uint8Array>} bytes - Payload of a tag 8 packet
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  async read(bytes, config$1 = config) {
    await parse(bytes, async reader => {

      // One octet that gives the algorithm used to compress the packet.
      this.algorithm = await reader.readByte();

      // Compressed data, which makes up the remainder of the packet.
      this.compressed = reader.remainder();

      await this.decompress(config$1);
    });
  }


  /**
   * Return the compressed packet.
   * @returns {Uint8Array | ReadableStream<Uint8Array>} Binary compressed packet.
   */
  write() {
    if (this.compressed === null) {
      this.compress();
    }

    return util.concat([new Uint8Array([this.algorithm]), this.compressed]);
  }


  /**
   * Decompression method for decompressing the compressed data
   * read by read_packet
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  async decompress(config$1 = config) {
    const compressionName = enums.read(enums.compression, this.algorithm);
    const decompressionFn = decompress_fns[compressionName];
    if (!decompressionFn) {
      throw new Error(`${compressionName} decompression not supported`);
    }

    this.packets = await PacketList.fromBinary(decompressionFn(this.compressed), allowedPackets, config$1);
  }

  /**
   * Compress the packet data (member decompressedData)
   */
  compress() {
    const compressionName = enums.read(enums.compression, this.algorithm);
    const compressionFn = compress_fns[compressionName];
    if (!compressionFn) {
      throw new Error(`${compressionName} compression not supported`);
    }

    this.compressed = compressionFn(this.packets.write(), this.deflateLevel);
  }
}

//////////////////////////
//                      //
//   Helper functions   //
//                      //
//////////////////////////


const nodeZlib = util.getNodeZlib();

function uncompressed(data) {
  return data;
}

function node_zlib(func, create, options = {}) {
  return function (data) {
    if (!util.isStream(data) || isArrayStream(data)) {
      return fromAsync(() => readToEnd(data).then(data => {
        return new Promise((resolve, reject) => {
          func(data, options, (err, result) => {
            if (err) return reject(err);
            resolve(result);
          });
        });
      }));
    }
    return nodeToWeb(webToNode(data).pipe(create(options)));
  };
}

function pako_zlib(constructor, options = {}) {
  return function(data) {
    const obj = new constructor(options);
    return transform(data, value => {
      if (value.length) {
        obj.push(value, Z_SYNC_FLUSH);
        return obj.result;
      }
    }, () => {
      if (constructor === Deflate) {
        obj.push([], Z_FINISH);
        return obj.result;
      }
    });
  };
}

function bzip2(func) {
  return function(data) {
    return fromAsync(async () => func(await readToEnd(data)));
  };
}

const compress_fns = nodeZlib ? {
  zip: /*#__PURE__*/ (compressed, level) => node_zlib(nodeZlib.deflateRaw, nodeZlib.createDeflateRaw, { level })(compressed),
  zlib: /*#__PURE__*/ (compressed, level) => node_zlib(nodeZlib.deflate, nodeZlib.createDeflate, { level })(compressed)
} : {
  zip: /*#__PURE__*/ (compressed, level) => pako_zlib(Deflate, { raw: true, level })(compressed),
  zlib: /*#__PURE__*/ (compressed, level) => pako_zlib(Deflate, { level })(compressed)
};

const decompress_fns = nodeZlib ? {
  uncompressed: uncompressed,
  zip: /*#__PURE__*/ node_zlib(nodeZlib.inflateRaw, nodeZlib.createInflateRaw),
  zlib: /*#__PURE__*/ node_zlib(nodeZlib.inflate, nodeZlib.createInflate),
  bzip2: /*#__PURE__*/ bzip2(lib_4)
} : {
  uncompressed: uncompressed,
  zip: /*#__PURE__*/ pako_zlib(Inflate, { raw: true }),
  zlib: /*#__PURE__*/ pako_zlib(Inflate),
  bzip2: /*#__PURE__*/ bzip2(lib_4)
};

// GPG4Browsers - An OpenPGP implementation in javascript

// A SEIP packet can contain the following packet types
const allowedPackets$1 = /*#__PURE__*/ util.constructAllowedPackets([
  LiteralDataPacket,
  CompressedDataPacket,
  OnePassSignaturePacket,
  SignaturePacket
]);

const VERSION$1 = 1; // A one-octet version number of the data packet.

/**
 * Implementation of the Sym. Encrypted Integrity Protected Data Packet (Tag 18)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.13|RFC4880 5.13}:
 * The Symmetrically Encrypted Integrity Protected Data packet is
 * a variant of the Symmetrically Encrypted Data packet. It is a new feature
 * created for OpenPGP that addresses the problem of detecting a modification to
 * encrypted data. It is used in combination with a Modification Detection Code
 * packet.
 */
class SymEncryptedIntegrityProtectedDataPacket {
  static get tag() {
    return enums.packet.symEncryptedIntegrityProtectedData;
  }

  constructor() {
    this.version = VERSION$1;
    this.encrypted = null;
    this.packets = null;
  }

  async read(bytes) {
    await parse(bytes, async reader => {
      const version = await reader.readByte();
      // - A one-octet version number. The only currently defined value is 1.
      if (version !== VERSION$1) {
        throw new UnsupportedError(`Version ${version} of the SEIP packet is unsupported.`);
      }

      // - Encrypted data, the output of the selected symmetric-key cipher
      //   operating in Cipher Feedback mode with shift amount equal to the
      //   block size of the cipher (CFB-n where n is the block size).
      this.encrypted = reader.remainder();
    });
  }

  write() {
    return util.concat([new Uint8Array([VERSION$1]), this.encrypted]);
  }

  /**
   * Encrypt the payload in the packet.
   * @param {enums.symmetric} sessionKeyAlgorithm - The symmetric encryption algorithm to use
   * @param {Uint8Array} key - The key of cipher blocksize length to be used
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Boolean>}
   * @throws {Error} on encryption failure
   * @async
   */
  async encrypt(sessionKeyAlgorithm, key, config$1 = config) {
    const { blockSize } = mod.getCipher(sessionKeyAlgorithm);

    let bytes = this.packets.write();
    if (isArrayStream(bytes)) bytes = await readToEnd(bytes);
    const prefix = await mod.getPrefixRandom(sessionKeyAlgorithm);
    const mdc = new Uint8Array([0xD3, 0x14]); // modification detection code packet

    const tohash = util.concat([prefix, bytes, mdc]);
    const hash = await mod.hash.sha1(passiveClone(tohash));
    const plaintext = util.concat([tohash, hash]);

    this.encrypted = await mod.mode.cfb.encrypt(sessionKeyAlgorithm, key, plaintext, new Uint8Array(blockSize), config$1);
    return true;
  }

  /**
   * Decrypts the encrypted data contained in the packet.
   * @param {enums.symmetric} sessionKeyAlgorithm - The selected symmetric encryption algorithm to be used
   * @param {Uint8Array} key - The key of cipher blocksize length to be used
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Boolean>}
   * @throws {Error} on decryption failure
   * @async
   */
  async decrypt(sessionKeyAlgorithm, key, config$1 = config) {
    const { blockSize } = mod.getCipher(sessionKeyAlgorithm);
    let encrypted = clone(this.encrypted);
    if (isArrayStream(encrypted)) encrypted = await readToEnd(encrypted);
    const decrypted = await mod.mode.cfb.decrypt(sessionKeyAlgorithm, key, encrypted, new Uint8Array(blockSize));

    // there must be a modification detection code packet as the
    // last packet and everything gets hashed except the hash itself
    const realHash = slice(passiveClone(decrypted), -20);
    const tohash = slice(decrypted, 0, -20);
    const verifyHash = Promise.all([
      readToEnd(await mod.hash.sha1(passiveClone(tohash))),
      readToEnd(realHash)
    ]).then(([hash, mdc]) => {
      if (!util.equalsUint8Array(hash, mdc)) {
        throw new Error('Modification detected.');
      }
      return new Uint8Array();
    });
    const bytes = slice(tohash, blockSize + 2); // Remove random prefix
    let packetbytes = slice(bytes, 0, -2); // Remove MDC packet
    packetbytes = concat([packetbytes, fromAsync(() => verifyHash)]);
    if (!util.isStream(encrypted) || !config$1.allowUnauthenticatedStream) {
      packetbytes = await readToEnd(packetbytes);
    }
    this.packets = await PacketList.fromBinary(packetbytes, allowedPackets$1, config$1);
    return true;
  }
}

// OpenPGP.js - An OpenPGP implementation in javascript

// An AEAD-encrypted Data packet can contain the following packet types
const allowedPackets$2 = /*#__PURE__*/ util.constructAllowedPackets([
  LiteralDataPacket,
  CompressedDataPacket,
  OnePassSignaturePacket,
  SignaturePacket
]);

const VERSION$2 = 1; // A one-octet version number of the data packet.

/**
 * Implementation of the Symmetrically Encrypted Authenticated Encryption with
 * Additional Data (AEAD) Protected Data Packet
 *
 * {@link https://tools.ietf.org/html/draft-ford-openpgp-format-00#section-2.1}:
 * AEAD Protected Data Packet
 */
class AEADEncryptedDataPacket {
  static get tag() {
    return enums.packet.aeadEncryptedData;
  }

  constructor() {
    this.version = VERSION$2;
    /** @type {enums.symmetric} */
    this.cipherAlgorithm = null;
    /** @type {enums.aead} */
    this.aeadAlgorithm = enums.aead.eax;
    this.chunkSizeByte = null;
    this.iv = null;
    this.encrypted = null;
    this.packets = null;
  }

  /**
   * Parse an encrypted payload of bytes in the order: version, IV, ciphertext (see specification)
   * @param {Uint8Array | ReadableStream<Uint8Array>} bytes
   * @throws {Error} on parsing failure
   */
  async read(bytes) {
    await parse(bytes, async reader => {
      const version = await reader.readByte();
      if (version !== VERSION$2) { // The only currently defined value is 1.
        throw new UnsupportedError(`Version ${version} of the AEAD-encrypted data packet is not supported.`);
      }
      this.cipherAlgorithm = await reader.readByte();
      this.aeadAlgorithm = await reader.readByte();
      this.chunkSizeByte = await reader.readByte();

      const mode = mod.getAEADMode(this.aeadAlgorithm);
      this.iv = await reader.readBytes(mode.ivLength);
      this.encrypted = reader.remainder();
    });
  }

  /**
   * Write the encrypted payload of bytes in the order: version, IV, ciphertext (see specification)
   * @returns {Uint8Array | ReadableStream<Uint8Array>} The encrypted payload.
   */
  write() {
    return util.concat([new Uint8Array([this.version, this.cipherAlgorithm, this.aeadAlgorithm, this.chunkSizeByte]), this.iv, this.encrypted]);
  }

  /**
   * Decrypt the encrypted payload.
   * @param {enums.symmetric} sessionKeyAlgorithm - The session key's cipher algorithm
   * @param {Uint8Array} key - The session key used to encrypt the payload
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if decryption was not successful
   * @async
   */
  async decrypt(sessionKeyAlgorithm, key, config$1 = config) {
    this.packets = await PacketList.fromBinary(
      await this.crypt('decrypt', key, clone(this.encrypted)),
      allowedPackets$2,
      config$1
    );
  }

  /**
   * Encrypt the packet payload.
   * @param {enums.symmetric} sessionKeyAlgorithm - The session key's cipher algorithm
   * @param {Uint8Array} key - The session key used to encrypt the payload
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if encryption was not successful
   * @async
   */
  async encrypt(sessionKeyAlgorithm, key, config$1 = config) {
    this.cipherAlgorithm = sessionKeyAlgorithm;

    const { ivLength } = mod.getAEADMode(this.aeadAlgorithm);
    this.iv = mod.random.getRandomBytes(ivLength); // generate new random IV
    this.chunkSizeByte = config$1.aeadChunkSizeByte;
    const data = this.packets.write();
    this.encrypted = await this.crypt('encrypt', key, data);
  }

  /**
   * En/decrypt the payload.
   * @param {encrypt|decrypt} fn - Whether to encrypt or decrypt
   * @param {Uint8Array} key - The session key used to en/decrypt the payload
   * @param {Uint8Array | ReadableStream<Uint8Array>} data - The data to en/decrypt
   * @returns {Promise<Uint8Array | ReadableStream<Uint8Array>>}
   * @async
   */
  async crypt(fn, key, data) {
    const mode = mod.getAEADMode(this.aeadAlgorithm);
    const modeInstance = await mode(this.cipherAlgorithm, key);
    const tagLengthIfDecrypting = fn === 'decrypt' ? mode.tagLength : 0;
    const tagLengthIfEncrypting = fn === 'encrypt' ? mode.tagLength : 0;
    const chunkSize = 2 ** (this.chunkSizeByte + 6) + tagLengthIfDecrypting; // ((uint64_t)1 << (c + 6))
    const adataBuffer = new ArrayBuffer(21);
    const adataArray = new Uint8Array(adataBuffer, 0, 13);
    const adataTagArray = new Uint8Array(adataBuffer);
    const adataView = new DataView(adataBuffer);
    const chunkIndexArray = new Uint8Array(adataBuffer, 5, 8);
    adataArray.set([0xC0 | AEADEncryptedDataPacket.tag, this.version, this.cipherAlgorithm, this.aeadAlgorithm, this.chunkSizeByte], 0);
    let chunkIndex = 0;
    let latestPromise = Promise.resolve();
    let cryptedBytes = 0;
    let queuedBytes = 0;
    const iv = this.iv;
    return transformPair(data, async (readable, writable) => {
      if (util.isStream(readable) !== 'array') {
        const buffer = new TransformStream({}, {
          highWaterMark: util.getHardwareConcurrency() * 2 ** (this.chunkSizeByte + 6),
          size: array => array.length
        });
        pipe(buffer.readable, writable);
        writable = buffer.writable;
      }
      const reader = getReader(readable);
      const writer = getWriter(writable);
      try {
        while (true) {
          let chunk = await reader.readBytes(chunkSize + tagLengthIfDecrypting) || new Uint8Array();
          const finalChunk = chunk.subarray(chunk.length - tagLengthIfDecrypting);
          chunk = chunk.subarray(0, chunk.length - tagLengthIfDecrypting);
          let cryptedPromise;
          let done;
          if (!chunkIndex || chunk.length) {
            reader.unshift(finalChunk);
            cryptedPromise = modeInstance[fn](chunk, mode.getNonce(iv, chunkIndexArray), adataArray);
            queuedBytes += chunk.length - tagLengthIfDecrypting + tagLengthIfEncrypting;
          } else {
            // After the last chunk, we either encrypt a final, empty
            // data chunk to get the final authentication tag or
            // validate that final authentication tag.
            adataView.setInt32(13 + 4, cryptedBytes); // Should be setInt64(13, ...)
            cryptedPromise = modeInstance[fn](finalChunk, mode.getNonce(iv, chunkIndexArray), adataTagArray);
            queuedBytes += tagLengthIfEncrypting;
            done = true;
          }
          cryptedBytes += chunk.length - tagLengthIfDecrypting;
          // eslint-disable-next-line no-loop-func
          latestPromise = latestPromise.then(() => cryptedPromise).then(async crypted => {
            await writer.ready;
            await writer.write(crypted);
            queuedBytes -= crypted.length;
          }).catch(err => writer.abort(err));
          if (done || queuedBytes > writer.desiredSize) {
            await latestPromise; // Respect backpressure
          }
          if (!done) {
            adataView.setInt32(5 + 4, ++chunkIndex); // Should be setInt64(5, ...)
          } else {
            await writer.close();
            break;
          }
        }
      } catch (e) {
        await writer.abort(e);
      }
    });
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

const VERSION$3 = 3;

/**
 * Public-Key Encrypted Session Key Packets (Tag 1)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.1|RFC4880 5.1}:
 * A Public-Key Encrypted Session Key packet holds the session key
 * used to encrypt a message. Zero or more Public-Key Encrypted Session Key
 * packets and/or Symmetric-Key Encrypted Session Key packets may precede a
 * Symmetrically Encrypted Data Packet, which holds an encrypted message. The
 * message is encrypted with the session key, and the session key is itself
 * encrypted and stored in the Encrypted Session Key packet(s). The
 * Symmetrically Encrypted Data Packet is preceded by one Public-Key Encrypted
 * Session Key packet for each OpenPGP key to which the message is encrypted.
 * The recipient of the message finds a session key that is encrypted to their
 * public key, decrypts the session key, and then uses the session key to
 * decrypt the message.
 */
class PublicKeyEncryptedSessionKeyPacket {
  static get tag() {
    return enums.packet.publicKeyEncryptedSessionKey;
  }

  constructor() {
    this.version = 3;

    this.publicKeyID = new KeyID();
    this.publicKeyAlgorithm = null;

    this.sessionKey = null;
    /**
     * Algorithm to encrypt the message with
     * @type {enums.symmetric}
     */
    this.sessionKeyAlgorithm = null;

    /** @type {Object} */
    this.encrypted = {};
  }

  /**
   * Parsing function for a publickey encrypted session key packet (tag 1).
   *
   * @param {Uint8Array} bytes - Payload of a tag 1 packet
   */
  read(bytes) {
    let i = 0;
    this.version = bytes[i++];
    if (this.version !== VERSION$3) {
      throw new UnsupportedError(`Version ${this.version} of the PKESK packet is unsupported.`);
    }
    i += this.publicKeyID.read(bytes.subarray(i));
    this.publicKeyAlgorithm = bytes[i++];
    this.encrypted = mod.parseEncSessionKeyParams(this.publicKeyAlgorithm, bytes.subarray(i), this.version);
    if (this.publicKeyAlgorithm === enums.publicKey.x25519) {
      this.sessionKeyAlgorithm = enums.write(enums.symmetric, this.encrypted.C.algorithm);
    }
  }

  /**
   * Create a binary representation of a tag 1 packet
   *
   * @returns {Uint8Array} The Uint8Array representation.
   */
  write() {
    const arr = [
      new Uint8Array([this.version]),
      this.publicKeyID.write(),
      new Uint8Array([this.publicKeyAlgorithm]),
      mod.serializeParams(this.publicKeyAlgorithm, this.encrypted)
    ];

    return util.concatUint8Array(arr);
  }

  /**
   * Encrypt session key packet
   * @param {PublicKeyPacket} key - Public key
   * @throws {Error} if encryption failed
   * @async
   */
  async encrypt(key) {
    const algo = enums.write(enums.publicKey, this.publicKeyAlgorithm);
    const encoded = encodeSessionKey(this.version, algo, this.sessionKeyAlgorithm, this.sessionKey);
    this.encrypted = await mod.publicKeyEncrypt(
      algo, this.sessionKeyAlgorithm, key.publicParams, encoded, key.getFingerprintBytes());
  }

  /**
   * Decrypts the session key (only for public key encrypted session key packets (tag 1)
   * @param {SecretKeyPacket} key - decrypted private key
   * @param {Object} [randomSessionKey] - Bogus session key to use in case of sensitive decryption error, or if the decrypted session key is of a different type/size.
   *                                      This is needed for constant-time processing. Expected object of the form: { sessionKey: Uint8Array, sessionKeyAlgorithm: enums.symmetric }
   * @throws {Error} if decryption failed, unless `randomSessionKey` is given
   * @async
   */
  async decrypt(key, randomSessionKey) {
    // check that session key algo matches the secret key algo
    if (this.publicKeyAlgorithm !== key.algorithm) {
      throw new Error('Decryption error');
    }

    const randomPayload = randomSessionKey ?
      encodeSessionKey(this.version, this.publicKeyAlgorithm, randomSessionKey.sessionKeyAlgorithm, randomSessionKey.sessionKey) :
      null;
    const decryptedData = await mod.publicKeyDecrypt(this.publicKeyAlgorithm, key.publicParams, key.privateParams, this.encrypted, key.getFingerprintBytes(), randomPayload);

    const { sessionKey, sessionKeyAlgorithm } = decodeSessionKey(this.version, this.publicKeyAlgorithm, decryptedData, randomSessionKey);

    // v3 Montgomery curves have cleartext cipher algo
    if (this.publicKeyAlgorithm !== enums.publicKey.x25519) {
      this.sessionKeyAlgorithm = sessionKeyAlgorithm;
    }
    this.sessionKey = sessionKey;
  }
}


function encodeSessionKey(version, keyAlgo, cipherAlgo, sessionKeyData) {
  switch (keyAlgo) {
    case enums.publicKey.rsaEncrypt:
    case enums.publicKey.rsaEncryptSign:
    case enums.publicKey.elgamal:
    case enums.publicKey.ecdh: {
      // add checksum
      return util.concatUint8Array([
        new Uint8Array([cipherAlgo]),
        sessionKeyData,
        util.writeChecksum(sessionKeyData.subarray(sessionKeyData.length % 8))
      ]);
    }
    case enums.publicKey.x25519:
      return sessionKeyData;
    default:
      throw new Error('Unsupported public key algorithm');
  }
}


function decodeSessionKey(version, keyAlgo, decryptedData, randomSessionKey) {
  switch (keyAlgo) {
    case enums.publicKey.rsaEncrypt:
    case enums.publicKey.rsaEncryptSign:
    case enums.publicKey.elgamal:
    case enums.publicKey.ecdh: {
      // verify checksum in constant time
      const result = decryptedData.subarray(0, decryptedData.length - 2);
      const checksum = decryptedData.subarray(decryptedData.length - 2);
      const computedChecksum = util.writeChecksum(result.subarray(result.length % 8));
      const isValidChecksum = computedChecksum[0] === checksum[0] & computedChecksum[1] === checksum[1];
      const decryptedSessionKey = { sessionKeyAlgorithm: result[0], sessionKey: result.subarray(1) };
      if (randomSessionKey) {
        // We must not leak info about the validity of the decrypted checksum or cipher algo.
        // The decrypted session key must be of the same algo and size as the random session key, otherwise we discard it and use the random data.
        const isValidPayload = isValidChecksum &
          decryptedSessionKey.sessionKeyAlgorithm === randomSessionKey.sessionKeyAlgorithm &
          decryptedSessionKey.sessionKey.length === randomSessionKey.sessionKey.length;
        return {
          sessionKey: util.selectUint8Array(isValidPayload, decryptedSessionKey.sessionKey, randomSessionKey.sessionKey),
          sessionKeyAlgorithm: util.selectUint8(
            isValidPayload,
            decryptedSessionKey.sessionKeyAlgorithm,
            randomSessionKey.sessionKeyAlgorithm
          )
        };
      } else {
        const isValidPayload = isValidChecksum && enums.read(enums.symmetric, decryptedSessionKey.sessionKeyAlgorithm);
        if (isValidPayload) {
          return decryptedSessionKey;
        } else {
          throw new Error('Decryption error');
        }
      }
    }
    case enums.publicKey.x25519:
      return {
        sessionKey: decryptedData
      };
    default:
      throw new Error('Unsupported public key algorithm');
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

class S2K {
  /**
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  constructor(config$1 = config) {
    /**
     * Hash function identifier, or 0 for gnu-dummy keys
     * @type {module:enums.hash | 0}
     */
    this.algorithm = enums.hash.sha256;
    /**
     * enums.s2k identifier or 'gnu-dummy'
     * @type {String}
     */
    this.type = 'iterated';
    /** @type {Integer} */
    this.c = config$1.s2kIterationCountByte;
    /** Eight bytes of salt in a binary string.
     * @type {Uint8Array}
     */
    this.salt = null;
  }

  getCount() {
    // Exponent bias, defined in RFC4880
    const expbias = 6;

    return (16 + (this.c & 15)) << ((this.c >> 4) + expbias);
  }

  /**
   * Parsing function for a string-to-key specifier ({@link https://tools.ietf.org/html/rfc4880#section-3.7|RFC 4880 3.7}).
   * @param {Uint8Array} bytes - Payload of string-to-key specifier
   * @returns {Integer} Actual length of the object.
   */
  read(bytes) {
    let i = 0;
    try {
      this.type = enums.read(enums.s2k, bytes[i++]);
    } catch (err) {
      throw new UnsupportedError('Unknown S2K type.');
    }
    this.algorithm = bytes[i++];

    switch (this.type) {
      case 'simple':
        break;

      case 'salted':
        this.salt = bytes.subarray(i, i + 8);
        i += 8;
        break;

      case 'iterated':
        this.salt = bytes.subarray(i, i + 8);
        i += 8;

        // Octet 10: count, a one-octet, coded value
        this.c = bytes[i++];
        break;

      case 'gnu':
        if (util.uint8ArrayToString(bytes.subarray(i, i + 3)) === 'GNU') {
          i += 3; // GNU
          const gnuExtType = 1000 + bytes[i++];
          if (gnuExtType === 1001) {
            this.type = 'gnu-dummy';
            // GnuPG extension mode 1001 -- don't write secret key at all
          } else {
            throw new UnsupportedError('Unknown s2k gnu protection mode.');
          }
        } else {
          throw new UnsupportedError('Unknown s2k type.');
        }
        break;

      default:
        throw new UnsupportedError('Unknown s2k type.'); // unreachable
    }

    return i;
  }

  /**
   * Serializes s2k information
   * @returns {Uint8Array} Binary representation of s2k.
   */
  write() {
    if (this.type === 'gnu-dummy') {
      return new Uint8Array([101, 0, ...util.stringToUint8Array('GNU'), 1]);
    }
    const arr = [new Uint8Array([enums.write(enums.s2k, this.type), this.algorithm])];

    switch (this.type) {
      case 'simple':
        break;
      case 'salted':
        arr.push(this.salt);
        break;
      case 'iterated':
        arr.push(this.salt);
        arr.push(new Uint8Array([this.c]));
        break;
      case 'gnu':
        throw new Error('GNU s2k type not supported.');
      default:
        throw new Error('Unknown s2k type.');
    }

    return util.concatUint8Array(arr);
  }

  /**
   * Produces a key using the specified passphrase and the defined
   * hashAlgorithm
   * @param {String} passphrase - Passphrase containing user input
   * @returns {Promise<Uint8Array>} Produced key with a length corresponding to.
   * hashAlgorithm hash length
   * @async
   */
  async produceKey(passphrase, numBytes) {
    passphrase = util.encodeUTF8(passphrase);

    const arr = [];
    let rlength = 0;

    let prefixlen = 0;
    while (rlength < numBytes) {
      let toHash;
      switch (this.type) {
        case 'simple':
          toHash = util.concatUint8Array([new Uint8Array(prefixlen), passphrase]);
          break;
        case 'salted':
          toHash = util.concatUint8Array([new Uint8Array(prefixlen), this.salt, passphrase]);
          break;
        case 'iterated': {
          const data = util.concatUint8Array([this.salt, passphrase]);
          let datalen = data.length;
          const count = Math.max(this.getCount(), datalen);
          toHash = new Uint8Array(prefixlen + count);
          toHash.set(data, prefixlen);
          for (let pos = prefixlen + datalen; pos < count; pos += datalen, datalen *= 2) {
            toHash.copyWithin(pos, prefixlen, pos);
          }
          break;
        }
        case 'gnu':
          throw new Error('GNU s2k type not supported.');
        default:
          throw new Error('Unknown s2k type.');
      }
      const result = await mod.hash.digest(this.algorithm, toHash);
      arr.push(result);
      rlength += result.length;
      prefixlen++;
    }

    return util.concatUint8Array(arr).subarray(0, numBytes);
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * Symmetric-Key Encrypted Session Key Packets (Tag 3)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.3|RFC4880 5.3}:
 * The Symmetric-Key Encrypted Session Key packet holds the
 * symmetric-key encryption of a session key used to encrypt a message.
 * Zero or more Public-Key Encrypted Session Key packets and/or
 * Symmetric-Key Encrypted Session Key packets may precede a
 * Symmetrically Encrypted Data packet that holds an encrypted message.
 * The message is encrypted with a session key, and the session key is
 * itself encrypted and stored in the Encrypted Session Key packet or
 * the Symmetric-Key Encrypted Session Key packet.
 */
class SymEncryptedSessionKeyPacket {
  static get tag() {
    return enums.packet.symEncryptedSessionKey;
  }

  /**
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  constructor(config$1 = config) {
    this.version = config$1.aeadProtect ? 5 : 4;
    this.sessionKey = null;
    /**
     * Algorithm to encrypt the session key with
     * @type {enums.symmetric}
     */
    this.sessionKeyEncryptionAlgorithm = null;
    /**
     * Algorithm to encrypt the message with
     * @type {enums.symmetric}
     */
    this.sessionKeyAlgorithm = enums.symmetric.aes256;
    /**
     * AEAD mode to encrypt the session key with (if AEAD protection is enabled)
     * @type {enums.aead}
     */
    this.aeadAlgorithm = enums.write(enums.aead, config$1.preferredAEADAlgorithm);
    this.encrypted = null;
    this.s2k = null;
    this.iv = null;
  }

  /**
   * Parsing function for a symmetric encrypted session key packet (tag 3).
   *
   * @param {Uint8Array} bytes - Payload of a tag 3 packet
   */
  read(bytes) {
    let offset = 0;

    // A one-octet version number. The only currently defined version is 4.
    this.version = bytes[offset++];
    if (this.version !== 4 && this.version !== 5) {
      throw new UnsupportedError(`Version ${this.version} of the SKESK packet is unsupported.`);
    }

    // A one-octet number describing the symmetric algorithm used.
    const algo = bytes[offset++];

    if (this.version === 5) {
      // A one-octet AEAD algorithm.
      this.aeadAlgorithm = bytes[offset++];
    }

    // A string-to-key (S2K) specifier, length as defined above.
    this.s2k = new S2K();
    offset += this.s2k.read(bytes.subarray(offset, bytes.length));

    if (this.version === 5) {
      const mode = mod.getAEADMode(this.aeadAlgorithm);

      // A starting initialization vector of size specified by the AEAD
      // algorithm.
      this.iv = bytes.subarray(offset, offset += mode.ivLength);
    }

    // The encrypted session key itself, which is decrypted with the
    // string-to-key object. This is optional in version 4.
    if (this.version === 5 || offset < bytes.length) {
      this.encrypted = bytes.subarray(offset, bytes.length);
      this.sessionKeyEncryptionAlgorithm = algo;
    } else {
      this.sessionKeyAlgorithm = algo;
    }
  }

  /**
   * Create a binary representation of a tag 3 packet
   *
   * @returns {Uint8Array} The Uint8Array representation.
  */
  write() {
    const algo = this.encrypted === null ?
      this.sessionKeyAlgorithm :
      this.sessionKeyEncryptionAlgorithm;

    let bytes;

    if (this.version === 5) {
      bytes = util.concatUint8Array([new Uint8Array([this.version, algo, this.aeadAlgorithm]), this.s2k.write(), this.iv, this.encrypted]);
    } else {
      bytes = util.concatUint8Array([new Uint8Array([this.version, algo]), this.s2k.write()]);

      if (this.encrypted !== null) {
        bytes = util.concatUint8Array([bytes, this.encrypted]);
      }
    }

    return bytes;
  }

  /**
   * Decrypts the session key with the given passphrase
   * @param {String} passphrase - The passphrase in string form
   * @throws {Error} if decryption was not successful
   * @async
   */
  async decrypt(passphrase) {
    const algo = this.sessionKeyEncryptionAlgorithm !== null ?
      this.sessionKeyEncryptionAlgorithm :
      this.sessionKeyAlgorithm;

    const { blockSize, keySize } = mod.getCipher(algo);
    const key = await this.s2k.produceKey(passphrase, keySize);

    if (this.version === 5) {
      const mode = mod.getAEADMode(this.aeadAlgorithm);
      const adata = new Uint8Array([0xC0 | SymEncryptedSessionKeyPacket.tag, this.version, this.sessionKeyEncryptionAlgorithm, this.aeadAlgorithm]);
      const modeInstance = await mode(algo, key);
      this.sessionKey = await modeInstance.decrypt(this.encrypted, this.iv, adata);
    } else if (this.encrypted !== null) {
      const decrypted = await mod.mode.cfb.decrypt(algo, key, this.encrypted, new Uint8Array(blockSize));

      this.sessionKeyAlgorithm = enums.write(enums.symmetric, decrypted[0]);
      this.sessionKey = decrypted.subarray(1, decrypted.length);
    } else {
      this.sessionKey = key;
    }
  }

  /**
   * Encrypts the session key with the given passphrase
   * @param {String} passphrase - The passphrase in string form
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if encryption was not successful
   * @async
   */
  async encrypt(passphrase, config$1 = config) {
    const algo = this.sessionKeyEncryptionAlgorithm !== null ?
      this.sessionKeyEncryptionAlgorithm :
      this.sessionKeyAlgorithm;

    this.sessionKeyEncryptionAlgorithm = algo;

    this.s2k = new S2K(config$1);
    this.s2k.salt = mod.random.getRandomBytes(8);

    const { blockSize, keySize } = mod.getCipher(algo);
    const encryptionKey = await this.s2k.produceKey(passphrase, keySize);

    if (this.sessionKey === null) {
      this.sessionKey = mod.generateSessionKey(this.sessionKeyAlgorithm);
    }

    if (this.version === 5) {
      const mode = mod.getAEADMode(this.aeadAlgorithm);
      this.iv = mod.random.getRandomBytes(mode.ivLength); // generate new random IV
      const associatedData = new Uint8Array([0xC0 | SymEncryptedSessionKeyPacket.tag, this.version, this.sessionKeyEncryptionAlgorithm, this.aeadAlgorithm]);
      const modeInstance = await mode(algo, encryptionKey);
      this.encrypted = await modeInstance.encrypt(this.sessionKey, this.iv, associatedData);
    } else {
      const toEncrypt = util.concatUint8Array([
        new Uint8Array([this.sessionKeyAlgorithm]),
        this.sessionKey
      ]);
      this.encrypted = await mod.mode.cfb.encrypt(algo, encryptionKey, toEncrypt, new Uint8Array(blockSize), config$1);
    }
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * Implementation of the Key Material Packet (Tag 5,6,7,14)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.5|RFC4480 5.5}:
 * A key material packet contains all the information about a public or
 * private key.  There are four variants of this packet type, and two
 * major versions.
 *
 * A Public-Key packet starts a series of packets that forms an OpenPGP
 * key (sometimes called an OpenPGP certificate).
 */
class PublicKeyPacket {
  static get tag() {
    return enums.packet.publicKey;
  }

  /**
   * @param {Date} [date] - Creation date
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  constructor(date = new Date(), config$1 = config) {
    /**
     * Packet version
     * @type {Integer}
     */
    this.version = config$1.v5Keys ? 5 : 4;
    /**
     * Key creation date.
     * @type {Date}
     */
    this.created = util.normalizeDate(date);
    /**
     * Public key algorithm.
     * @type {enums.publicKey}
     */
    this.algorithm = null;
    /**
     * Algorithm specific public params
     * @type {Object}
     */
    this.publicParams = null;
    /**
     * Time until expiration in days (V3 only)
     * @type {Integer}
     */
    this.expirationTimeV3 = 0;
    /**
     * Fingerprint bytes
     * @type {Uint8Array}
     */
    this.fingerprint = null;
    /**
     * KeyID
     * @type {module:type/keyid~KeyID}
     */
    this.keyID = null;
  }

  /**
   * Create a PublicKeyPacket from a SecretKeyPacket
   * @param {SecretKeyPacket} secretKeyPacket - key packet to convert
   * @returns {PublicKeyPacket} public key packet
   * @static
   */
  static fromSecretKeyPacket(secretKeyPacket) {
    const keyPacket = new PublicKeyPacket();
    const { version, created, algorithm, publicParams, keyID, fingerprint } = secretKeyPacket;
    keyPacket.version = version;
    keyPacket.created = created;
    keyPacket.algorithm = algorithm;
    keyPacket.publicParams = publicParams;
    keyPacket.keyID = keyID;
    keyPacket.fingerprint = fingerprint;
    return keyPacket;
  }

  /**
   * Internal Parser for public keys as specified in {@link https://tools.ietf.org/html/rfc4880#section-5.5.2|RFC 4880 section 5.5.2 Public-Key Packet Formats}
   * @param {Uint8Array} bytes - Input array to read the packet from
   * @returns {Object} This object with attributes set by the parser
   * @async
   */
  async read(bytes) {
    let pos = 0;
    // A one-octet version number (3, 4 or 5).
    this.version = bytes[pos++];

    if (this.version === 4 || this.version === 5) {
      // - A four-octet number denoting the time that the key was created.
      this.created = util.readDate(bytes.subarray(pos, pos + 4));
      pos += 4;

      // - A one-octet number denoting the public-key algorithm of this key.
      this.algorithm = bytes[pos++];

      if (this.version === 5) {
        // - A four-octet scalar octet count for the following key material.
        pos += 4;
      }

      // - A series of values comprising the key material.
      const { read, publicParams } = mod.parsePublicKeyParams(this.algorithm, bytes.subarray(pos));
      this.publicParams = publicParams;
      pos += read;

      // we set the fingerprint and keyID already to make it possible to put together the key packets directly in the Key constructor
      await this.computeFingerprintAndKeyID();
      return pos;
    }
    throw new UnsupportedError(`Version ${this.version} of the key packet is unsupported.`);
  }

  /**
   * Creates an OpenPGP public key packet for the given key.
   * @returns {Uint8Array} Bytes encoding the public key OpenPGP packet.
   */
  write() {
    const arr = [];
    // Version
    arr.push(new Uint8Array([this.version]));
    arr.push(util.writeDate(this.created));
    // A one-octet number denoting the public-key algorithm of this key
    arr.push(new Uint8Array([this.algorithm]));

    const params = mod.serializeParams(this.algorithm, this.publicParams);
    if (this.version === 5) {
      // A four-octet scalar octet count for the following key material
      arr.push(util.writeNumber(params.length, 4));
    }
    // Algorithm-specific params
    arr.push(params);
    return util.concatUint8Array(arr);
  }

  /**
   * Write packet in order to be hashed; either for a signature or a fingerprint
   * @param {Integer} version - target version of signature or key
   */
  writeForHash(version) {
    const bytes = this.writePublicKey();

    if (version === 5) {
      return util.concatUint8Array([new Uint8Array([0x9A]), util.writeNumber(bytes.length, 4), bytes]);
    }
    return util.concatUint8Array([new Uint8Array([0x99]), util.writeNumber(bytes.length, 2), bytes]);
  }

  /**
   * Check whether secret-key data is available in decrypted form. Returns null for public keys.
   * @returns {Boolean|null}
   */
  isDecrypted() {
    return null;
  }

  /**
   * Returns the creation time of the key
   * @returns {Date}
   */
  getCreationTime() {
    return this.created;
  }

  /**
   * Return the key ID of the key
   * @returns {module:type/keyid~KeyID} The 8-byte key ID
   */
  getKeyID() {
    return this.keyID;
  }

  /**
   * Computes and set the key ID and fingerprint of the key
   * @async
   */
  async computeFingerprintAndKeyID() {
    await this.computeFingerprint();
    this.keyID = new KeyID();

    if (this.version === 5) {
      this.keyID.read(this.fingerprint.subarray(0, 8));
    } else if (this.version === 4) {
      this.keyID.read(this.fingerprint.subarray(12, 20));
    } else {
      throw new Error('Unsupported key version');
    }
  }

  /**
   * Computes and set the fingerprint of the key
   */
  async computeFingerprint() {
    const toHash = this.writeForHash(this.version);

    if (this.version === 5) {
      this.fingerprint = await mod.hash.sha256(toHash);
    } else if (this.version === 4) {
      this.fingerprint = await mod.hash.sha1(toHash);
    } else {
      throw new Error('Unsupported key version');
    }
  }

  /**
   * Returns the fingerprint of the key, as an array of bytes
   * @returns {Uint8Array} A Uint8Array containing the fingerprint
   */
  getFingerprintBytes() {
    return this.fingerprint;
  }

  /**
   * Calculates and returns the fingerprint of the key, as a string
   * @returns {String} A string containing the fingerprint in lowercase hex
   */
  getFingerprint() {
    return util.uint8ArrayToHex(this.getFingerprintBytes());
  }

  /**
   * Calculates whether two keys have the same fingerprint without actually calculating the fingerprint
   * @returns {Boolean} Whether the two keys have the same version and public key data.
   */
  hasSameFingerprintAs(other) {
    return this.version === other.version && util.equalsUint8Array(this.writePublicKey(), other.writePublicKey());
  }

  /**
   * Returns algorithm information
   * @returns {Object} An object of the form {algorithm: String, bits:int, curve:String}.
   */
  getAlgorithmInfo() {
    const result = {};
    result.algorithm = enums.read(enums.publicKey, this.algorithm);
    // RSA, DSA or ElGamal public modulo
    const modulo = this.publicParams.n || this.publicParams.p;
    if (modulo) {
      result.bits = util.uint8ArrayBitLength(modulo);
    } else if (this.publicParams.oid) {
      result.curve = this.publicParams.oid.getName();
    }
    return result;
  }
}

/**
 * Alias of read()
 * @see PublicKeyPacket#read
 */
PublicKeyPacket.prototype.readPublicKey = PublicKeyPacket.prototype.read;

/**
 * Alias of write()
 * @see PublicKeyPacket#write
 */
PublicKeyPacket.prototype.writePublicKey = PublicKeyPacket.prototype.write;

// GPG4Browsers - An OpenPGP implementation in javascript

// A SE packet can contain the following packet types
const allowedPackets$3 = /*#__PURE__*/ util.constructAllowedPackets([
  LiteralDataPacket,
  CompressedDataPacket,
  OnePassSignaturePacket,
  SignaturePacket
]);

/**
 * Implementation of the Symmetrically Encrypted Data Packet (Tag 9)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.7|RFC4880 5.7}:
 * The Symmetrically Encrypted Data packet contains data encrypted with a
 * symmetric-key algorithm. When it has been decrypted, it contains other
 * packets (usually a literal data packet or compressed data packet, but in
 * theory other Symmetrically Encrypted Data packets or sequences of packets
 * that form whole OpenPGP messages).
 */
class SymmetricallyEncryptedDataPacket {
  static get tag() {
    return enums.packet.symmetricallyEncryptedData;
  }

  constructor() {
    /**
     * Encrypted secret-key data
     */
    this.encrypted = null;
    /**
     * Decrypted packets contained within.
     * @type {PacketList}
     */
    this.packets = null;
  }

  read(bytes) {
    this.encrypted = bytes;
  }

  write() {
    return this.encrypted;
  }

  /**
   * Decrypt the symmetrically-encrypted packet data
   * See {@link https://tools.ietf.org/html/rfc4880#section-9.2|RFC 4880 9.2} for algorithms.
   * @param {module:enums.symmetric} sessionKeyAlgorithm - Symmetric key algorithm to use
   * @param {Uint8Array} key - The key of cipher blocksize length to be used
   * @param {Object} [config] - Full configuration, defaults to openpgp.config

   * @throws {Error} if decryption was not successful
   * @async
   */
  async decrypt(sessionKeyAlgorithm, key, config$1 = config) {
    // If MDC errors are not being ignored, all missing MDC packets in symmetrically encrypted data should throw an error
    if (!config$1.allowUnauthenticatedMessages) {
      throw new Error('Message is not authenticated.');
    }

    const { blockSize } = mod.getCipher(sessionKeyAlgorithm);
    const encrypted = await readToEnd(clone(this.encrypted));
    const decrypted = await mod.mode.cfb.decrypt(sessionKeyAlgorithm, key,
      encrypted.subarray(blockSize + 2),
      encrypted.subarray(2, blockSize + 2)
    );

    this.packets = await PacketList.fromBinary(decrypted, allowedPackets$3, config$1);
  }

  /**
   * Encrypt the symmetrically-encrypted packet data
   * See {@link https://tools.ietf.org/html/rfc4880#section-9.2|RFC 4880 9.2} for algorithms.
   * @param {module:enums.symmetric} sessionKeyAlgorithm - Symmetric key algorithm to use
   * @param {Uint8Array} key - The key of cipher blocksize length to be used
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if encryption was not successful
   * @async
   */
  async encrypt(sessionKeyAlgorithm, key, config$1 = config) {
    const data = this.packets.write();
    const { blockSize } = mod.getCipher(sessionKeyAlgorithm);

    const prefix = await mod.getPrefixRandom(sessionKeyAlgorithm);
    const FRE = await mod.mode.cfb.encrypt(sessionKeyAlgorithm, key, prefix, new Uint8Array(blockSize), config$1);
    const ciphertext = await mod.mode.cfb.encrypt(sessionKeyAlgorithm, key, data, FRE.subarray(2), config$1);
    this.encrypted = util.concat([FRE, ciphertext]);
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * Implementation of the strange "Marker packet" (Tag 10)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.8|RFC4880 5.8}:
 * An experimental version of PGP used this packet as the Literal
 * packet, but no released version of PGP generated Literal packets with this
 * tag. With PGP 5.x, this packet has been reassigned and is reserved for use as
 * the Marker packet.
 *
 * The body of this packet consists of:
 *   The three octets 0x50, 0x47, 0x50 (which spell "PGP" in UTF-8).
 *
 * Such a packet MUST be ignored when received. It may be placed at the
 * beginning of a message that uses features not available in PGP
 * version 2.6 in order to cause that version to report that newer
 * software is necessary to process the message.
 */
class MarkerPacket {
  static get tag() {
    return enums.packet.marker;
  }

  /**
   * Parsing function for a marker data packet (tag 10).
   * @param {Uint8Array} bytes - Payload of a tag 10 packet
   * @returns {Boolean} whether the packet payload contains "PGP"
   */
  read(bytes) {
    if (bytes[0] === 0x50 && // P
        bytes[1] === 0x47 && // G
        bytes[2] === 0x50) { // P
      return true;
    }
    return false;
  }

  write() {
    return new Uint8Array([0x50, 0x47, 0x50]);
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * A Public-Subkey packet (tag 14) has exactly the same format as a
 * Public-Key packet, but denotes a subkey.  One or more subkeys may be
 * associated with a top-level key.  By convention, the top-level key
 * provides signature services, and the subkeys provide encryption
 * services.
 * @extends PublicKeyPacket
 */
class PublicSubkeyPacket extends PublicKeyPacket {
  static get tag() {
    return enums.packet.publicSubkey;
  }

  /**
   * @param {Date} [date] - Creation date
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  // eslint-disable-next-line no-useless-constructor
  constructor(date, config) {
    super(date, config);
  }

  /**
   * Create a PublicSubkeyPacket from a SecretSubkeyPacket
   * @param {SecretSubkeyPacket} secretSubkeyPacket - subkey packet to convert
   * @returns {SecretSubkeyPacket} public key packet
   * @static
   */
  static fromSecretSubkeyPacket(secretSubkeyPacket) {
    const keyPacket = new PublicSubkeyPacket();
    const { version, created, algorithm, publicParams, keyID, fingerprint } = secretSubkeyPacket;
    keyPacket.version = version;
    keyPacket.created = created;
    keyPacket.algorithm = algorithm;
    keyPacket.publicParams = publicParams;
    keyPacket.keyID = keyID;
    keyPacket.fingerprint = fingerprint;
    return keyPacket;
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * Implementation of the User Attribute Packet (Tag 17)
 *
 * The User Attribute packet is a variation of the User ID packet.  It
 * is capable of storing more types of data than the User ID packet,
 * which is limited to text.  Like the User ID packet, a User Attribute
 * packet may be certified by the key owner ("self-signed") or any other
 * key owner who cares to certify it.  Except as noted, a User Attribute
 * packet may be used anywhere that a User ID packet may be used.
 *
 * While User Attribute packets are not a required part of the OpenPGP
 * standard, implementations SHOULD provide at least enough
 * compatibility to properly handle a certification signature on the
 * User Attribute packet.  A simple way to do this is by treating the
 * User Attribute packet as a User ID packet with opaque contents, but
 * an implementation may use any method desired.
 */
class UserAttributePacket {
  static get tag() {
    return enums.packet.userAttribute;
  }

  constructor() {
    this.attributes = [];
  }

  /**
   * parsing function for a user attribute packet (tag 17).
   * @param {Uint8Array} input - Payload of a tag 17 packet
   */
  read(bytes) {
    let i = 0;
    while (i < bytes.length) {
      const len = readSimpleLength(bytes.subarray(i, bytes.length));
      i += len.offset;

      this.attributes.push(util.uint8ArrayToString(bytes.subarray(i, i + len.len)));
      i += len.len;
    }
  }

  /**
   * Creates a binary representation of the user attribute packet
   * @returns {Uint8Array} String representation.
   */
  write() {
    const arr = [];
    for (let i = 0; i < this.attributes.length; i++) {
      arr.push(writeSimpleLength(this.attributes[i].length));
      arr.push(util.stringToUint8Array(this.attributes[i]));
    }
    return util.concatUint8Array(arr);
  }

  /**
   * Compare for equality
   * @param {UserAttributePacket} usrAttr
   * @returns {Boolean} True if equal.
   */
  equals(usrAttr) {
    if (!usrAttr || !(usrAttr instanceof UserAttributePacket)) {
      return false;
    }
    return this.attributes.every(function(attr, index) {
      return attr === usrAttr.attributes[index];
    });
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * A Secret-Key packet contains all the information that is found in a
 * Public-Key packet, including the public-key material, but also
 * includes the secret-key material after all the public-key fields.
 * @extends PublicKeyPacket
 */
class SecretKeyPacket extends PublicKeyPacket {
  static get tag() {
    return enums.packet.secretKey;
  }

  /**
   * @param {Date} [date] - Creation date
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  constructor(date = new Date(), config$1 = config) {
    super(date, config$1);
    /**
     * Secret-key data
     */
    this.keyMaterial = null;
    /**
     * Indicates whether secret-key data is encrypted. `this.isEncrypted === false` means data is available in decrypted form.
     */
    this.isEncrypted = null;
    /**
     * S2K usage
     * @type {enums.symmetric}
     */
    this.s2kUsage = 0;
    /**
     * S2K object
     * @type {type/s2k}
     */
    this.s2k = null;
    /**
     * Symmetric algorithm to encrypt the key with
     * @type {enums.symmetric}
     */
    this.symmetric = null;
    /**
     * AEAD algorithm to encrypt the key with (if AEAD protection is enabled)
     * @type {enums.aead}
     */
    this.aead = null;
    /**
     * Decrypted private parameters, referenced by name
     * @type {Object}
     */
    this.privateParams = null;
  }

  // 5.5.3.  Secret-Key Packet Formats

  /**
   * Internal parser for private keys as specified in
   * {@link https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-04#section-5.5.3|RFC4880bis-04 section 5.5.3}
   * @param {Uint8Array} bytes - Input string to read the packet from
   * @async
   */
  async read(bytes) {
    // - A Public-Key or Public-Subkey packet, as described above.
    let i = await this.readPublicKey(bytes);
    const startOfSecretKeyData = i;

    // - One octet indicating string-to-key usage conventions.  Zero
    //   indicates that the secret-key data is not encrypted.  255 or 254
    //   indicates that a string-to-key specifier is being given.  Any
    //   other value is a symmetric-key encryption algorithm identifier.
    this.s2kUsage = bytes[i++];

    // - Only for a version 5 packet, a one-octet scalar octet count of
    //   the next 4 optional fields.
    if (this.version === 5) {
      i++;
    }

    try {
      // - [Optional] If string-to-key usage octet was 255, 254, or 253, a
      //   one-octet symmetric encryption algorithm.
      if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
        this.symmetric = bytes[i++];

        // - [Optional] If string-to-key usage octet was 253, a one-octet
        //   AEAD algorithm.
        if (this.s2kUsage === 253) {
          this.aead = bytes[i++];
        }

        // - [Optional] If string-to-key usage octet was 255, 254, or 253, a
        //   string-to-key specifier.  The length of the string-to-key
        //   specifier is implied by its type, as described above.
        this.s2k = new S2K();
        i += this.s2k.read(bytes.subarray(i, bytes.length));

        if (this.s2k.type === 'gnu-dummy') {
          return;
        }
      } else if (this.s2kUsage) {
        this.symmetric = this.s2kUsage;
      }

      // - [Optional] If secret data is encrypted (string-to-key usage octet
      //   not zero), an Initial Vector (IV) of the same length as the
      //   cipher's block size.
      if (this.s2kUsage) {
        this.iv = bytes.subarray(
          i,
          i + mod.getCipher(this.symmetric).blockSize
        );

        i += this.iv.length;
      }
    } catch (e) {
      // if the s2k is unsupported, we still want to support encrypting and verifying with the given key
      if (!this.s2kUsage) throw e; // always throw for decrypted keys
      this.unparseableKeyMaterial = bytes.subarray(startOfSecretKeyData);
      this.isEncrypted = true;
    }

    // - Only for a version 5 packet, a four-octet scalar octet count for
    //   the following key material.
    if (this.version === 5) {
      i += 4;
    }

    // - Plain or encrypted multiprecision integers comprising the secret
    //   key data.  These algorithm-specific fields are as described
    //   below.
    this.keyMaterial = bytes.subarray(i);
    this.isEncrypted = !!this.s2kUsage;

    if (!this.isEncrypted) {
      const cleartext = this.keyMaterial.subarray(0, -2);
      if (!util.equalsUint8Array(util.writeChecksum(cleartext), this.keyMaterial.subarray(-2))) {
        throw new Error('Key checksum mismatch');
      }
      try {
        const { privateParams } = mod.parsePrivateKeyParams(this.algorithm, cleartext, this.publicParams);
        this.privateParams = privateParams;
      } catch (err) {
        if (err instanceof UnsupportedError) throw err;
        // avoid throwing potentially sensitive errors
        throw new Error('Error reading MPIs');
      }
    }
  }

  /**
   * Creates an OpenPGP key packet for the given key.
   * @returns {Uint8Array} A string of bytes containing the secret key OpenPGP packet.
   */
  write() {
    const serializedPublicKey = this.writePublicKey();
    if (this.unparseableKeyMaterial) {
      return util.concatUint8Array([
        serializedPublicKey,
        this.unparseableKeyMaterial
      ]);
    }

    const arr = [serializedPublicKey];
    arr.push(new Uint8Array([this.s2kUsage]));

    const optionalFieldsArr = [];
    // - [Optional] If string-to-key usage octet was 255, 254, or 253, a
    //   one- octet symmetric encryption algorithm.
    if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
      optionalFieldsArr.push(this.symmetric);

      // - [Optional] If string-to-key usage octet was 253, a one-octet
      //   AEAD algorithm.
      if (this.s2kUsage === 253) {
        optionalFieldsArr.push(this.aead);
      }

      // - [Optional] If string-to-key usage octet was 255, 254, or 253, a
      //   string-to-key specifier.  The length of the string-to-key
      //   specifier is implied by its type, as described above.
      optionalFieldsArr.push(...this.s2k.write());
    }

    // - [Optional] If secret data is encrypted (string-to-key usage octet
    //   not zero), an Initial Vector (IV) of the same length as the
    //   cipher's block size.
    if (this.s2kUsage && this.s2k.type !== 'gnu-dummy') {
      optionalFieldsArr.push(...this.iv);
    }

    if (this.version === 5) {
      arr.push(new Uint8Array([optionalFieldsArr.length]));
    }
    arr.push(new Uint8Array(optionalFieldsArr));

    if (!this.isDummy()) {
      if (!this.s2kUsage) {
        this.keyMaterial = mod.serializeParams(this.algorithm, this.privateParams);
      }

      if (this.version === 5) {
        arr.push(util.writeNumber(this.keyMaterial.length, 4));
      }
      arr.push(this.keyMaterial);

      if (!this.s2kUsage) {
        arr.push(util.writeChecksum(this.keyMaterial));
      }
    }

    return util.concatUint8Array(arr);
  }

  /**
   * Check whether secret-key data is available in decrypted form.
   * Returns false for gnu-dummy keys and null for public keys.
   * @returns {Boolean|null}
   */
  isDecrypted() {
    return this.isEncrypted === false;
  }

  /**
   * Check whether the key includes secret key material.
   * Some secret keys do not include it, and can thus only be used
   * for public-key operations (encryption and verification).
   * Such keys are:
   * - GNU-dummy keys, where the secret material has been stripped away
   * - encrypted keys with unsupported S2K or cipher
   */
  isMissingSecretKeyMaterial() {
    return this.unparseableKeyMaterial !== undefined || this.isDummy();
  }

  /**
   * Check whether this is a gnu-dummy key
   * @returns {Boolean}
   */
  isDummy() {
    return !!(this.s2k && this.s2k.type === 'gnu-dummy');
  }

  /**
   * Remove private key material, converting the key to a dummy one.
   * The resulting key cannot be used for signing/decrypting but can still verify signatures.
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  makeDummy(config$1 = config) {
    if (this.isDummy()) {
      return;
    }
    if (this.isDecrypted()) {
      this.clearPrivateParams();
    }
    delete this.unparseableKeyMaterial;
    this.isEncrypted = null;
    this.keyMaterial = null;
    this.s2k = new S2K(config$1);
    this.s2k.algorithm = 0;
    this.s2k.c = 0;
    this.s2k.type = 'gnu-dummy';
    this.s2kUsage = 254;
    this.symmetric = enums.symmetric.aes256;
  }

  /**
   * Encrypt the payload. By default, we use aes256 and iterated, salted string
   * to key specifier. If the key is in a decrypted state (isEncrypted === false)
   * and the passphrase is empty or undefined, the key will be set as not encrypted.
   * This can be used to remove passphrase protection after calling decrypt().
   * @param {String} passphrase
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if encryption was not successful
   * @async
   */
  async encrypt(passphrase, config$1 = config) {
    if (this.isDummy()) {
      return;
    }

    if (!this.isDecrypted()) {
      throw new Error('Key packet is already encrypted');
    }

    if (!passphrase) {
      throw new Error('A non-empty passphrase is required for key encryption.');
    }

    this.s2k = new S2K(config$1);
    this.s2k.salt = mod.random.getRandomBytes(8);
    const cleartext = mod.serializeParams(this.algorithm, this.privateParams);
    this.symmetric = enums.symmetric.aes256;
    const key = await produceEncryptionKey(this.s2k, passphrase, this.symmetric);

    const { blockSize } = mod.getCipher(this.symmetric);
    this.iv = mod.random.getRandomBytes(blockSize);

    if (config$1.aeadProtect) {
      this.s2kUsage = 253;
      this.aead = enums.aead.eax;
      const mode = mod.getAEADMode(this.aead);
      const modeInstance = await mode(this.symmetric, key);
      this.keyMaterial = await modeInstance.encrypt(cleartext, this.iv.subarray(0, mode.ivLength), new Uint8Array());
    } else {
      this.s2kUsage = 254;
      this.keyMaterial = await mod.mode.cfb.encrypt(this.symmetric, key, util.concatUint8Array([
        cleartext,
        await mod.hash.sha1(cleartext, config$1)
      ]), this.iv, config$1);
    }
  }

  /**
   * Decrypts the private key params which are needed to use the key.
   * Successful decryption does not imply key integrity, call validate() to confirm that.
   * {@link SecretKeyPacket.isDecrypted} should be false, as
   * otherwise calls to this function will throw an error.
   * @param {String} passphrase - The passphrase for this private key as string
   * @throws {Error} if the key is already decrypted, or if decryption was not successful
   * @async
   */
  async decrypt(passphrase) {
    if (this.isDummy()) {
      return false;
    }

    if (this.unparseableKeyMaterial) {
      throw new Error('Key packet cannot be decrypted: unsupported S2K or cipher algo');
    }

    if (this.isDecrypted()) {
      throw new Error('Key packet is already decrypted.');
    }

    let key;
    if (this.s2kUsage === 254 || this.s2kUsage === 253) {
      key = await produceEncryptionKey(this.s2k, passphrase, this.symmetric);
    } else if (this.s2kUsage === 255) {
      throw new Error('Encrypted private key is authenticated using an insecure two-byte hash');
    } else {
      throw new Error('Private key is encrypted using an insecure S2K function: unsalted MD5');
    }

    let cleartext;
    if (this.s2kUsage === 253) {
      const mode = mod.getAEADMode(this.aead);
      const modeInstance = await mode(this.symmetric, key);
      try {
        cleartext = await modeInstance.decrypt(this.keyMaterial, this.iv.subarray(0, mode.ivLength), new Uint8Array());
      } catch (err) {
        if (err.message === 'Authentication tag mismatch') {
          throw new Error('Incorrect key passphrase: ' + err.message);
        }
        throw err;
      }
    } else {
      const cleartextWithHash = await mod.mode.cfb.decrypt(this.symmetric, key, this.keyMaterial, this.iv);

      cleartext = cleartextWithHash.subarray(0, -20);
      const hash = await mod.hash.sha1(cleartext);

      if (!util.equalsUint8Array(hash, cleartextWithHash.subarray(-20))) {
        throw new Error('Incorrect key passphrase');
      }
    }

    try {
      const { privateParams } = mod.parsePrivateKeyParams(this.algorithm, cleartext, this.publicParams);
      this.privateParams = privateParams;
    } catch (err) {
      throw new Error('Error reading MPIs');
    }
    this.isEncrypted = false;
    this.keyMaterial = null;
    this.s2kUsage = 0;
  }

  /**
   * Checks that the key parameters are consistent
   * @throws {Error} if validation was not successful
   * @async
   */
  async validate() {
    if (this.isDummy()) {
      return;
    }

    if (!this.isDecrypted()) {
      throw new Error('Key is not decrypted');
    }

    let validParams;
    try {
      // this can throw if some parameters are undefined
      validParams = await mod.validateParams(this.algorithm, this.publicParams, this.privateParams);
    } catch (_) {
      validParams = false;
    }
    if (!validParams) {
      throw new Error('Key is invalid');
    }
  }

  async generate(bits, curve) {
    const { privateParams, publicParams } = await mod.generateParams(this.algorithm, bits, curve);
    this.privateParams = privateParams;
    this.publicParams = publicParams;
    this.isEncrypted = false;
  }

  /**
   * Clear private key parameters
   */
  clearPrivateParams() {
    if (this.isMissingSecretKeyMaterial()) {
      return;
    }

    Object.keys(this.privateParams).forEach(name => {
      const param = this.privateParams[name];
      param.fill(0);
      delete this.privateParams[name];
    });
    this.privateParams = null;
    this.isEncrypted = true;
  }
}

async function produceEncryptionKey(s2k, passphrase, algorithm) {
  const { keySize } = mod.getCipher(algorithm);
  return s2k.produceKey(passphrase, keySize);
}

var emailAddresses = createCommonjsModule(function (module) {
// email-addresses.js - RFC 5322 email address parser
// v 3.1.0
//
// http://tools.ietf.org/html/rfc5322
//
// This library does not validate email addresses.
// emailAddresses attempts to parse addresses using the (fairly liberal)
// grammar specified in RFC 5322.
//
// email-addresses returns {
//     ast: <an abstract syntax tree based on rfc5322>,
//     addresses: [{
//            node: <node in ast for this address>,
//            name: <display-name>,
//            address: <addr-spec>,
//            local: <local-part>,
//            domain: <domain>
//         }, ...]
// }
//
// emailAddresses.parseOneAddress and emailAddresses.parseAddressList
// work as you might expect. Try it out.
//
// Many thanks to Dominic Sayers and his documentation on the is_email function,
// http://code.google.com/p/isemail/ , which helped greatly in writing this parser.

(function (global) {

function parse5322(opts) {

    // tokenizing functions

    function inStr() { return pos < len; }
    function curTok() { return parseString[pos]; }
    function getPos() { return pos; }
    function setPos(i) { pos = i; }
    function nextTok() { pos += 1; }
    function initialize() {
        pos = 0;
        len = parseString.length;
    }

    // parser helper functions

    function o(name, value) {
        return {
            name: name,
            tokens: value || "",
            semantic: value || "",
            children: []
        };
    }

    function wrap(name, ast) {
        var n;
        if (ast === null) { return null; }
        n = o(name);
        n.tokens = ast.tokens;
        n.semantic = ast.semantic;
        n.children.push(ast);
        return n;
    }

    function add(parent, child) {
        if (child !== null) {
            parent.tokens += child.tokens;
            parent.semantic += child.semantic;
        }
        parent.children.push(child);
        return parent;
    }

    function compareToken(fxnCompare) {
        var tok;
        if (!inStr()) { return null; }
        tok = curTok();
        if (fxnCompare(tok)) {
            nextTok();
            return o('token', tok);
        }
        return null;
    }

    function literal(lit) {
        return function literalFunc() {
            return wrap('literal', compareToken(function (tok) {
                return tok === lit;
            }));
        };
    }

    function and() {
        var args = arguments;
        return function andFunc() {
            var i, s, result, start;
            start = getPos();
            s = o('and');
            for (i = 0; i < args.length; i += 1) {
                result = args[i]();
                if (result === null) {
                    setPos(start);
                    return null;
                }
                add(s, result);
            }
            return s;
        };
    }

    function or() {
        var args = arguments;
        return function orFunc() {
            var i, result, start;
            start = getPos();
            for (i = 0; i < args.length; i += 1) {
                result = args[i]();
                if (result !== null) {
                    return result;
                }
                setPos(start);
            }
            return null;
        };
    }

    function opt(prod) {
        return function optFunc() {
            var result, start;
            start = getPos();
            result = prod();
            if (result !== null) {
                return result;
            }
            else {
                setPos(start);
                return o('opt');
            }
        };
    }

    function invis(prod) {
        return function invisFunc() {
            var result = prod();
            if (result !== null) {
                result.semantic = "";
            }
            return result;
        };
    }

    function colwsp(prod) {
        return function collapseSemanticWhitespace() {
            var result = prod();
            if (result !== null && result.semantic.length > 0) {
                result.semantic = " ";
            }
            return result;
        };
    }

    function star(prod, minimum) {
        return function starFunc() {
            var s, result, count, start, min;
            start = getPos();
            s = o('star');
            count = 0;
            min = minimum === undefined ? 0 : minimum;
            while ((result = prod()) !== null) {
                count = count + 1;
                add(s, result);
            }
            if (count >= min) {
                return s;
            }
            else {
                setPos(start);
                return null;
            }
        };
    }

    // One expects names to get normalized like this:
    // "  First  Last " -> "First Last"
    // "First Last" -> "First Last"
    // "First   Last" -> "First Last"
    function collapseWhitespace(s) {
        return s.replace(/([ \t]|\r\n)+/g, ' ').replace(/^\s*/, '').replace(/\s*$/, '');
    }

    // UTF-8 pseudo-production (RFC 6532)
    // RFC 6532 extends RFC 5322 productions to include UTF-8
    // using the following productions:
    // UTF8-non-ascii  =   UTF8-2 / UTF8-3 / UTF8-4
    // UTF8-2          =   <Defined in Section 4 of RFC3629>
    // UTF8-3          =   <Defined in Section 4 of RFC3629>
    // UTF8-4          =   <Defined in Section 4 of RFC3629>
    //
    // For reference, the extended RFC 5322 productions are:
    // VCHAR   =/  UTF8-non-ascii
    // ctext   =/  UTF8-non-ascii
    // atext   =/  UTF8-non-ascii
    // qtext   =/  UTF8-non-ascii
    // dtext   =/  UTF8-non-ascii
    function isUTF8NonAscii(tok) {
        // In JavaScript, we just deal directly with Unicode code points,
        // so we aren't checking individual bytes for UTF-8 encoding.
        // Just check that the character is non-ascii.
        return tok.charCodeAt(0) >= 128;
    }


    // common productions (RFC 5234)
    // http://tools.ietf.org/html/rfc5234
    // B.1. Core Rules

    // CR             =  %x0D
    //                         ; carriage return
    function cr() { return wrap('cr', literal('\r')()); }

    // CRLF           =  CR LF
    //                         ; Internet standard newline
    function crlf() { return wrap('crlf', and(cr, lf)()); }

    // DQUOTE         =  %x22
    //                         ; " (Double Quote)
    function dquote() { return wrap('dquote', literal('"')()); }

    // HTAB           =  %x09
    //                         ; horizontal tab
    function htab() { return wrap('htab', literal('\t')()); }

    // LF             =  %x0A
    //                         ; linefeed
    function lf() { return wrap('lf', literal('\n')()); }

    // SP             =  %x20
    function sp() { return wrap('sp', literal(' ')()); }

    // VCHAR          =  %x21-7E
    //                         ; visible (printing) characters
    function vchar() {
        return wrap('vchar', compareToken(function vcharFunc(tok) {
            var code = tok.charCodeAt(0);
            var accept = (0x21 <= code && code <= 0x7E);
            if (opts.rfc6532) {
                accept = accept || isUTF8NonAscii(tok);
            }
            return accept;
        }));
    }

    // WSP            =  SP / HTAB
    //                         ; white space
    function wsp() { return wrap('wsp', or(sp, htab)()); }


    // email productions (RFC 5322)
    // http://tools.ietf.org/html/rfc5322
    // 3.2.1. Quoted characters

    // quoted-pair     =   ("\" (VCHAR / WSP)) / obs-qp
    function quotedPair() {
        var qp = wrap('quoted-pair',
        or(
            and(literal('\\'), or(vchar, wsp)),
            obsQP
        )());
        if (qp === null) { return null; }
        // a quoted pair will be two characters, and the "\" character
        // should be semantically "invisible" (RFC 5322 3.2.1)
        qp.semantic = qp.semantic[1];
        return qp;
    }

    // 3.2.2. Folding White Space and Comments

    // FWS             =   ([*WSP CRLF] 1*WSP) /  obs-FWS
    function fws() {
        return wrap('fws', or(
            obsFws,
            and(
                opt(and(
                    star(wsp),
                    invis(crlf)
                   )),
                star(wsp, 1)
            )
        )());
    }

    // ctext           =   %d33-39 /          ; Printable US-ASCII
    //                     %d42-91 /          ;  characters not including
    //                     %d93-126 /         ;  "(", ")", or "\"
    //                     obs-ctext
    function ctext() {
        return wrap('ctext', or(
            function ctextFunc1() {
                return compareToken(function ctextFunc2(tok) {
                    var code = tok.charCodeAt(0);
                    var accept =
                        (33 <= code && code <= 39) ||
                        (42 <= code && code <= 91) ||
                        (93 <= code && code <= 126);
                    if (opts.rfc6532) {
                        accept = accept || isUTF8NonAscii(tok);
                    }
                    return accept;
                });
            },
            obsCtext
        )());
    }

    // ccontent        =   ctext / quoted-pair / comment
    function ccontent() {
        return wrap('ccontent', or(ctext, quotedPair, comment)());
    }

    // comment         =   "(" *([FWS] ccontent) [FWS] ")"
    function comment() {
        return wrap('comment', and(
            literal('('),
            star(and(opt(fws), ccontent)),
            opt(fws),
            literal(')')
        )());
    }

    // CFWS            =   (1*([FWS] comment) [FWS]) / FWS
    function cfws() {
        return wrap('cfws', or(
            and(
                star(
                    and(opt(fws), comment),
                    1
                ),
                opt(fws)
            ),
            fws
        )());
    }

    // 3.2.3. Atom

    //atext           =   ALPHA / DIGIT /    ; Printable US-ASCII
    //                       "!" / "#" /        ;  characters not including
    //                       "$" / "%" /        ;  specials.  Used for atoms.
    //                       "&" / "'" /
    //                       "*" / "+" /
    //                       "-" / "/" /
    //                       "=" / "?" /
    //                       "^" / "_" /
    //                       "`" / "{" /
    //                       "|" / "}" /
    //                       "~"
    function atext() {
        return wrap('atext', compareToken(function atextFunc(tok) {
            var accept =
                ('a' <= tok && tok <= 'z') ||
                ('A' <= tok && tok <= 'Z') ||
                ('0' <= tok && tok <= '9') ||
                (['!', '#', '$', '%', '&', '\'', '*', '+', '-', '/',
                  '=', '?', '^', '_', '`', '{', '|', '}', '~'].indexOf(tok) >= 0);
            if (opts.rfc6532) {
                accept = accept || isUTF8NonAscii(tok);
            }
            return accept;
        }));
    }

    // atom            =   [CFWS] 1*atext [CFWS]
    function atom() {
        return wrap('atom', and(colwsp(opt(cfws)), star(atext, 1), colwsp(opt(cfws)))());
    }

    // dot-atom-text   =   1*atext *("." 1*atext)
    function dotAtomText() {
        var s, maybeText;
        s = wrap('dot-atom-text', star(atext, 1)());
        if (s === null) { return s; }
        maybeText = star(and(literal('.'), star(atext, 1)))();
        if (maybeText !== null) {
            add(s, maybeText);
        }
        return s;
    }

    // dot-atom        =   [CFWS] dot-atom-text [CFWS]
    function dotAtom() {
        return wrap('dot-atom', and(invis(opt(cfws)), dotAtomText, invis(opt(cfws)))());
    }

    // 3.2.4. Quoted Strings

    //  qtext           =   %d33 /             ; Printable US-ASCII
    //                      %d35-91 /          ;  characters not including
    //                      %d93-126 /         ;  "\" or the quote character
    //                      obs-qtext
    function qtext() {
        return wrap('qtext', or(
            function qtextFunc1() {
                return compareToken(function qtextFunc2(tok) {
                    var code = tok.charCodeAt(0);
                    var accept =
                        (33 === code) ||
                        (35 <= code && code <= 91) ||
                        (93 <= code && code <= 126);
                    if (opts.rfc6532) {
                        accept = accept || isUTF8NonAscii(tok);
                    }
                    return accept;
                });
            },
            obsQtext
        )());
    }

    // qcontent        =   qtext / quoted-pair
    function qcontent() {
        return wrap('qcontent', or(qtext, quotedPair)());
    }

    //  quoted-string   =   [CFWS]
    //                      DQUOTE *([FWS] qcontent) [FWS] DQUOTE
    //                      [CFWS]
    function quotedString() {
        return wrap('quoted-string', and(
            invis(opt(cfws)),
            invis(dquote), star(and(opt(colwsp(fws)), qcontent)), opt(invis(fws)), invis(dquote),
            invis(opt(cfws))
        )());
    }

    // 3.2.5 Miscellaneous Tokens

    // word            =   atom / quoted-string
    function word() {
        return wrap('word', or(atom, quotedString)());
    }

    // phrase          =   1*word / obs-phrase
    function phrase() {
        return wrap('phrase', or(obsPhrase, star(word, 1))());
    }

    // 3.4. Address Specification
    //   address         =   mailbox / group
    function address() {
        return wrap('address', or(mailbox, group)());
    }

    //   mailbox         =   name-addr / addr-spec
    function mailbox() {
        return wrap('mailbox', or(nameAddr, addrSpec)());
    }

    //   name-addr       =   [display-name] angle-addr
    function nameAddr() {
        return wrap('name-addr', and(opt(displayName), angleAddr)());
    }

    //   angle-addr      =   [CFWS] "<" addr-spec ">" [CFWS] /
    //                       obs-angle-addr
    function angleAddr() {
        return wrap('angle-addr', or(
            and(
                invis(opt(cfws)),
                literal('<'),
                addrSpec,
                literal('>'),
                invis(opt(cfws))
            ),
            obsAngleAddr
        )());
    }

    //   group           =   display-name ":" [group-list] ";" [CFWS]
    function group() {
        return wrap('group', and(
            displayName,
            literal(':'),
            opt(groupList),
            literal(';'),
            invis(opt(cfws))
        )());
    }

    //   display-name    =   phrase
    function displayName() {
        return wrap('display-name', function phraseFixedSemantic() {
            var result = phrase();
            if (result !== null) {
                result.semantic = collapseWhitespace(result.semantic);
            }
            return result;
        }());
    }

    //   mailbox-list    =   (mailbox *("," mailbox)) / obs-mbox-list
    function mailboxList() {
        return wrap('mailbox-list', or(
            and(
                mailbox,
                star(and(literal(','), mailbox))
            ),
            obsMboxList
        )());
    }

    //   address-list    =   (address *("," address)) / obs-addr-list
    function addressList() {
        return wrap('address-list', or(
            and(
                address,
                star(and(literal(','), address))
            ),
            obsAddrList
        )());
    }

    //   group-list      =   mailbox-list / CFWS / obs-group-list
    function groupList() {
        return wrap('group-list', or(
            mailboxList,
            invis(cfws),
            obsGroupList
        )());
    }

    // 3.4.1 Addr-Spec Specification

    // local-part      =   dot-atom / quoted-string / obs-local-part
    function localPart() {
        // note: quoted-string, dotAtom are proper subsets of obs-local-part
        // so we really just have to look for obsLocalPart, if we don't care about the exact parse tree
        return wrap('local-part', or(obsLocalPart, dotAtom, quotedString)());
    }

    //  dtext           =   %d33-90 /          ; Printable US-ASCII
    //                      %d94-126 /         ;  characters not including
    //                      obs-dtext          ;  "[", "]", or "\"
    function dtext() {
        return wrap('dtext', or(
            function dtextFunc1() {
                return compareToken(function dtextFunc2(tok) {
                    var code = tok.charCodeAt(0);
                    var accept =
                        (33 <= code && code <= 90) ||
                        (94 <= code && code <= 126);
                    if (opts.rfc6532) {
                        accept = accept || isUTF8NonAscii(tok);
                    }
                    return accept;
                });
            },
            obsDtext
            )()
        );
    }

    // domain-literal  =   [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
    function domainLiteral() {
        return wrap('domain-literal', and(
            invis(opt(cfws)),
            literal('['),
            star(and(opt(fws), dtext)),
            opt(fws),
            literal(']'),
            invis(opt(cfws))
        )());
    }

    // domain          =   dot-atom / domain-literal / obs-domain
    function domain() {
        return wrap('domain', function domainCheckTLD() {
            var result = or(obsDomain, dotAtom, domainLiteral)();
            if (opts.rejectTLD) {
                if (result && result.semantic && result.semantic.indexOf('.') < 0) {
                    return null;
                }
            }
            // strip all whitespace from domains
            if (result) {
                result.semantic = result.semantic.replace(/\s+/g, '');
            }
            return result;
        }());
    }

    // addr-spec       =   local-part "@" domain
    function addrSpec() {
        return wrap('addr-spec', and(
            localPart, literal('@'), domain
        )());
    }

    // 3.6.2 Originator Fields
    // Below we only parse the field body, not the name of the field
    // like "From:", "Sender:", or "Reply-To:". Other libraries that
    // parse email headers can parse those and defer to these productions
    // for the "RFC 5322" part.

    // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields
    // from = "From:" (mailbox-list / address-list) CRLF
    function fromSpec() {
        return wrap('from', or(
            mailboxList,
            addressList
        )());
    }

    // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields
    // sender = "Sender:" (mailbox / address) CRLF
    function senderSpec() {
        return wrap('sender', or(
            mailbox,
            address
        )());
    }

    // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields
    // reply-to = "Reply-To:" address-list CRLF
    function replyToSpec() {
        return wrap('reply-to', addressList());
    }

    // 4.1. Miscellaneous Obsolete Tokens

    //  obs-NO-WS-CTL   =   %d1-8 /            ; US-ASCII control
    //                      %d11 /             ;  characters that do not
    //                      %d12 /             ;  include the carriage
    //                      %d14-31 /          ;  return, line feed, and
    //                      %d127              ;  white space characters
    function obsNoWsCtl() {
        return opts.strict ? null : wrap('obs-NO-WS-CTL', compareToken(function (tok) {
            var code = tok.charCodeAt(0);
            return ((1 <= code && code <= 8) ||
                    (11 === code || 12 === code) ||
                    (14 <= code && code <= 31) ||
                    (127 === code));
        }));
    }

    // obs-ctext       =   obs-NO-WS-CTL
    function obsCtext() { return opts.strict ? null : wrap('obs-ctext', obsNoWsCtl()); }

    // obs-qtext       =   obs-NO-WS-CTL
    function obsQtext() { return opts.strict ? null : wrap('obs-qtext', obsNoWsCtl()); }

    // obs-qp          =   "\" (%d0 / obs-NO-WS-CTL / LF / CR)
    function obsQP() {
        return opts.strict ? null : wrap('obs-qp', and(
            literal('\\'),
            or(literal('\0'), obsNoWsCtl, lf, cr)
        )());
    }

    // obs-phrase      =   word *(word / "." / CFWS)
    function obsPhrase() {
        if (opts.strict ) return null;
        return opts.atInDisplayName ? wrap('obs-phrase', and(
            word,
            star(or(word, literal('.'), literal('@'), colwsp(cfws)))
        )()) :
        wrap('obs-phrase', and(
            word,
            star(or(word, literal('.'), colwsp(cfws)))
        )());
    }

    // 4.2. Obsolete Folding White Space

    // NOTE: read the errata http://www.rfc-editor.org/errata_search.php?rfc=5322&eid=1908
    // obs-FWS         =   1*([CRLF] WSP)
    function obsFws() {
        return opts.strict ? null : wrap('obs-FWS', star(
            and(invis(opt(crlf)), wsp),
            1
        )());
    }

    // 4.4. Obsolete Addressing

    // obs-angle-addr  =   [CFWS] "<" obs-route addr-spec ">" [CFWS]
    function obsAngleAddr() {
        return opts.strict ? null : wrap('obs-angle-addr', and(
            invis(opt(cfws)),
            literal('<'),
            obsRoute,
            addrSpec,
            literal('>'),
            invis(opt(cfws))
        )());
    }

    // obs-route       =   obs-domain-list ":"
    function obsRoute() {
        return opts.strict ? null : wrap('obs-route', and(
            obsDomainList,
            literal(':')
        )());
    }

    //   obs-domain-list =   *(CFWS / ",") "@" domain
    //                       *("," [CFWS] ["@" domain])
    function obsDomainList() {
        return opts.strict ? null : wrap('obs-domain-list', and(
            star(or(invis(cfws), literal(','))),
            literal('@'),
            domain,
            star(and(
                literal(','),
                invis(opt(cfws)),
                opt(and(literal('@'), domain))
            ))
        )());
    }

    // obs-mbox-list   =   *([CFWS] ",") mailbox *("," [mailbox / CFWS])
    function obsMboxList() {
        return opts.strict ? null : wrap('obs-mbox-list', and(
            star(and(
                invis(opt(cfws)),
                literal(',')
            )),
            mailbox,
            star(and(
                literal(','),
                opt(and(
                    mailbox,
                    invis(cfws)
                ))
            ))
        )());
    }

    // obs-addr-list   =   *([CFWS] ",") address *("," [address / CFWS])
    function obsAddrList() {
        return opts.strict ? null : wrap('obs-addr-list', and(
            star(and(
                invis(opt(cfws)),
                literal(',')
            )),
            address,
            star(and(
                literal(','),
                opt(and(
                    address,
                    invis(cfws)
                ))
            ))
        )());
    }

    // obs-group-list  =   1*([CFWS] ",") [CFWS]
    function obsGroupList() {
        return opts.strict ? null : wrap('obs-group-list', and(
            star(and(
                invis(opt(cfws)),
                literal(',')
            ), 1),
            invis(opt(cfws))
        )());
    }

    // obs-local-part = word *("." word)
    function obsLocalPart() {
        return opts.strict ? null : wrap('obs-local-part', and(word, star(and(literal('.'), word)))());
    }

    // obs-domain       = atom *("." atom)
    function obsDomain() {
        return opts.strict ? null : wrap('obs-domain', and(atom, star(and(literal('.'), atom)))());
    }

    // obs-dtext       =   obs-NO-WS-CTL / quoted-pair
    function obsDtext() {
        return opts.strict ? null : wrap('obs-dtext', or(obsNoWsCtl, quotedPair)());
    }

    /////////////////////////////////////////////////////

    // ast analysis

    function findNode(name, root) {
        var i, stack, node;
        if (root === null || root === undefined) { return null; }
        stack = [root];
        while (stack.length > 0) {
            node = stack.pop();
            if (node.name === name) {
                return node;
            }
            for (i = node.children.length - 1; i >= 0; i -= 1) {
                stack.push(node.children[i]);
            }
        }
        return null;
    }

    function findAllNodes(name, root) {
        var i, stack, node, result;
        if (root === null || root === undefined) { return null; }
        stack = [root];
        result = [];
        while (stack.length > 0) {
            node = stack.pop();
            if (node.name === name) {
                result.push(node);
            }
            for (i = node.children.length - 1; i >= 0; i -= 1) {
                stack.push(node.children[i]);
            }
        }
        return result;
    }

    function findAllNodesNoChildren(names, root) {
        var i, stack, node, result, namesLookup;
        if (root === null || root === undefined) { return null; }
        stack = [root];
        result = [];
        namesLookup = {};
        for (i = 0; i < names.length; i += 1) {
            namesLookup[names[i]] = true;
        }

        while (stack.length > 0) {
            node = stack.pop();
            if (node.name in namesLookup) {
                result.push(node);
                // don't look at children (hence findAllNodesNoChildren)
            } else {
                for (i = node.children.length - 1; i >= 0; i -= 1) {
                    stack.push(node.children[i]);
                }
            }
        }
        return result;
    }

    function giveResult(ast) {
        var addresses, groupsAndMailboxes, i, groupOrMailbox, result;
        if (ast === null) {
            return null;
        }
        addresses = [];

        // An address is a 'group' (i.e. a list of mailboxes) or a 'mailbox'.
        groupsAndMailboxes = findAllNodesNoChildren(['group', 'mailbox'], ast);
        for (i = 0; i <  groupsAndMailboxes.length; i += 1) {
            groupOrMailbox = groupsAndMailboxes[i];
            if (groupOrMailbox.name === 'group') {
                addresses.push(giveResultGroup(groupOrMailbox));
            } else if (groupOrMailbox.name === 'mailbox') {
                addresses.push(giveResultMailbox(groupOrMailbox));
            }
        }

        result = {
            ast: ast,
            addresses: addresses,
        };
        if (opts.simple) {
            result = simplifyResult(result);
        }
        if (opts.oneResult) {
            return oneResult(result);
        }
        if (opts.simple) {
            return result && result.addresses;
        } else {
            return result;
        }
    }

    function giveResultGroup(group) {
        var i;
        var groupName = findNode('display-name', group);
        var groupResultMailboxes = [];
        var mailboxes = findAllNodesNoChildren(['mailbox'], group);
        for (i = 0; i < mailboxes.length; i += 1) {
            groupResultMailboxes.push(giveResultMailbox(mailboxes[i]));
        }
        return {
            node: group,
            parts: {
                name: groupName,
            },
            type: group.name, // 'group'
            name: grabSemantic(groupName),
            addresses: groupResultMailboxes,
        };
    }

    function giveResultMailbox(mailbox) {
        var name = findNode('display-name', mailbox);
        var aspec = findNode('addr-spec', mailbox);
        var cfws = findAllNodes('cfws', mailbox);
        var comments = findAllNodesNoChildren(['comment'], mailbox);


        var local = findNode('local-part', aspec);
        var domain = findNode('domain', aspec);
        return {
            node: mailbox,
            parts: {
                name: name,
                address: aspec,
                local: local,
                domain: domain,
                comments: cfws
            },
            type: mailbox.name, // 'mailbox'
            name: grabSemantic(name),
            address: grabSemantic(aspec),
            local: grabSemantic(local),
            domain: grabSemantic(domain),
            comments: concatComments(comments),
            groupName: grabSemantic(mailbox.groupName),
        };
    }

    function grabSemantic(n) {
        return n !== null && n !== undefined ? n.semantic : null;
    }

    function simplifyResult(result) {
        var i;
        if (result && result.addresses) {
            for (i = 0; i < result.addresses.length; i += 1) {
                delete result.addresses[i].node;
            }
        }
        return result;
    }

    function concatComments(comments) {
        var result = '';
        if (comments) {
            for (var i = 0; i < comments.length; i += 1) {
                result += grabSemantic(comments[i]);
            }
        }
        return result;
    }

    function oneResult(result) {
        if (!result) { return null; }
        if (!opts.partial && result.addresses.length > 1) { return null; }
        return result.addresses && result.addresses[0];
    }

    /////////////////////////////////////////////////////

    var parseString, pos, len, parsed, startProduction;

    opts = handleOpts(opts, {});
    if (opts === null) { return null; }

    parseString = opts.input;

    startProduction = {
        'address': address,
        'address-list': addressList,
        'angle-addr': angleAddr,
        'from': fromSpec,
        'group': group,
        'mailbox': mailbox,
        'mailbox-list': mailboxList,
        'reply-to': replyToSpec,
        'sender': senderSpec,
    }[opts.startAt] || addressList;

    if (!opts.strict) {
        initialize();
        opts.strict = true;
        parsed = startProduction(parseString);
        if (opts.partial || !inStr()) {
            return giveResult(parsed);
        }
        opts.strict = false;
    }

    initialize();
    parsed = startProduction(parseString);
    if (!opts.partial && inStr()) { return null; }
    return giveResult(parsed);
}

function parseOneAddressSimple(opts) {
    return parse5322(handleOpts(opts, {
        oneResult: true,
        rfc6532: true,
        simple: true,
        startAt: 'address-list',
    }));
}

function parseAddressListSimple(opts) {
    return parse5322(handleOpts(opts, {
        rfc6532: true,
        simple: true,
        startAt: 'address-list',
    }));
}

function parseFromSimple(opts) {
    return parse5322(handleOpts(opts, {
        rfc6532: true,
        simple: true,
        startAt: 'from',
    }));
}

function parseSenderSimple(opts) {
    return parse5322(handleOpts(opts, {
        oneResult: true,
        rfc6532: true,
        simple: true,
        startAt: 'sender',
    }));
}

function parseReplyToSimple(opts) {
    return parse5322(handleOpts(opts, {
        rfc6532: true,
        simple: true,
        startAt: 'reply-to',
    }));
}

function handleOpts(opts, defs) {
    function isString(str) {
        return Object.prototype.toString.call(str) === '[object String]';
    }

    function isObject(o) {
        return o === Object(o);
    }

    function isNullUndef(o) {
        return o === null || o === undefined;
    }

    var defaults, o;

    if (isString(opts)) {
        opts = { input: opts };
    } else if (!isObject(opts)) {
        return null;
    }

    if (!isString(opts.input)) { return null; }
    if (!defs) { return null; }

    defaults = {
        oneResult: false,
        partial: false,
        rejectTLD: false,
        rfc6532: false,
        simple: false,
        startAt: 'address-list',
        strict: false,
        atInDisplayName: false
    };

    for (o in defaults) {
        if (isNullUndef(opts[o])) {
            opts[o] = !isNullUndef(defs[o]) ? defs[o] : defaults[o];
        }
    }
    return opts;
}

parse5322.parseOneAddress = parseOneAddressSimple;
parse5322.parseAddressList = parseAddressListSimple;
parse5322.parseFrom = parseFromSimple;
parse5322.parseSender = parseSenderSimple;
parse5322.parseReplyTo = parseReplyToSimple;

{
    module.exports = parse5322;
}

}());
});

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * Implementation of the User ID Packet (Tag 13)
 *
 * A User ID packet consists of UTF-8 text that is intended to represent
 * the name and email address of the key holder.  By convention, it
 * includes an RFC 2822 [RFC2822] mail name-addr, but there are no
 * restrictions on its content.  The packet length in the header
 * specifies the length of the User ID.
 */
class UserIDPacket {
  static get tag() {
    return enums.packet.userID;
  }

  constructor() {
    /** A string containing the user id. Usually in the form
     * John Doe <john@example.com>
     * @type {String}
     */
    this.userID = '';

    this.name = '';
    this.email = '';
    this.comment = '';
  }

  /**
   * Create UserIDPacket instance from object
   * @param {Object} userID - Object specifying userID name, email and comment
   * @returns {UserIDPacket}
   * @static
   */
  static fromObject(userID) {
    if (util.isString(userID) ||
      (userID.name && !util.isString(userID.name)) ||
      (userID.email && !util.isEmailAddress(userID.email)) ||
      (userID.comment && !util.isString(userID.comment))) {
      throw new Error('Invalid user ID format');
    }
    const packet = new UserIDPacket();
    Object.assign(packet, userID);
    const components = [];
    if (packet.name) components.push(packet.name);
    if (packet.comment) components.push(`(${packet.comment})`);
    if (packet.email) components.push(`<${packet.email}>`);
    packet.userID = components.join(' ');
    return packet;
  }

  /**
   * Parsing function for a user id packet (tag 13).
   * @param {Uint8Array} input - Payload of a tag 13 packet
   */
  read(bytes, config$1 = config) {
    const userID = util.decodeUTF8(bytes);
    if (userID.length > config$1.maxUserIDLength) {
      throw new Error('User ID string is too long');
    }
    try {
      const { name, address: email, comments } = emailAddresses.parseOneAddress({ input: userID, atInDisplayName: true });
      this.comment = comments.replace(/^\(|\)$/g, '');
      this.name = name;
      this.email = email;
    } catch (e) {}
    this.userID = userID;
  }

  /**
   * Creates a binary representation of the user id packet
   * @returns {Uint8Array} Binary representation.
   */
  write() {
    return util.encodeUTF8(this.userID);
  }

  equals(otherUserID) {
    return otherUserID && otherUserID.userID === this.userID;
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

/**
 * A Secret-Subkey packet (tag 7) is the subkey analog of the Secret
 * Key packet and has exactly the same format.
 * @extends SecretKeyPacket
 */
class SecretSubkeyPacket extends SecretKeyPacket {
  static get tag() {
    return enums.packet.secretSubkey;
  }

  /**
   * @param {Date} [date] - Creation date
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  constructor(date = new Date(), config$1 = config) {
    super(date, config$1);
  }
}

/**
 * Implementation of the Trust Packet (Tag 12)
 *
 * {@link https://tools.ietf.org/html/rfc4880#section-5.10|RFC4880 5.10}:
 * The Trust packet is used only within keyrings and is not normally
 * exported.  Trust packets contain data that record the user's
 * specifications of which key holders are trustworthy introducers,
 * along with other information that implementing software uses for
 * trust information.  The format of Trust packets is defined by a given
 * implementation.
 *
 * Trust packets SHOULD NOT be emitted to output streams that are
 * transferred to other users, and they SHOULD be ignored on any input
 * other than local keyring files.
 */
class TrustPacket {
  static get tag() {
    return enums.packet.trust;
  }

  /**
   * Parsing function for a trust packet (tag 12).
   * Currently not implemented as we ignore trust packets
   */
  read() {
    throw new UnsupportedError('Trust packets are not supported');
  }

  write() {
    throw new UnsupportedError('Trust packets are not supported');
  }
}

// GPG4Browsers - An OpenPGP implementation in javascript

// A Signature can contain the following packets
const allowedPackets$4 = /*#__PURE__*/ util.constructAllowedPackets([SignaturePacket]);

/**
 * Class that represents an OpenPGP signature.
 */
class Signature {
  /**
   * @param {PacketList} packetlist - The signature packets
   */
  constructor(packetlist) {
    this.packets = packetlist || new PacketList();
  }

  /**
   * Returns binary encoded signature
   * @returns {ReadableStream<Uint8Array>} Binary signature.
   */
  write() {
    return this.packets.write();
  }

  /**
   * Returns ASCII armored text of signature
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {ReadableStream<String>} ASCII armor.
   */
  armor(config$1 = config) {
    return armor(enums.armor.signature, this.write(), undefined, undefined, undefined, config$1);
  }

  /**
   * Returns an array of KeyIDs of all of the issuers who created this signature
   * @returns {Array<KeyID>} The Key IDs of the signing keys
   */
  getSigningKeyIDs() {
    return this.packets.map(packet => packet.issuerKeyID);
  }
}

/**
 * reads an (optionally armored) OpenPGP signature and returns a signature object
 * @param {Object} options
 * @param {String} [options.armoredSignature] - Armored signature to be parsed
 * @param {Uint8Array} [options.binarySignature] - Binary signature to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Signature>} New signature object.
 * @async
 * @static
 */
async function readSignature({ armoredSignature, binarySignature, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 };
  let input = armoredSignature || binarySignature;
  if (!input) {
    throw new Error('readSignature: must pass options object containing `armoredSignature` or `binarySignature`');
  }
  if (armoredSignature && !util.isString(armoredSignature)) {
    throw new Error('readSignature: options.armoredSignature must be a string');
  }
  if (binarySignature && !util.isUint8Array(binarySignature)) {
    throw new Error('readSignature: options.binarySignature must be a Uint8Array');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (armoredSignature) {
    const { type, data } = await unarmor(input, config$1);
    if (type !== enums.armor.signature) {
      throw new Error('Armored text not of type signature');
    }
    input = data;
  }
  const packetlist = await PacketList.fromBinary(input, allowedPackets$4, config$1);
  return new Signature(packetlist);
}

/**
 * @fileoverview Provides helpers methods for key module
 * @module key/helper
 * @private
 */

async function generateSecretSubkey(options, config) {
  const secretSubkeyPacket = new SecretSubkeyPacket(options.date, config);
  secretSubkeyPacket.packets = null;
  secretSubkeyPacket.algorithm = enums.write(enums.publicKey, options.algorithm);
  await secretSubkeyPacket.generate(options.rsaBits, options.curve);
  await secretSubkeyPacket.computeFingerprintAndKeyID();
  return secretSubkeyPacket;
}

async function generateSecretKey(options, config) {
  const secretKeyPacket = new SecretKeyPacket(options.date, config);
  secretKeyPacket.packets = null;
  secretKeyPacket.algorithm = enums.write(enums.publicKey, options.algorithm);
  await secretKeyPacket.generate(options.rsaBits, options.curve, options.config);
  await secretKeyPacket.computeFingerprintAndKeyID();
  return secretKeyPacket;
}

/**
 * Returns the valid and non-expired signature that has the latest creation date, while ignoring signatures created in the future.
 * @param {Array<SignaturePacket>} signatures - List of signatures
 * @param {PublicKeyPacket|PublicSubkeyPacket} publicKey - Public key packet to verify the signature
 * @param {Date} date - Use the given date instead of the current time
 * @param {Object} config - full configuration
 * @returns {Promise<SignaturePacket>} The latest valid signature.
 * @async
 */
async function getLatestValidSignature(signatures, publicKey, signatureType, dataToVerify, date = new Date(), config) {
  let latestValid;
  let exception;
  for (let i = signatures.length - 1; i >= 0; i--) {
    try {
      if (
        (!latestValid || signatures[i].created >= latestValid.created)
      ) {
        await signatures[i].verify(publicKey, signatureType, dataToVerify, date, undefined, config);
        latestValid = signatures[i];
      }
    } catch (e) {
      exception = e;
    }
  }
  if (!latestValid) {
    throw util.wrapError(
      `Could not find valid ${enums.read(enums.signature, signatureType)} signature in key ${publicKey.getKeyID().toHex()}`
        .replace('certGeneric ', 'self-')
        .replace(/([a-z])([A-Z])/g, (_, $1, $2) => $1 + ' ' + $2.toLowerCase()),
      exception);
  }
  return latestValid;
}

function isDataExpired(keyPacket, signature, date = new Date()) {
  const normDate = util.normalizeDate(date);
  if (normDate !== null) {
    const expirationTime = getKeyExpirationTime(keyPacket, signature);
    return !(keyPacket.created <= normDate && normDate < expirationTime);
  }
  return false;
}

/**
 * Create Binding signature to the key according to the {@link https://tools.ietf.org/html/rfc4880#section-5.2.1}
 * @param {SecretSubkeyPacket} subkey - Subkey key packet
 * @param {SecretKeyPacket} primaryKey - Primary key packet
 * @param {Object} options
 * @param {Object} config - Full configuration
 */
async function createBindingSignature(subkey, primaryKey, options, config) {
  const dataToSign = {};
  dataToSign.key = primaryKey;
  dataToSign.bind = subkey;
  const signatureProperties = { signatureType: enums.signature.subkeyBinding };
  if (options.sign) {
    signatureProperties.keyFlags = [enums.keyFlags.signData];
    signatureProperties.embeddedSignature = await createSignaturePacket(dataToSign, null, subkey, {
      signatureType: enums.signature.keyBinding
    }, options.date, undefined, undefined, undefined, config);
  } else {
    signatureProperties.keyFlags = [enums.keyFlags.encryptCommunication | enums.keyFlags.encryptStorage];
  }
  if (options.keyExpirationTime > 0) {
    signatureProperties.keyExpirationTime = options.keyExpirationTime;
    signatureProperties.keyNeverExpires = false;
  }
  const subkeySignaturePacket = await createSignaturePacket(dataToSign, null, primaryKey, signatureProperties, options.date, undefined, undefined, undefined, config);
  return subkeySignaturePacket;
}

/**
 * Returns the preferred signature hash algorithm of a key
 * @param {Key} [key] - The key to get preferences from
 * @param {SecretKeyPacket|SecretSubkeyPacket} keyPacket - key packet used for signing
 * @param {Date} [date] - Use the given date for verification instead of the current time
 * @param {Object} [userID] - User ID
 * @param {Object} config - full configuration
 * @returns {Promise<enums.hash>}
 * @async
 */
async function getPreferredHashAlgo$2(key, keyPacket, date = new Date(), userID = {}, config) {
  let hashAlgo = config.preferredHashAlgorithm;
  let prefAlgo = hashAlgo;
  if (key) {
    const primaryUser = await key.getPrimaryUser(date, userID, config);
    if (primaryUser.selfCertification.preferredHashAlgorithms) {
      [prefAlgo] = primaryUser.selfCertification.preferredHashAlgorithms;
      hashAlgo = mod.hash.getHashByteLength(hashAlgo) <= mod.hash.getHashByteLength(prefAlgo) ?
        prefAlgo : hashAlgo;
    }
  }
  switch (keyPacket.algorithm) {
    case enums.publicKey.ecdsa:
    case enums.publicKey.eddsaLegacy:
    case enums.publicKey.ed25519:
      prefAlgo = mod.getPreferredCurveHashAlgo(keyPacket.algorithm, keyPacket.publicParams.oid);
  }
  return mod.hash.getHashByteLength(hashAlgo) <= mod.hash.getHashByteLength(prefAlgo) ?
    prefAlgo : hashAlgo;
}

/**
 * Returns the preferred symmetric/aead/compression algorithm for a set of keys
 * @param {'symmetric'|'aead'|'compression'} type - Type of preference to return
 * @param {Array<Key>} [keys] - Set of keys
 * @param {Date} [date] - Use the given date for verification instead of the current time
 * @param {Array} [userIDs] - User IDs
 * @param {Object} [config] - Full configuration, defaults to openpgp.config
 * @returns {Promise<module:enums.symmetric|aead|compression>} Preferred algorithm
 * @async
 */
async function getPreferredAlgo(type, keys = [], date = new Date(), userIDs = [], config$1 = config) {
  const defaultAlgo = { // these are all must-implement in rfc4880bis
    'symmetric': enums.symmetric.aes128,
    'aead': enums.aead.eax,
    'compression': enums.compression.uncompressed
  }[type];
  const preferredSenderAlgo = {
    'symmetric': config$1.preferredSymmetricAlgorithm,
    'aead': config$1.preferredAEADAlgorithm,
    'compression': config$1.preferredCompressionAlgorithm
  }[type];
  const prefPropertyName = {
    'symmetric': 'preferredSymmetricAlgorithms',
    'aead': 'preferredAEADAlgorithms',
    'compression': 'preferredCompressionAlgorithms'
  }[type];

  // if preferredSenderAlgo appears in the prefs of all recipients, we pick it
  // otherwise we use the default algo
  // if no keys are available, preferredSenderAlgo is returned
  const senderAlgoSupport = await Promise.all(keys.map(async function(key, i) {
    const primaryUser = await key.getPrimaryUser(date, userIDs[i], config$1);
    const recipientPrefs = primaryUser.selfCertification[prefPropertyName];
    return !!recipientPrefs && recipientPrefs.indexOf(preferredSenderAlgo) >= 0;
  }));
  return senderAlgoSupport.every(Boolean) ? preferredSenderAlgo : defaultAlgo;
}

/**
 * Create signature packet
 * @param {Object} dataToSign - Contains packets to be signed
 * @param {PrivateKey} privateKey - key to get preferences from
 * @param  {SecretKeyPacket|
 *          SecretSubkeyPacket}              signingKeyPacket secret key packet for signing
 * @param {Object} [signatureProperties] - Properties to write on the signature packet before signing
 * @param {Date} [date] - Override the creationtime of the signature
 * @param {Object} [userID] - User ID
 * @param {Array} [notations] - Notation Data to add to the signature, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
 * @param {Object} [detached] - Whether to create a detached signature packet
 * @param {Object} config - full configuration
 * @returns {Promise<SignaturePacket>} Signature packet.
 */
async function createSignaturePacket(dataToSign, privateKey, signingKeyPacket, signatureProperties, date, userID, notations = [], detached = false, config) {
  if (signingKeyPacket.isDummy()) {
    throw new Error('Cannot sign with a gnu-dummy key.');
  }
  if (!signingKeyPacket.isDecrypted()) {
    throw new Error('Signing key is not decrypted.');
  }
  const signaturePacket = new SignaturePacket();
  Object.assign(signaturePacket, signatureProperties);
  signaturePacket.publicKeyAlgorithm = signingKeyPacket.algorithm;
  signaturePacket.hashAlgorithm = await getPreferredHashAlgo$2(privateKey, signingKeyPacket, date, userID, config);
  signaturePacket.rawNotations = notations;
  await signaturePacket.sign(signingKeyPacket, dataToSign, date, detached);
  return signaturePacket;
}

/**
 * Merges signatures from source[attr] to dest[attr]
 * @param {Object} source
 * @param {Object} dest
 * @param {String} attr
 * @param {Date} [date] - date to use for signature expiration check, instead of the current time
 * @param {Function} [checkFn] - signature only merged if true
 */
async function mergeSignatures(source, dest, attr, date = new Date(), checkFn) {
  source = source[attr];
  if (source) {
    if (!dest[attr].length) {
      dest[attr] = source;
    } else {
      await Promise.all(source.map(async function(sourceSig) {
        if (!sourceSig.isExpired(date) && (!checkFn || await checkFn(sourceSig)) &&
            !dest[attr].some(function(destSig) {
              return util.equalsUint8Array(destSig.writeParams(), sourceSig.writeParams());
            })) {
          dest[attr].push(sourceSig);
        }
      }));
    }
  }
}

/**
 * Checks if a given certificate or binding signature is revoked
 * @param  {SecretKeyPacket|
 *          PublicKeyPacket}        primaryKey   The primary key packet
 * @param {Object} dataToVerify - The data to check
 * @param {Array<SignaturePacket>} revocations - The revocation signatures to check
 * @param {SignaturePacket} signature - The certificate or signature to check
 * @param  {PublicSubkeyPacket|
 *          SecretSubkeyPacket|
 *          PublicKeyPacket|
 *          SecretKeyPacket} key, optional The key packet to verify the signature, instead of the primary key
 * @param {Date} date - Use the given date instead of the current time
 * @param {Object} config - Full configuration
 * @returns {Promise<Boolean>} True if the signature revokes the data.
 * @async
 */
async function isDataRevoked(primaryKey, signatureType, dataToVerify, revocations, signature, key, date = new Date(), config) {
  key = key || primaryKey;
  const revocationKeyIDs = [];
  await Promise.all(revocations.map(async function(revocationSignature) {
    try {
      if (
        // Note: a third-party revocation signature could legitimately revoke a
        // self-signature if the signature has an authorized revocation key.
        // However, we don't support passing authorized revocation keys, nor
        // verifying such revocation signatures. Instead, we indicate an error
        // when parsing a key with an authorized revocation key, and ignore
        // third-party revocation signatures here. (It could also be revoking a
        // third-party key certification, which should only affect
        // `verifyAllCertifications`.)
        !signature || revocationSignature.issuerKeyID.equals(signature.issuerKeyID)
      ) {
        await revocationSignature.verify(
          key, signatureType, dataToVerify, config.revocationsExpire ? date : null, false, config
        );

        // TODO get an identifier of the revoked object instead
        revocationKeyIDs.push(revocationSignature.issuerKeyID);
      }
    } catch (e) {}
  }));
  // TODO further verify that this is the signature that should be revoked
  if (signature) {
    signature.revoked = revocationKeyIDs.some(keyID => keyID.equals(signature.issuerKeyID)) ? true :
      signature.revoked || false;
    return signature.revoked;
  }
  return revocationKeyIDs.length > 0;
}

/**
 * Returns key expiration time based on the given certification signature.
 * The expiration time of the signature is ignored.
 * @param {PublicSubkeyPacket|PublicKeyPacket} keyPacket - key to check
 * @param {SignaturePacket} signature - signature to process
 * @returns {Date|Infinity} expiration time or infinity if the key does not expire
 */
function getKeyExpirationTime(keyPacket, signature) {
  let expirationTime;
  // check V4 expiration time
  if (signature.keyNeverExpires === false) {
    expirationTime = keyPacket.created.getTime() + signature.keyExpirationTime * 1000;
  }
  return expirationTime ? new Date(expirationTime) : Infinity;
}

/**
 * Returns whether aead is supported by all keys in the set
 * @param {Array<Key>} keys - Set of keys
 * @param {Date} [date] - Use the given date for verification instead of the current time
 * @param {Array} [userIDs] - User IDs
 * @param {Object} config - full configuration
 * @returns {Promise<Boolean>}
 * @async
 */
async function isAEADSupported(keys, date = new Date(), userIDs = [], config$1 = config) {
  let supported = true;
  // TODO replace when Promise.some or Promise.any are implemented
  await Promise.all(keys.map(async function(key, i) {
    const primaryUser = await key.getPrimaryUser(date, userIDs[i], config$1);
    if (!primaryUser.selfCertification.features ||
        !(primaryUser.selfCertification.features[0] & enums.features.aead)) {
      supported = false;
    }
  }));
  return supported;
}

function sanitizeKeyOptions(options, subkeyDefaults = {}) {
  options.type = options.type || subkeyDefaults.type;
  options.curve = options.curve || subkeyDefaults.curve;
  options.rsaBits = options.rsaBits || subkeyDefaults.rsaBits;
  options.keyExpirationTime = options.keyExpirationTime !== undefined ? options.keyExpirationTime : subkeyDefaults.keyExpirationTime;
  options.passphrase = util.isString(options.passphrase) ? options.passphrase : subkeyDefaults.passphrase;
  options.date = options.date || subkeyDefaults.date;

  options.sign = options.sign || false;

  switch (options.type) {
    case 'ecc':
      try {
        options.curve = enums.write(enums.curve, options.curve);
      } catch (e) {
        throw new Error('Unknown curve');
      }
      if (options.curve === enums.curve.ed25519Legacy || options.curve === enums.curve.curve25519Legacy) {
        options.curve = options.sign ? enums.curve.ed25519Legacy : enums.curve.curve25519Legacy;
      }
      if (options.sign) {
        options.algorithm = options.curve === enums.curve.ed25519Legacy ? enums.publicKey.eddsaLegacy : enums.publicKey.ecdsa;
      } else {
        options.algorithm = enums.publicKey.ecdh;
      }
      break;
    case 'rsa':
      options.algorithm = enums.publicKey.rsaEncryptSign;
      break;
    default:
      throw new Error(`Unsupported key type ${options.type}`);
  }
  return options;
}

function isValidSigningKeyPacket(keyPacket, signature) {
  const keyAlgo = keyPacket.algorithm;
  return keyAlgo !== enums.publicKey.rsaEncrypt &&
    keyAlgo !== enums.publicKey.elgamal &&
    keyAlgo !== enums.publicKey.ecdh &&
    keyAlgo !== enums.publicKey.x25519 &&
    (!signature.keyFlags ||
      (signature.keyFlags[0] & enums.keyFlags.signData) !== 0);
}

function isValidEncryptionKeyPacket(keyPacket, signature) {
  const keyAlgo = keyPacket.algorithm;
  return keyAlgo !== enums.publicKey.dsa &&
    keyAlgo !== enums.publicKey.rsaSign &&
    keyAlgo !== enums.publicKey.ecdsa &&
    keyAlgo !== enums.publicKey.eddsaLegacy &&
    keyAlgo !== enums.publicKey.ed25519 &&
    (!signature.keyFlags ||
      (signature.keyFlags[0] & enums.keyFlags.encryptCommunication) !== 0 ||
      (signature.keyFlags[0] & enums.keyFlags.encryptStorage) !== 0);
}

function isValidDecryptionKeyPacket(signature, config) {
  if (config.allowInsecureDecryptionWithSigningKeys) {
    // This is only relevant for RSA keys, all other signing algorithms cannot decrypt
    return true;
  }

  return !signature.keyFlags ||
    (signature.keyFlags[0] & enums.keyFlags.encryptCommunication) !== 0 ||
    (signature.keyFlags[0] & enums.keyFlags.encryptStorage) !== 0;
}

/**
 * Check key against blacklisted algorithms and minimum strength requirements.
 * @param {SecretKeyPacket|PublicKeyPacket|
 *        SecretSubkeyPacket|PublicSubkeyPacket} keyPacket
 * @param {Config} config
 * @throws {Error} if the key packet does not meet the requirements
 */
function checkKeyRequirements(keyPacket, config) {
  const keyAlgo = enums.write(enums.publicKey, keyPacket.algorithm);
  const algoInfo = keyPacket.getAlgorithmInfo();
  if (config.rejectPublicKeyAlgorithms.has(keyAlgo)) {
    throw new Error(`${algoInfo.algorithm} keys are considered too weak.`);
  }
  switch (keyAlgo) {
    case enums.publicKey.rsaEncryptSign:
    case enums.publicKey.rsaSign:
    case enums.publicKey.rsaEncrypt:
      if (algoInfo.bits < config.minRSABits) {
        throw new Error(`RSA keys shorter than ${config.minRSABits} bits are considered too weak.`);
      }
      break;
    case enums.publicKey.ecdsa:
    case enums.publicKey.eddsaLegacy:
    case enums.publicKey.ecdh:
      if (config.rejectCurves.has(algoInfo.curve)) {
        throw new Error(`Support for ${algoInfo.algorithm} keys using curve ${algoInfo.curve} is disabled.`);
      }
      break;
  }
}

/**
 * @module key/User
 * @private
 */

/**
 * Class that represents an user ID or attribute packet and the relevant signatures.
  * @param {UserIDPacket|UserAttributePacket} userPacket - packet containing the user info
  * @param {Key} mainKey - reference to main Key object containing the primary key and subkeys that the user is associated with
 */
class User {
  constructor(userPacket, mainKey) {
    this.userID = userPacket.constructor.tag === enums.packet.userID ? userPacket : null;
    this.userAttribute = userPacket.constructor.tag === enums.packet.userAttribute ? userPacket : null;
    this.selfCertifications = [];
    this.otherCertifications = [];
    this.revocationSignatures = [];
    this.mainKey = mainKey;
  }

  /**
   * Transforms structured user data to packetlist
   * @returns {PacketList}
   */
  toPacketList() {
    const packetlist = new PacketList();
    packetlist.push(this.userID || this.userAttribute);
    packetlist.push(...this.revocationSignatures);
    packetlist.push(...this.selfCertifications);
    packetlist.push(...this.otherCertifications);
    return packetlist;
  }

  /**
   * Shallow clone
   * @returns {User}
   */
  clone() {
    const user = new User(this.userID || this.userAttribute, this.mainKey);
    user.selfCertifications = [...this.selfCertifications];
    user.otherCertifications = [...this.otherCertifications];
    user.revocationSignatures = [...this.revocationSignatures];
    return user;
  }

  /**
   * Generate third-party certifications over this user and its primary key
   * @param {Array<PrivateKey>} signingKeys - Decrypted private keys for signing
   * @param {Date} [date] - Date to use as creation date of the certificate, instead of the current time
   * @param {Object} config - Full configuration
   * @returns {Promise<User>} New user with new certifications.
   * @async
   */
  async certify(signingKeys, date, config) {
    const primaryKey = this.mainKey.keyPacket;
    const dataToSign = {
      userID: this.userID,
      userAttribute: this.userAttribute,
      key: primaryKey
    };
    const user = new User(dataToSign.userID || dataToSign.userAttribute, this.mainKey);
    user.otherCertifications = await Promise.all(signingKeys.map(async function(privateKey) {
      if (!privateKey.isPrivate()) {
        throw new Error('Need private key for signing');
      }
      if (privateKey.hasSameFingerprintAs(primaryKey)) {
        throw new Error("The user's own key can only be used for self-certifications");
      }
      const signingKey = await privateKey.getSigningKey(undefined, date, undefined, config);
      return createSignaturePacket(dataToSign, privateKey, signingKey.keyPacket, {
        // Most OpenPGP implementations use generic certification (0x10)
        signatureType: enums.signature.certGeneric,
        keyFlags: [enums.keyFlags.certifyKeys | enums.keyFlags.signData]
      }, date, undefined, undefined, undefined, config);
    }));
    await user.update(this, date, config);
    return user;
  }

  /**
   * Checks if a given certificate of the user is revoked
   * @param {SignaturePacket} certificate - The certificate to verify
   * @param  {PublicSubkeyPacket|
   *          SecretSubkeyPacket|
   *          PublicKeyPacket|
   *          SecretKeyPacket} [keyPacket] The key packet to verify the signature, instead of the primary key
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} config - Full configuration
   * @returns {Promise<Boolean>} True if the certificate is revoked.
   * @async
   */
  async isRevoked(certificate, keyPacket, date = new Date(), config$1 = config) {
    const primaryKey = this.mainKey.keyPacket;
    return isDataRevoked(primaryKey, enums.signature.certRevocation, {
      key: primaryKey,
      userID: this.userID,
      userAttribute: this.userAttribute
    }, this.revocationSignatures, certificate, keyPacket, date, config$1);
  }

  /**
   * Verifies the user certificate.
   * @param {SignaturePacket} certificate - A certificate of this user
   * @param {Array<PublicKey>} verificationKeys - Array of keys to verify certificate signatures
   * @param {Date} [date] - Use the given date instead of the current time
   * @param {Object} config - Full configuration
   * @returns {Promise<true|null>} true if the certificate could be verified, or null if the verification keys do not correspond to the certificate
   * @throws if the user certificate is invalid.
   * @async
   */
  async verifyCertificate(certificate, verificationKeys, date = new Date(), config) {
    const that = this;
    const primaryKey = this.mainKey.keyPacket;
    const dataToVerify = {
      userID: this.userID,
      userAttribute: this.userAttribute,
      key: primaryKey
    };
    const { issuerKeyID } = certificate;
    const issuerKeys = verificationKeys.filter(key => key.getKeys(issuerKeyID).length > 0);
    if (issuerKeys.length === 0) {
      return null;
    }
    await Promise.all(issuerKeys.map(async key => {
      const signingKey = await key.getSigningKey(issuerKeyID, certificate.created, undefined, config);
      if (certificate.revoked || await that.isRevoked(certificate, signingKey.keyPacket, date, config)) {
        throw new Error('User certificate is revoked');
      }
      try {
        await certificate.verify(signingKey.keyPacket, enums.signature.certGeneric, dataToVerify, date, undefined, config);
      } catch (e) {
        throw util.wrapError('User certificate is invalid', e);
      }
    }));
    return true;
  }

  /**
   * Verifies all user certificates
   * @param {Array<PublicKey>} verificationKeys - Array of keys to verify certificate signatures
   * @param {Date} [date] - Use the given date instead of the current time
   * @param {Object} config - Full configuration
   * @returns {Promise<Array<{
   *   keyID: module:type/keyid~KeyID,
   *   valid: Boolean | null
   * }>>} List of signer's keyID and validity of signature.
   *      Signature validity is null if the verification keys do not correspond to the certificate.
   * @async
   */
  async verifyAllCertifications(verificationKeys, date = new Date(), config) {
    const that = this;
    const certifications = this.selfCertifications.concat(this.otherCertifications);
    return Promise.all(certifications.map(async certification => ({
      keyID: certification.issuerKeyID,
      valid: await that.verifyCertificate(certification, verificationKeys, date, config).catch(() => false)
    })));
  }

  /**
   * Verify User. Checks for existence of self signatures, revocation signatures
   * and validity of self signature.
   * @param {Date} date - Use the given date instead of the current time
   * @param {Object} config - Full configuration
   * @returns {Promise<true>} Status of user.
   * @throws {Error} if there are no valid self signatures.
   * @async
   */
  async verify(date = new Date(), config) {
    if (!this.selfCertifications.length) {
      throw new Error('No self-certifications found');
    }
    const that = this;
    const primaryKey = this.mainKey.keyPacket;
    const dataToVerify = {
      userID: this.userID,
      userAttribute: this.userAttribute,
      key: primaryKey
    };
    // TODO replace when Promise.some or Promise.any are implemented
    let exception;
    for (let i = this.selfCertifications.length - 1; i >= 0; i--) {
      try {
        const selfCertification = this.selfCertifications[i];
        if (selfCertification.revoked || await that.isRevoked(selfCertification, undefined, date, config)) {
          throw new Error('Self-certification is revoked');
        }
        try {
          await selfCertification.verify(primaryKey, enums.signature.certGeneric, dataToVerify, date, undefined, config);
        } catch (e) {
          throw util.wrapError('Self-certification is invalid', e);
        }
        return true;
      } catch (e) {
        exception = e;
      }
    }
    throw exception;
  }

  /**
   * Update user with new components from specified user
   * @param {User} sourceUser - Source user to merge
   * @param {Date} date - Date to verify the validity of signatures
   * @param {Object} config - Full configuration
   * @returns {Promise<undefined>}
   * @async
   */
  async update(sourceUser, date, config) {
    const primaryKey = this.mainKey.keyPacket;
    const dataToVerify = {
      userID: this.userID,
      userAttribute: this.userAttribute,
      key: primaryKey
    };
    // self signatures
    await mergeSignatures(sourceUser, this, 'selfCertifications', date, async function(srcSelfSig) {
      try {
        await srcSelfSig.verify(primaryKey, enums.signature.certGeneric, dataToVerify, date, false, config);
        return true;
      } catch (e) {
        return false;
      }
    });
    // other signatures
    await mergeSignatures(sourceUser, this, 'otherCertifications', date);
    // revocation signatures
    await mergeSignatures(sourceUser, this, 'revocationSignatures', date, function(srcRevSig) {
      return isDataRevoked(primaryKey, enums.signature.certRevocation, dataToVerify, [srcRevSig], undefined, undefined, date, config);
    });
  }

  /**
   * Revokes the user
   * @param {SecretKeyPacket} primaryKey - decrypted private primary key for revocation
   * @param {Object} reasonForRevocation - optional, object indicating the reason for revocation
   * @param  {module:enums.reasonForRevocation} reasonForRevocation.flag optional, flag indicating the reason for revocation
   * @param  {String} reasonForRevocation.string optional, string explaining the reason for revocation
   * @param {Date} date - optional, override the creationtime of the revocation signature
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<User>} New user with revocation signature.
   * @async
   */
  async revoke(
    primaryKey,
    {
      flag: reasonForRevocationFlag = enums.reasonForRevocation.noReason,
      string: reasonForRevocationString = ''
    } = {},
    date = new Date(),
    config$1 = config
  ) {
    const dataToSign = {
      userID: this.userID,
      userAttribute: this.userAttribute,
      key: primaryKey
    };
    const user = new User(dataToSign.userID || dataToSign.userAttribute, this.mainKey);
    user.revocationSignatures.push(await createSignaturePacket(dataToSign, null, primaryKey, {
      signatureType: enums.signature.certRevocation,
      reasonForRevocationFlag: enums.write(enums.reasonForRevocation, reasonForRevocationFlag),
      reasonForRevocationString
    }, date, undefined, undefined, false, config$1));
    await user.update(this);
    return user;
  }
}

/**
 * @module key/Subkey
 * @private
 */

/**
 * Class that represents a subkey packet and the relevant signatures.
 * @borrows PublicSubkeyPacket#getKeyID as Subkey#getKeyID
 * @borrows PublicSubkeyPacket#getFingerprint as Subkey#getFingerprint
 * @borrows PublicSubkeyPacket#hasSameFingerprintAs as Subkey#hasSameFingerprintAs
 * @borrows PublicSubkeyPacket#getAlgorithmInfo as Subkey#getAlgorithmInfo
 * @borrows PublicSubkeyPacket#getCreationTime as Subkey#getCreationTime
 * @borrows PublicSubkeyPacket#isDecrypted as Subkey#isDecrypted
 */
class Subkey {
  /**
   * @param {SecretSubkeyPacket|PublicSubkeyPacket} subkeyPacket - subkey packet to hold in the Subkey
   * @param {Key} mainKey - reference to main Key object, containing the primary key packet corresponding to the subkey
   */
  constructor(subkeyPacket, mainKey) {
    this.keyPacket = subkeyPacket;
    this.bindingSignatures = [];
    this.revocationSignatures = [];
    this.mainKey = mainKey;
  }

  /**
   * Transforms structured subkey data to packetlist
   * @returns {PacketList}
   */
  toPacketList() {
    const packetlist = new PacketList();
    packetlist.push(this.keyPacket);
    packetlist.push(...this.revocationSignatures);
    packetlist.push(...this.bindingSignatures);
    return packetlist;
  }

  /**
   * Shallow clone
   * @return {Subkey}
   */
  clone() {
    const subkey = new Subkey(this.keyPacket, this.mainKey);
    subkey.bindingSignatures = [...this.bindingSignatures];
    subkey.revocationSignatures = [...this.revocationSignatures];
    return subkey;
  }

  /**
   * Checks if a binding signature of a subkey is revoked
   * @param {SignaturePacket} signature - The binding signature to verify
   * @param  {PublicSubkeyPacket|
   *          SecretSubkeyPacket|
   *          PublicKeyPacket|
   *          SecretKeyPacket} key, optional The key to verify the signature
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Boolean>} True if the binding signature is revoked.
   * @async
   */
  async isRevoked(signature, key, date = new Date(), config$1 = config) {
    const primaryKey = this.mainKey.keyPacket;
    return isDataRevoked(
      primaryKey, enums.signature.subkeyRevocation, {
        key: primaryKey,
        bind: this.keyPacket
      }, this.revocationSignatures, signature, key, date, config$1
    );
  }

  /**
   * Verify subkey. Checks for revocation signatures, expiration time
   * and valid binding signature.
   * @param {Date} date - Use the given date instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<SignaturePacket>}
   * @throws {Error}           if the subkey is invalid.
   * @async
   */
  async verify(date = new Date(), config$1 = config) {
    const primaryKey = this.mainKey.keyPacket;
    const dataToVerify = { key: primaryKey, bind: this.keyPacket };
    // check subkey binding signatures
    const bindingSignature = await getLatestValidSignature(this.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
    // check binding signature is not revoked
    if (bindingSignature.revoked || await this.isRevoked(bindingSignature, null, date, config$1)) {
      throw new Error('Subkey is revoked');
    }
    // check for expiration time
    if (isDataExpired(this.keyPacket, bindingSignature, date)) {
      throw new Error('Subkey is expired');
    }
    return bindingSignature;
  }

  /**
   * Returns the expiration time of the subkey or Infinity if key does not expire.
   * Returns null if the subkey is invalid.
   * @param {Date} date - Use the given date instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Date | Infinity | null>}
   * @async
   */
  async getExpirationTime(date = new Date(), config$1 = config) {
    const primaryKey = this.mainKey.keyPacket;
    const dataToVerify = { key: primaryKey, bind: this.keyPacket };
    let bindingSignature;
    try {
      bindingSignature = await getLatestValidSignature(this.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
    } catch (e) {
      return null;
    }
    const keyExpiry = getKeyExpirationTime(this.keyPacket, bindingSignature);
    const sigExpiry = bindingSignature.getExpirationTime();
    return keyExpiry < sigExpiry ? keyExpiry : sigExpiry;
  }

  /**
   * Update subkey with new components from specified subkey
   * @param {Subkey} subkey - Source subkey to merge
   * @param {Date} [date] - Date to verify validity of signatures
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if update failed
   * @async
   */
  async update(subkey, date = new Date(), config$1 = config) {
    const primaryKey = this.mainKey.keyPacket;
    if (!this.hasSameFingerprintAs(subkey)) {
      throw new Error('Subkey update method: fingerprints of subkeys not equal');
    }
    // key packet
    if (this.keyPacket.constructor.tag === enums.packet.publicSubkey &&
        subkey.keyPacket.constructor.tag === enums.packet.secretSubkey) {
      this.keyPacket = subkey.keyPacket;
    }
    // update missing binding signatures
    const that = this;
    const dataToVerify = { key: primaryKey, bind: that.keyPacket };
    await mergeSignatures(subkey, this, 'bindingSignatures', date, async function(srcBindSig) {
      for (let i = 0; i < that.bindingSignatures.length; i++) {
        if (that.bindingSignatures[i].issuerKeyID.equals(srcBindSig.issuerKeyID)) {
          if (srcBindSig.created > that.bindingSignatures[i].created) {
            that.bindingSignatures[i] = srcBindSig;
          }
          return false;
        }
      }
      try {
        await srcBindSig.verify(primaryKey, enums.signature.subkeyBinding, dataToVerify, date, undefined, config$1);
        return true;
      } catch (e) {
        return false;
      }
    });
    // revocation signatures
    await mergeSignatures(subkey, this, 'revocationSignatures', date, function(srcRevSig) {
      return isDataRevoked(primaryKey, enums.signature.subkeyRevocation, dataToVerify, [srcRevSig], undefined, undefined, date, config$1);
    });
  }

  /**
   * Revokes the subkey
   * @param {SecretKeyPacket} primaryKey - decrypted private primary key for revocation
   * @param {Object} reasonForRevocation - optional, object indicating the reason for revocation
   * @param  {module:enums.reasonForRevocation} reasonForRevocation.flag optional, flag indicating the reason for revocation
   * @param  {String} reasonForRevocation.string optional, string explaining the reason for revocation
   * @param {Date} date - optional, override the creationtime of the revocation signature
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Subkey>} New subkey with revocation signature.
   * @async
   */
  async revoke(
    primaryKey,
    {
      flag: reasonForRevocationFlag = enums.reasonForRevocation.noReason,
      string: reasonForRevocationString = ''
    } = {},
    date = new Date(),
    config$1 = config
  ) {
    const dataToSign = { key: primaryKey, bind: this.keyPacket };
    const subkey = new Subkey(this.keyPacket, this.mainKey);
    subkey.revocationSignatures.push(await createSignaturePacket(dataToSign, null, primaryKey, {
      signatureType: enums.signature.subkeyRevocation,
      reasonForRevocationFlag: enums.write(enums.reasonForRevocation, reasonForRevocationFlag),
      reasonForRevocationString
    }, date, undefined, undefined, false, config$1));
    await subkey.update(this);
    return subkey;
  }

  hasSameFingerprintAs(other) {
    return this.keyPacket.hasSameFingerprintAs(other.keyPacket || other);
  }
}

['getKeyID', 'getFingerprint', 'getAlgorithmInfo', 'getCreationTime', 'isDecrypted'].forEach(name => {
  Subkey.prototype[name] =
    function() {
      return this.keyPacket[name]();
    };
});

// GPG4Browsers - An OpenPGP implementation in javascript

// A key revocation certificate can contain the following packets
const allowedRevocationPackets = /*#__PURE__*/ util.constructAllowedPackets([SignaturePacket]);
const mainKeyPacketTags = new Set([enums.packet.publicKey, enums.packet.privateKey]);
const keyPacketTags = new Set([
  enums.packet.publicKey, enums.packet.privateKey,
  enums.packet.publicSubkey, enums.packet.privateSubkey
]);

/**
 * Abstract class that represents an OpenPGP key. Must contain a primary key.
 * Can contain additional subkeys, signatures, user ids, user attributes.
 * @borrows PublicKeyPacket#getKeyID as Key#getKeyID
 * @borrows PublicKeyPacket#getFingerprint as Key#getFingerprint
 * @borrows PublicKeyPacket#hasSameFingerprintAs as Key#hasSameFingerprintAs
 * @borrows PublicKeyPacket#getAlgorithmInfo as Key#getAlgorithmInfo
 * @borrows PublicKeyPacket#getCreationTime as Key#getCreationTime
 */
class Key {
  /**
   * Transforms packetlist to structured key data
   * @param {PacketList} packetlist - The packets that form a key
   * @param {Set<enums.packet>} disallowedPackets - disallowed packet tags
   */
  packetListToStructure(packetlist, disallowedPackets = new Set()) {
    let user;
    let primaryKeyID;
    let subkey;
    let ignoreUntil;

    for (const packet of packetlist) {

      if (packet instanceof UnparseablePacket) {
        const isUnparseableKeyPacket = keyPacketTags.has(packet.tag);
        if (isUnparseableKeyPacket && !ignoreUntil) {
          // Since non-key packets apply to the preceding key packet, if a (sub)key is Unparseable we must
          // discard all non-key packets that follow, until another (sub)key packet is found.
          if (mainKeyPacketTags.has(packet.tag)) {
            ignoreUntil = mainKeyPacketTags;
          } else {
            ignoreUntil = keyPacketTags;
          }
        }
        continue;
      }

      const tag = packet.constructor.tag;
      if (ignoreUntil) {
        if (!ignoreUntil.has(tag)) continue;
        ignoreUntil = null;
      }
      if (disallowedPackets.has(tag)) {
        throw new Error(`Unexpected packet type: ${tag}`);
      }
      switch (tag) {
        case enums.packet.publicKey:
        case enums.packet.secretKey:
          if (this.keyPacket) {
            throw new Error('Key block contains multiple keys');
          }
          this.keyPacket = packet;
          primaryKeyID = this.getKeyID();
          if (!primaryKeyID) {
            throw new Error('Missing Key ID');
          }
          break;
        case enums.packet.userID:
        case enums.packet.userAttribute:
          user = new User(packet, this);
          this.users.push(user);
          break;
        case enums.packet.publicSubkey:
        case enums.packet.secretSubkey:
          user = null;
          subkey = new Subkey(packet, this);
          this.subkeys.push(subkey);
          break;
        case enums.packet.signature:
          switch (packet.signatureType) {
            case enums.signature.certGeneric:
            case enums.signature.certPersona:
            case enums.signature.certCasual:
            case enums.signature.certPositive:
              if (!user) {
                util.printDebug('Dropping certification signatures without preceding user packet');
                continue;
              }
              if (packet.issuerKeyID.equals(primaryKeyID)) {
                user.selfCertifications.push(packet);
              } else {
                user.otherCertifications.push(packet);
              }
              break;
            case enums.signature.certRevocation:
              if (user) {
                user.revocationSignatures.push(packet);
              } else {
                this.directSignatures.push(packet);
              }
              break;
            case enums.signature.key:
              this.directSignatures.push(packet);
              break;
            case enums.signature.subkeyBinding:
              if (!subkey) {
                util.printDebug('Dropping subkey binding signature without preceding subkey packet');
                continue;
              }
              subkey.bindingSignatures.push(packet);
              break;
            case enums.signature.keyRevocation:
              this.revocationSignatures.push(packet);
              break;
            case enums.signature.subkeyRevocation:
              if (!subkey) {
                util.printDebug('Dropping subkey revocation signature without preceding subkey packet');
                continue;
              }
              subkey.revocationSignatures.push(packet);
              break;
          }
          break;
      }
    }
  }

  /**
   * Transforms structured key data to packetlist
   * @returns {PacketList} The packets that form a key.
   */
  toPacketList() {
    const packetlist = new PacketList();
    packetlist.push(this.keyPacket);
    packetlist.push(...this.revocationSignatures);
    packetlist.push(...this.directSignatures);
    this.users.map(user => packetlist.push(...user.toPacketList()));
    this.subkeys.map(subkey => packetlist.push(...subkey.toPacketList()));
    return packetlist;
  }

  /**
   * Clones the key object. The copy is shallow, as it references the same packet objects as the original. However, if the top-level API is used, the two key instances are effectively independent.
   * @param {Boolean} [clonePrivateParams=false] Only relevant for private keys: whether the secret key paramenters should be deeply copied. This is needed if e.g. `encrypt()` is to be called either on the clone or the original key.
   * @returns {Promise<Key>} Clone of the key.
   */
  clone(clonePrivateParams = false) {
    const key = new this.constructor(this.toPacketList());
    if (clonePrivateParams) {
      key.getKeys().forEach(k => {
        // shallow clone the key packets
        k.keyPacket = Object.create(
          Object.getPrototypeOf(k.keyPacket),
          Object.getOwnPropertyDescriptors(k.keyPacket)
        );
        if (!k.keyPacket.isDecrypted()) return;
        // deep clone the private params, which are cleared during encryption
        const privateParams = {};
        Object.keys(k.keyPacket.privateParams).forEach(name => {
          privateParams[name] = new Uint8Array(k.keyPacket.privateParams[name]);
        });
        k.keyPacket.privateParams = privateParams;
      });
    }
    return key;
  }

  /**
   * Returns an array containing all public or private subkeys matching keyID;
   * If no keyID is given, returns all subkeys.
   * @param {type/keyID} [keyID] - key ID to look for
   * @returns {Array<Subkey>} array of subkeys
   */
  getSubkeys(keyID = null) {
    const subkeys = this.subkeys.filter(subkey => (
      !keyID || subkey.getKeyID().equals(keyID, true)
    ));
    return subkeys;
  }

  /**
   * Returns an array containing all public or private keys matching keyID.
   * If no keyID is given, returns all keys, starting with the primary key.
   * @param {type/keyid~KeyID} [keyID] - key ID to look for
   * @returns {Array<Key|Subkey>} array of keys
   */
  getKeys(keyID = null) {
    const keys = [];
    if (!keyID || this.getKeyID().equals(keyID, true)) {
      keys.push(this);
    }
    return keys.concat(this.getSubkeys(keyID));
  }

  /**
   * Returns key IDs of all keys
   * @returns {Array<module:type/keyid~KeyID>}
   */
  getKeyIDs() {
    return this.getKeys().map(key => key.getKeyID());
  }

  /**
   * Returns userIDs
   * @returns {Array<string>} Array of userIDs.
   */
  getUserIDs() {
    return this.users.map(user => {
      return user.userID ? user.userID.userID : null;
    }).filter(userID => userID !== null);
  }

  /**
   * Returns binary encoded key
   * @returns {Uint8Array} Binary key.
   */
  write() {
    return this.toPacketList().write();
  }

  /**
   * Returns last created key or key by given keyID that is available for signing and verification
   * @param  {module:type/keyid~KeyID} [keyID] - key ID of a specific key to retrieve
   * @param  {Date} [date] - use the fiven date date to  to check key validity instead of the current date
   * @param  {Object} [userID] - filter keys for the given user ID
   * @param  {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Key|Subkey>} signing key
   * @throws if no valid signing key was found
   * @async
   */
  async getSigningKey(keyID = null, date = new Date(), userID = {}, config$1 = config) {
    await this.verifyPrimaryKey(date, userID, config$1);
    const primaryKey = this.keyPacket;
    const subkeys = this.subkeys.slice().sort((a, b) => b.keyPacket.created - a.keyPacket.created);
    let exception;
    for (const subkey of subkeys) {
      if (!keyID || subkey.getKeyID().equals(keyID)) {
        try {
          await subkey.verify(date, config$1);
          const dataToVerify = { key: primaryKey, bind: subkey.keyPacket };
          const bindingSignature = await getLatestValidSignature(
            subkey.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1
          );
          if (!isValidSigningKeyPacket(subkey.keyPacket, bindingSignature)) {
            continue;
          }
          if (!bindingSignature.embeddedSignature) {
            throw new Error('Missing embedded signature');
          }
          // verify embedded signature
          await getLatestValidSignature(
            [bindingSignature.embeddedSignature], subkey.keyPacket, enums.signature.keyBinding, dataToVerify, date, config$1
          );
          checkKeyRequirements(subkey.keyPacket, config$1);
          return subkey;
        } catch (e) {
          exception = e;
        }
      }
    }

    try {
      const primaryUser = await this.getPrimaryUser(date, userID, config$1);
      if ((!keyID || primaryKey.getKeyID().equals(keyID)) &&
          isValidSigningKeyPacket(primaryKey, primaryUser.selfCertification, config$1)) {
        checkKeyRequirements(primaryKey, config$1);
        return this;
      }
    } catch (e) {
      exception = e;
    }
    throw util.wrapError('Could not find valid signing key packet in key ' + this.getKeyID().toHex(), exception);
  }

  /**
   * Returns last created key or key by given keyID that is available for encryption or decryption
   * @param  {module:type/keyid~KeyID} [keyID] - key ID of a specific key to retrieve
   * @param  {Date}   [date] - use the fiven date date to  to check key validity instead of the current date
   * @param  {Object} [userID] - filter keys for the given user ID
   * @param  {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Key|Subkey>} encryption key
   * @throws if no valid encryption key was found
   * @async
   */
  async getEncryptionKey(keyID, date = new Date(), userID = {}, config$1 = config) {
    await this.verifyPrimaryKey(date, userID, config$1);
    const primaryKey = this.keyPacket;
    // V4: by convention subkeys are preferred for encryption service
    const subkeys = this.subkeys.slice().sort((a, b) => b.keyPacket.created - a.keyPacket.created);
    let exception;
    for (const subkey of subkeys) {
      if (!keyID || subkey.getKeyID().equals(keyID)) {
        try {
          await subkey.verify(date, config$1);
          const dataToVerify = { key: primaryKey, bind: subkey.keyPacket };
          const bindingSignature = await getLatestValidSignature(subkey.bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
          if (isValidEncryptionKeyPacket(subkey.keyPacket, bindingSignature)) {
            checkKeyRequirements(subkey.keyPacket, config$1);
            return subkey;
          }
        } catch (e) {
          exception = e;
        }
      }
    }

    try {
      // if no valid subkey for encryption, evaluate primary key
      const primaryUser = await this.getPrimaryUser(date, userID, config$1);
      if ((!keyID || primaryKey.getKeyID().equals(keyID)) &&
          isValidEncryptionKeyPacket(primaryKey, primaryUser.selfCertification)) {
        checkKeyRequirements(primaryKey, config$1);
        return this;
      }
    } catch (e) {
      exception = e;
    }
    throw util.wrapError('Could not find valid encryption key packet in key ' + this.getKeyID().toHex(), exception);
  }

  /**
   * Checks if a signature on a key is revoked
   * @param {SignaturePacket} signature - The signature to verify
   * @param  {PublicSubkeyPacket|
   *          SecretSubkeyPacket|
   *          PublicKeyPacket|
   *          SecretKeyPacket} key, optional The key to verify the signature
   * @param {Date} [date] - Use the given date for verification, instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Boolean>} True if the certificate is revoked.
   * @async
   */
  async isRevoked(signature, key, date = new Date(), config$1 = config) {
    return isDataRevoked(
      this.keyPacket, enums.signature.keyRevocation, { key: this.keyPacket }, this.revocationSignatures, signature, key, date, config$1
    );
  }

  /**
   * Verify primary key. Checks for revocation signatures, expiration time
   * and valid self signature. Throws if the primary key is invalid.
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} [userID] - User ID
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} If key verification failed
   * @async
   */
  async verifyPrimaryKey(date = new Date(), userID = {}, config$1 = config) {
    const primaryKey = this.keyPacket;
    // check for key revocation signatures
    if (await this.isRevoked(null, null, date, config$1)) {
      throw new Error('Primary key is revoked');
    }
    // check for valid, unrevoked, unexpired self signature
    const { selfCertification } = await this.getPrimaryUser(date, userID, config$1);
    // check for expiration time in binding signatures
    if (isDataExpired(primaryKey, selfCertification, date)) {
      throw new Error('Primary key is expired');
    }
    // check for expiration time in direct signatures
    const directSignature = await getLatestValidSignature(
      this.directSignatures, primaryKey, enums.signature.key, { key: primaryKey }, date, config$1
    ).catch(() => {}); // invalid signatures are discarded, to avoid breaking the key

    if (directSignature && isDataExpired(primaryKey, directSignature, date)) {
      throw new Error('Primary key is expired');
    }
  }

  /**
   * Returns the expiration date of the primary key, considering self-certifications and direct-key signatures.
   * Returns `Infinity` if the key doesn't expire, or `null` if the key is revoked or invalid.
   * @param  {Object} [userID] - User ID to consider instead of the primary user
   * @param  {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Date | Infinity | null>}
   * @async
   */
  async getExpirationTime(userID, config$1 = config) {
    let primaryKeyExpiry;
    try {
      const { selfCertification } = await this.getPrimaryUser(null, userID, config$1);
      const selfSigKeyExpiry = getKeyExpirationTime(this.keyPacket, selfCertification);
      const selfSigExpiry = selfCertification.getExpirationTime();
      const directSignature = await getLatestValidSignature(
        this.directSignatures, this.keyPacket, enums.signature.key, { key: this.keyPacket }, null, config$1
      ).catch(() => {});
      if (directSignature) {
        const directSigKeyExpiry = getKeyExpirationTime(this.keyPacket, directSignature);
        // We do not support the edge case where the direct signature expires, since it would invalidate the corresponding key expiration,
        // causing a discountinous validy period for the key
        primaryKeyExpiry = Math.min(selfSigKeyExpiry, selfSigExpiry, directSigKeyExpiry);
      } else {
        primaryKeyExpiry = selfSigKeyExpiry < selfSigExpiry ? selfSigKeyExpiry : selfSigExpiry;
      }
    } catch (e) {
      primaryKeyExpiry = null;
    }

    return util.normalizeDate(primaryKeyExpiry);
  }


  /**
   * Returns primary user and most significant (latest valid) self signature
   * - if multiple primary users exist, returns the one with the latest self signature
   * - otherwise, returns the user with the latest self signature
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} [userID] - User ID to get instead of the primary user, if it exists
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<{
   *   user: User,
   *   selfCertification: SignaturePacket
   * }>} The primary user and the self signature
   * @async
   */
  async getPrimaryUser(date = new Date(), userID = {}, config$1 = config) {
    const primaryKey = this.keyPacket;
    const users = [];
    let exception;
    for (let i = 0; i < this.users.length; i++) {
      try {
        const user = this.users[i];
        if (!user.userID) {
          continue;
        }
        if (
          (userID.name !== undefined && user.userID.name !== userID.name) ||
          (userID.email !== undefined && user.userID.email !== userID.email) ||
          (userID.comment !== undefined && user.userID.comment !== userID.comment)
        ) {
          throw new Error('Could not find user that matches that user ID');
        }
        const dataToVerify = { userID: user.userID, key: primaryKey };
        const selfCertification = await getLatestValidSignature(user.selfCertifications, primaryKey, enums.signature.certGeneric, dataToVerify, date, config$1);
        users.push({ index: i, user, selfCertification });
      } catch (e) {
        exception = e;
      }
    }
    if (!users.length) {
      throw exception || new Error('Could not find primary user');
    }
    await Promise.all(users.map(async function (a) {
      return a.selfCertification.revoked || a.user.isRevoked(a.selfCertification, null, date, config$1);
    }));
    // sort by primary user flag and signature creation time
    const primaryUser = users.sort(function(a, b) {
      const A = a.selfCertification;
      const B = b.selfCertification;
      return B.revoked - A.revoked || A.isPrimaryUserID - B.isPrimaryUserID || A.created - B.created;
    }).pop();
    const { user, selfCertification: cert } = primaryUser;
    if (cert.revoked || await user.isRevoked(cert, null, date, config$1)) {
      throw new Error('Primary user is revoked');
    }
    return primaryUser;
  }

  /**
   * Update key with new components from specified key with same key ID:
   * users, subkeys, certificates are merged into the destination key,
   * duplicates and expired signatures are ignored.
   *
   * If the source key is a private key and the destination key is public,
   * a private key is returned.
   * @param {Key} sourceKey - Source key to merge
   * @param {Date} [date] - Date to verify validity of signatures and keys
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Key>} updated key
   * @async
   */
  async update(sourceKey, date = new Date(), config$1 = config) {
    if (!this.hasSameFingerprintAs(sourceKey)) {
      throw new Error('Primary key fingerprints must be equal to update the key');
    }
    if (!this.isPrivate() && sourceKey.isPrivate()) {
      // check for equal subkey packets
      const equal = (this.subkeys.length === sourceKey.subkeys.length) &&
            (this.subkeys.every(destSubkey => {
              return sourceKey.subkeys.some(srcSubkey => {
                return destSubkey.hasSameFingerprintAs(srcSubkey);
              });
            }));
      if (!equal) {
        throw new Error('Cannot update public key with private key if subkeys mismatch');
      }

      return sourceKey.update(this, config$1);
    }
    // from here on, either:
    // - destination key is private, source key is public
    // - the keys are of the same type
    // hence we don't need to convert the destination key type
    const updatedKey = this.clone();
    // revocation signatures
    await mergeSignatures(sourceKey, updatedKey, 'revocationSignatures', date, srcRevSig => {
      return isDataRevoked(updatedKey.keyPacket, enums.signature.keyRevocation, updatedKey, [srcRevSig], null, sourceKey.keyPacket, date, config$1);
    });
    // direct signatures
    await mergeSignatures(sourceKey, updatedKey, 'directSignatures', date);
    // update users
    await Promise.all(sourceKey.users.map(async srcUser => {
      // multiple users with the same ID/attribute are not explicitly disallowed by the spec
      // hence we support them, just in case
      const usersToUpdate = updatedKey.users.filter(dstUser => (
        (srcUser.userID && srcUser.userID.equals(dstUser.userID)) ||
        (srcUser.userAttribute && srcUser.userAttribute.equals(dstUser.userAttribute))
      ));
      if (usersToUpdate.length > 0) {
        await Promise.all(
          usersToUpdate.map(userToUpdate => userToUpdate.update(srcUser, date, config$1))
        );
      } else {
        const newUser = srcUser.clone();
        newUser.mainKey = updatedKey;
        updatedKey.users.push(newUser);
      }
    }));
    // update subkeys
    await Promise.all(sourceKey.subkeys.map(async srcSubkey => {
      // multiple subkeys with same fingerprint might be preset
      const subkeysToUpdate = updatedKey.subkeys.filter(dstSubkey => (
        dstSubkey.hasSameFingerprintAs(srcSubkey)
      ));
      if (subkeysToUpdate.length > 0) {
        await Promise.all(
          subkeysToUpdate.map(subkeyToUpdate => subkeyToUpdate.update(srcSubkey, date, config$1))
        );
      } else {
        const newSubkey = srcSubkey.clone();
        newSubkey.mainKey = updatedKey;
        updatedKey.subkeys.push(newSubkey);
      }
    }));

    return updatedKey;
  }

  /**
   * Get revocation certificate from a revoked key.
   *   (To get a revocation certificate for an unrevoked key, call revoke() first.)
   * @param {Date} date - Use the given date instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<String>} Armored revocation certificate.
   * @async
   */
  async getRevocationCertificate(date = new Date(), config$1 = config) {
    const dataToVerify = { key: this.keyPacket };
    const revocationSignature = await getLatestValidSignature(this.revocationSignatures, this.keyPacket, enums.signature.keyRevocation, dataToVerify, date, config$1);
    const packetlist = new PacketList();
    packetlist.push(revocationSignature);
    return armor(enums.armor.publicKey, packetlist.write(), null, null, 'This is a revocation certificate');
  }

  /**
   * Applies a revocation certificate to a key
   * This adds the first signature packet in the armored text to the key,
   * if it is a valid revocation signature.
   * @param {String} revocationCertificate - armored revocation certificate
   * @param {Date} [date] - Date to verify the certificate
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Key>} Revoked key.
   * @async
   */
  async applyRevocationCertificate(revocationCertificate, date = new Date(), config$1 = config) {
    const input = await unarmor(revocationCertificate, config$1);
    const packetlist = await PacketList.fromBinary(input.data, allowedRevocationPackets, config$1);
    const revocationSignature = packetlist.findPacket(enums.packet.signature);
    if (!revocationSignature || revocationSignature.signatureType !== enums.signature.keyRevocation) {
      throw new Error('Could not find revocation signature packet');
    }
    if (!revocationSignature.issuerKeyID.equals(this.getKeyID())) {
      throw new Error('Revocation signature does not match key');
    }
    try {
      await revocationSignature.verify(this.keyPacket, enums.signature.keyRevocation, { key: this.keyPacket }, date, undefined, config$1);
    } catch (e) {
      throw util.wrapError('Could not verify revocation signature', e);
    }
    const key = this.clone();
    key.revocationSignatures.push(revocationSignature);
    return key;
  }

  /**
   * Signs primary user of key
   * @param {Array<PrivateKey>} privateKeys - decrypted private keys for signing
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} [userID] - User ID to get instead of the primary user, if it exists
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Key>} Key with new certificate signature.
   * @async
   */
  async signPrimaryUser(privateKeys, date, userID, config$1 = config) {
    const { index, user } = await this.getPrimaryUser(date, userID, config$1);
    const userSign = await user.certify(privateKeys, date, config$1);
    const key = this.clone();
    key.users[index] = userSign;
    return key;
  }

  /**
   * Signs all users of key
   * @param {Array<PrivateKey>} privateKeys - decrypted private keys for signing
   * @param {Date} [date] - Use the given date for signing, instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Key>} Key with new certificate signature.
   * @async
   */
  async signAllUsers(privateKeys, date = new Date(), config$1 = config) {
    const key = this.clone();
    key.users = await Promise.all(this.users.map(function(user) {
      return user.certify(privateKeys, date, config$1);
    }));
    return key;
  }

  /**
   * Verifies primary user of key
   * - if no arguments are given, verifies the self certificates;
   * - otherwise, verifies all certificates signed with given keys.
   * @param {Array<PublicKey>} [verificationKeys] - array of keys to verify certificate signatures, instead of the primary key
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} [userID] - User ID to get instead of the primary user, if it exists
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<{
   *   keyID: module:type/keyid~KeyID,
   *   valid: Boolean|null
   * }>>} List of signer's keyID and validity of signature.
   *      Signature validity is null if the verification keys do not correspond to the certificate.
   * @async
   */
  async verifyPrimaryUser(verificationKeys, date = new Date(), userID, config$1 = config) {
    const primaryKey = this.keyPacket;
    const { user } = await this.getPrimaryUser(date, userID, config$1);
    const results = verificationKeys ?
      await user.verifyAllCertifications(verificationKeys, date, config$1) :
      [{ keyID: primaryKey.getKeyID(), valid: await user.verify(date, config$1).catch(() => false) }];
    return results;
  }

  /**
   * Verifies all users of key
   * - if no arguments are given, verifies the self certificates;
   * - otherwise, verifies all certificates signed with given keys.
   * @param {Array<PublicKey>} [verificationKeys] - array of keys to verify certificate signatures
   * @param {Date} [date] - Use the given date for verification instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<{
   *   userID: String,
   *   keyID: module:type/keyid~KeyID,
   *   valid: Boolean|null
   * }>>} List of userID, signer's keyID and validity of signature.
   *      Signature validity is null if the verification keys do not correspond to the certificate.
   * @async
   */
  async verifyAllUsers(verificationKeys, date = new Date(), config$1 = config) {
    const primaryKey = this.keyPacket;
    const results = [];
    await Promise.all(this.users.map(async user => {
      const signatures = verificationKeys ?
        await user.verifyAllCertifications(verificationKeys, date, config$1) :
        [{ keyID: primaryKey.getKeyID(), valid: await user.verify(date, config$1).catch(() => false) }];

      results.push(...signatures.map(
        signature => ({
          userID: user.userID ? user.userID.userID : null,
          userAttribute: user.userAttribute,
          keyID: signature.keyID,
          valid: signature.valid
        }))
      );
    }));
    return results;
  }
}

['getKeyID', 'getFingerprint', 'getAlgorithmInfo', 'getCreationTime', 'hasSameFingerprintAs'].forEach(name => {
  Key.prototype[name] =
  Subkey.prototype[name];
});

// This library is free software; you can redistribute it and/or

/**
 * Class that represents an OpenPGP Public Key
 */
class PublicKey extends Key {
  /**
   * @param {PacketList} packetlist - The packets that form this key
   */
  constructor(packetlist) {
    super();
    this.keyPacket = null;
    this.revocationSignatures = [];
    this.directSignatures = [];
    this.users = [];
    this.subkeys = [];
    if (packetlist) {
      this.packetListToStructure(packetlist, new Set([enums.packet.secretKey, enums.packet.secretSubkey]));
      if (!this.keyPacket) {
        throw new Error('Invalid key: missing public-key packet');
      }
    }
  }

  /**
   * Returns true if this is a private key
   * @returns {false}
   */
  isPrivate() {
    return false;
  }

  /**
   * Returns key as public key (shallow copy)
   * @returns {PublicKey} New public Key
   */
  toPublic() {
    return this;
  }

  /**
   * Returns ASCII armored text of key
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {ReadableStream<String>} ASCII armor.
   */
  armor(config$1 = config) {
    return armor(enums.armor.publicKey, this.toPacketList().write(), undefined, undefined, undefined, config$1);
  }
}

/**
 * Class that represents an OpenPGP Private key
 */
class PrivateKey extends PublicKey {
  /**
 * @param {PacketList} packetlist - The packets that form this key
 */
  constructor(packetlist) {
    super();
    this.packetListToStructure(packetlist, new Set([enums.packet.publicKey, enums.packet.publicSubkey]));
    if (!this.keyPacket) {
      throw new Error('Invalid key: missing private-key packet');
    }
  }

  /**
   * Returns true if this is a private key
   * @returns {Boolean}
   */
  isPrivate() {
    return true;
  }

  /**
   * Returns key as public key (shallow copy)
   * @returns {PublicKey} New public Key
   */
  toPublic() {
    const packetlist = new PacketList();
    const keyPackets = this.toPacketList();
    for (const keyPacket of keyPackets) {
      switch (keyPacket.constructor.tag) {
        case enums.packet.secretKey: {
          const pubKeyPacket = PublicKeyPacket.fromSecretKeyPacket(keyPacket);
          packetlist.push(pubKeyPacket);
          break;
        }
        case enums.packet.secretSubkey: {
          const pubSubkeyPacket = PublicSubkeyPacket.fromSecretSubkeyPacket(keyPacket);
          packetlist.push(pubSubkeyPacket);
          break;
        }
        default:
          packetlist.push(keyPacket);
      }
    }
    return new PublicKey(packetlist);
  }

  /**
   * Returns ASCII armored text of key
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {ReadableStream<String>} ASCII armor.
   */
  armor(config$1 = config) {
    return armor(enums.armor.privateKey, this.toPacketList().write(), undefined, undefined, undefined, config$1);
  }

  /**
   * Returns all keys that are available for decryption, matching the keyID when given
   * This is useful to retrieve keys for session key decryption
   * @param  {module:type/keyid~KeyID} keyID, optional
   * @param  {Date}              date, optional
   * @param  {String}            userID, optional
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<Key|Subkey>>} Array of decryption keys.
   * @async
   */
  async getDecryptionKeys(keyID, date = new Date(), userID = {}, config$1 = config) {
    const primaryKey = this.keyPacket;
    const keys = [];
    for (let i = 0; i < this.subkeys.length; i++) {
      if (!keyID || this.subkeys[i].getKeyID().equals(keyID, true)) {
        try {
          const dataToVerify = { key: primaryKey, bind: this.subkeys[i].keyPacket };
          const bindingSignature = await getLatestValidSignature(this.subkeys[i].bindingSignatures, primaryKey, enums.signature.subkeyBinding, dataToVerify, date, config$1);
          if (isValidDecryptionKeyPacket(bindingSignature, config$1)) {
            keys.push(this.subkeys[i]);
          }
        } catch (e) {}
      }
    }

    // evaluate primary key
    const primaryUser = await this.getPrimaryUser(date, userID, config$1);
    if ((!keyID || primaryKey.getKeyID().equals(keyID, true)) &&
        isValidDecryptionKeyPacket(primaryUser.selfCertification, config$1)) {
      keys.push(this);
    }

    return keys;
  }

  /**
   * Returns true if the primary key or any subkey is decrypted.
   * A dummy key is considered encrypted.
   */
  isDecrypted() {
    return this.getKeys().some(({ keyPacket }) => keyPacket.isDecrypted());
  }

  /**
   * Check whether the private and public primary key parameters correspond
   * Together with verification of binding signatures, this guarantees key integrity
   * In case of gnu-dummy primary key, it is enough to validate any signing subkeys
   *   otherwise all encryption subkeys are validated
   * If only gnu-dummy keys are found, we cannot properly validate so we throw an error
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @throws {Error} if validation was not successful and the key cannot be trusted
   * @async
   */
  async validate(config$1 = config) {
    if (!this.isPrivate()) {
      throw new Error('Cannot validate a public key');
    }

    let signingKeyPacket;
    if (!this.keyPacket.isDummy()) {
      signingKeyPacket = this.keyPacket;
    } else {
      /**
       * It is enough to validate any signing keys
       * since its binding signatures are also checked
       */
      const signingKey = await this.getSigningKey(null, null, undefined, { ...config$1, rejectPublicKeyAlgorithms: new Set(), minRSABits: 0 });
      // This could again be a dummy key
      if (signingKey && !signingKey.keyPacket.isDummy()) {
        signingKeyPacket = signingKey.keyPacket;
      }
    }

    if (signingKeyPacket) {
      return signingKeyPacket.validate();
    } else {
      const keys = this.getKeys();
      const allDummies = keys.map(key => key.keyPacket.isDummy()).every(Boolean);
      if (allDummies) {
        throw new Error('Cannot validate an all-gnu-dummy key');
      }

      return Promise.all(keys.map(async key => key.keyPacket.validate()));
    }
  }

  /**
   * Clear private key parameters
   */
  clearPrivateParams() {
    this.getKeys().forEach(({ keyPacket }) => {
      if (keyPacket.isDecrypted()) {
        keyPacket.clearPrivateParams();
      }
    });
  }

  /**
   * Revokes the key
   * @param {Object} reasonForRevocation - optional, object indicating the reason for revocation
   * @param  {module:enums.reasonForRevocation} reasonForRevocation.flag optional, flag indicating the reason for revocation
   * @param  {String} reasonForRevocation.string optional, string explaining the reason for revocation
   * @param {Date} date - optional, override the creationtime of the revocation signature
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<PrivateKey>} New key with revocation signature.
   * @async
   */
  async revoke(
    {
      flag: reasonForRevocationFlag = enums.reasonForRevocation.noReason,
      string: reasonForRevocationString = ''
    } = {},
    date = new Date(),
    config$1 = config
  ) {
    if (!this.isPrivate()) {
      throw new Error('Need private key for revoking');
    }
    const dataToSign = { key: this.keyPacket };
    const key = this.clone();
    key.revocationSignatures.push(await createSignaturePacket(dataToSign, null, this.keyPacket, {
      signatureType: enums.signature.keyRevocation,
      reasonForRevocationFlag: enums.write(enums.reasonForRevocation, reasonForRevocationFlag),
      reasonForRevocationString
    }, date, undefined, undefined, undefined, config$1));
    return key;
  }


  /**
   * Generates a new OpenPGP subkey, and returns a clone of the Key object with the new subkey added.
   * Supports RSA and ECC keys. Defaults to the algorithm and bit size/curve of the primary key. DSA primary keys default to RSA subkeys.
   * @param {ecc|rsa} options.type       The subkey algorithm: ECC or RSA
   * @param {String}  options.curve      (optional) Elliptic curve for ECC keys
   * @param {Integer} options.rsaBits    (optional) Number of bits for RSA subkeys
   * @param {Number}  options.keyExpirationTime (optional) Number of seconds from the key creation time after which the key expires
   * @param {Date}    options.date       (optional) Override the creation date of the key and the key signatures
   * @param {Boolean} options.sign       (optional) Indicates whether the subkey should sign rather than encrypt. Defaults to false
   * @param {Object}  options.config     (optional) custom configuration settings to overwrite those in [config]{@link module:config}
   * @returns {Promise<PrivateKey>}
   * @async
   */
  async addSubkey(options = {}) {
    const config$1 = { ...config, ...options.config };
    if (options.passphrase) {
      throw new Error('Subkey could not be encrypted here, please encrypt whole key');
    }
    if (options.rsaBits < config$1.minRSABits) {
      throw new Error(`rsaBits should be at least ${config$1.minRSABits}, got: ${options.rsaBits}`);
    }
    const secretKeyPacket = this.keyPacket;
    if (secretKeyPacket.isDummy()) {
      throw new Error('Cannot add subkey to gnu-dummy primary key');
    }
    if (!secretKeyPacket.isDecrypted()) {
      throw new Error('Key is not decrypted');
    }
    const defaultOptions = secretKeyPacket.getAlgorithmInfo();
    defaultOptions.type = defaultOptions.curve ? 'ecc' : 'rsa'; // DSA keys default to RSA
    defaultOptions.rsaBits = defaultOptions.bits || 4096;
    defaultOptions.curve = defaultOptions.curve || 'curve25519';
    options = sanitizeKeyOptions(options, defaultOptions);
    const keyPacket = await generateSecretSubkey(options);
    checkKeyRequirements(keyPacket, config$1);
    const bindingSignature = await createBindingSignature(keyPacket, secretKeyPacket, options, config$1);
    const packetList = this.toPacketList();
    packetList.push(keyPacket, bindingSignature);
    return new PrivateKey(packetList);
  }
}

// OpenPGP.js - An OpenPGP implementation in javascript

// A Key can contain the following packets
const allowedKeyPackets = /*#__PURE__*/ util.constructAllowedPackets([
  PublicKeyPacket,
  PublicSubkeyPacket,
  SecretKeyPacket,
  SecretSubkeyPacket,
  UserIDPacket,
  UserAttributePacket,
  SignaturePacket
]);

/**
 * Creates a PublicKey or PrivateKey depending on the packetlist in input
 * @param {PacketList} - packets to parse
 * @return {Key} parsed key
 * @throws if no key packet was found
 */
function createKey(packetlist) {
  for (const packet of packetlist) {
    switch (packet.constructor.tag) {
      case enums.packet.secretKey:
        return new PrivateKey(packetlist);
      case enums.packet.publicKey:
        return new PublicKey(packetlist);
    }
  }
  throw new Error('No key packet found');
}


/**
 * Generates a new OpenPGP key. Supports RSA and ECC keys.
 * By default, primary and subkeys will be of same type.
 * @param {ecc|rsa} options.type                  The primary key algorithm type: ECC or RSA
 * @param {String}  options.curve                 Elliptic curve for ECC keys
 * @param {Integer} options.rsaBits               Number of bits for RSA keys
 * @param {Array<String|Object>} options.userIDs  User IDs as strings or objects: 'Jo Doe <info@jo.com>' or { name:'Jo Doe', email:'info@jo.com' }
 * @param {String}  options.passphrase            Passphrase used to encrypt the resulting private key
 * @param {Number}  options.keyExpirationTime     (optional) Number of seconds from the key creation time after which the key expires
 * @param {Date}    options.date                  Creation date of the key and the key signatures
 * @param {Object} config - Full configuration
 * @param {Array<Object>} options.subkeys         (optional) options for each subkey, default to main key options. e.g. [{sign: true, passphrase: '123'}]
 *                                                  sign parameter defaults to false, and indicates whether the subkey should sign rather than encrypt
 * @returns {Promise<{{ key: PrivateKey, revocationCertificate: String }}>}
 * @async
 * @static
 * @private
 */
async function generate$4(options, config) {
  options.sign = true; // primary key is always a signing key
  options = sanitizeKeyOptions(options);
  options.subkeys = options.subkeys.map((subkey, index) => sanitizeKeyOptions(options.subkeys[index], options));
  let promises = [generateSecretKey(options, config)];
  promises = promises.concat(options.subkeys.map(options => generateSecretSubkey(options, config)));
  const packets = await Promise.all(promises);

  const key = await wrapKeyObject(packets[0], packets.slice(1), options, config);
  const revocationCertificate = await key.getRevocationCertificate(options.date, config);
  key.revocationSignatures = [];
  return { key, revocationCertificate };
}

/**
 * Reformats and signs an OpenPGP key with a given User ID. Currently only supports RSA keys.
 * @param {PrivateKey} options.privateKey         The private key to reformat
 * @param {Array<String|Object>} options.userIDs  User IDs as strings or objects: 'Jo Doe <info@jo.com>' or { name:'Jo Doe', email:'info@jo.com' }
 * @param {String} options.passphrase             Passphrase used to encrypt the resulting private key
 * @param {Number} options.keyExpirationTime      Number of seconds from the key creation time after which the key expires
 * @param {Date}   options.date                   Override the creation date of the key signatures
 * @param {Array<Object>} options.subkeys         (optional) options for each subkey, default to main key options. e.g. [{sign: true, passphrase: '123'}]
 * @param {Object} config - Full configuration
 *
 * @returns {Promise<{{ key: PrivateKey, revocationCertificate: String }}>}
 * @async
 * @static
 * @private
 */
async function reformat(options, config) {
  options = sanitize(options);
  const { privateKey } = options;

  if (!privateKey.isPrivate()) {
    throw new Error('Cannot reformat a public key');
  }

  if (privateKey.keyPacket.isDummy()) {
    throw new Error('Cannot reformat a gnu-dummy primary key');
  }

  const isDecrypted = privateKey.getKeys().every(({ keyPacket }) => keyPacket.isDecrypted());
  if (!isDecrypted) {
    throw new Error('Key is not decrypted');
  }

  const secretKeyPacket = privateKey.keyPacket;

  if (!options.subkeys) {
    options.subkeys = await Promise.all(privateKey.subkeys.map(async subkey => {
      const secretSubkeyPacket = subkey.keyPacket;
      const dataToVerify = { key: secretKeyPacket, bind: secretSubkeyPacket };
      const bindingSignature = await (
        getLatestValidSignature(subkey.bindingSignatures, secretKeyPacket, enums.signature.subkeyBinding, dataToVerify, null, config)
      ).catch(() => ({}));
      return {
        sign: bindingSignature.keyFlags && (bindingSignature.keyFlags[0] & enums.keyFlags.signData)
      };
    }));
  }

  const secretSubkeyPackets = privateKey.subkeys.map(subkey => subkey.keyPacket);
  if (options.subkeys.length !== secretSubkeyPackets.length) {
    throw new Error('Number of subkey options does not match number of subkeys');
  }

  options.subkeys = options.subkeys.map(subkeyOptions => sanitize(subkeyOptions, options));

  const key = await wrapKeyObject(secretKeyPacket, secretSubkeyPackets, options, config);
  const revocationCertificate = await key.getRevocationCertificate(options.date, config);
  key.revocationSignatures = [];
  return { key, revocationCertificate };

  function sanitize(options, subkeyDefaults = {}) {
    options.keyExpirationTime = options.keyExpirationTime || subkeyDefaults.keyExpirationTime;
    options.passphrase = util.isString(options.passphrase) ? options.passphrase : subkeyDefaults.passphrase;
    options.date = options.date || subkeyDefaults.date;

    return options;
  }
}

/**
 * Construct PrivateKey object from the given key packets, add certification signatures and set passphrase protection
 * The new key includes a revocation certificate that must be removed before returning the key, otherwise the key is considered revoked.
 * @param {SecretKeyPacket} secretKeyPacket
 * @param {SecretSubkeyPacket} secretSubkeyPackets
 * @param {Object} options
 * @param {Object} config - Full configuration
 * @returns {PrivateKey}
 */
async function wrapKeyObject(secretKeyPacket, secretSubkeyPackets, options, config) {
  // set passphrase protection
  if (options.passphrase) {
    await secretKeyPacket.encrypt(options.passphrase, config);
  }

  await Promise.all(secretSubkeyPackets.map(async function(secretSubkeyPacket, index) {
    const subkeyPassphrase = options.subkeys[index].passphrase;
    if (subkeyPassphrase) {
      await secretSubkeyPacket.encrypt(subkeyPassphrase, config);
    }
  }));

  const packetlist = new PacketList();
  packetlist.push(secretKeyPacket);

  await Promise.all(options.userIDs.map(async function(userID, index) {
    function createPreferredAlgos(algos, preferredAlgo) {
      return [preferredAlgo, ...algos.filter(algo => algo !== preferredAlgo)];
    }

    const userIDPacket = UserIDPacket.fromObject(userID);
    const dataToSign = {};
    dataToSign.userID = userIDPacket;
    dataToSign.key = secretKeyPacket;

    const signatureProperties = {};
    signatureProperties.signatureType = enums.signature.certGeneric;
    signatureProperties.keyFlags = [enums.keyFlags.certifyKeys | enums.keyFlags.signData];
    signatureProperties.preferredSymmetricAlgorithms = createPreferredAlgos([
      // prefer aes256, aes128, then aes192 (no WebCrypto support: https://www.chromium.org/blink/webcrypto#TOC-AES-support)
      enums.symmetric.aes256,
      enums.symmetric.aes128,
      enums.symmetric.aes192
    ], config.preferredSymmetricAlgorithm);
    if (config.aeadProtect) {
      signatureProperties.preferredAEADAlgorithms = createPreferredAlgos([
        enums.aead.eax,
        enums.aead.ocb
      ], config.preferredAEADAlgorithm);
    }
    signatureProperties.preferredHashAlgorithms = createPreferredAlgos([
      // prefer fast asm.js implementations (SHA-256)
      enums.hash.sha256,
      enums.hash.sha512
    ], config.preferredHashAlgorithm);
    signatureProperties.preferredCompressionAlgorithms = createPreferredAlgos([
      enums.compression.zlib,
      enums.compression.zip,
      enums.compression.uncompressed
    ], config.preferredCompressionAlgorithm);
    if (index === 0) {
      signatureProperties.isPrimaryUserID = true;
    }
    // integrity protection always enabled
    signatureProperties.features = [0];
    signatureProperties.features[0] |= enums.features.modificationDetection;
    if (config.aeadProtect) {
      signatureProperties.features[0] |= enums.features.aead;
    }
    if (config.v5Keys) {
      signatureProperties.features[0] |= enums.features.v5Keys;
    }
    if (options.keyExpirationTime > 0) {
      signatureProperties.keyExpirationTime = options.keyExpirationTime;
      signatureProperties.keyNeverExpires = false;
    }

    const signaturePacket = await createSignaturePacket(dataToSign, null, secretKeyPacket, signatureProperties, options.date, undefined, undefined, undefined, config);

    return { userIDPacket, signaturePacket };
  })).then(list => {
    list.forEach(({ userIDPacket, signaturePacket }) => {
      packetlist.push(userIDPacket);
      packetlist.push(signaturePacket);
    });
  });

  await Promise.all(secretSubkeyPackets.map(async function(secretSubkeyPacket, index) {
    const subkeyOptions = options.subkeys[index];
    const subkeySignaturePacket = await createBindingSignature(secretSubkeyPacket, secretKeyPacket, subkeyOptions, config);
    return { secretSubkeyPacket, subkeySignaturePacket };
  })).then(packets => {
    packets.forEach(({ secretSubkeyPacket, subkeySignaturePacket }) => {
      packetlist.push(secretSubkeyPacket);
      packetlist.push(subkeySignaturePacket);
    });
  });

  // Add revocation signature packet for creating a revocation certificate.
  // This packet should be removed before returning the key.
  const dataToSign = { key: secretKeyPacket };
  packetlist.push(await createSignaturePacket(dataToSign, null, secretKeyPacket, {
    signatureType: enums.signature.keyRevocation,
    reasonForRevocationFlag: enums.reasonForRevocation.noReason,
    reasonForRevocationString: ''
  }, options.date, undefined, undefined, undefined, config));

  if (options.passphrase) {
    secretKeyPacket.clearPrivateParams();
  }

  await Promise.all(secretSubkeyPackets.map(async function(secretSubkeyPacket, index) {
    const subkeyPassphrase = options.subkeys[index].passphrase;
    if (subkeyPassphrase) {
      secretSubkeyPacket.clearPrivateParams();
    }
  }));

  return new PrivateKey(packetlist);
}

/**
 * Reads an (optionally armored) OpenPGP key and returns a key object
 * @param {Object} options
 * @param {String} [options.armoredKey] - Armored key to be parsed
 * @param {Uint8Array} [options.binaryKey] - Binary key to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Key>} Key object.
 * @async
 * @static
 */
async function readKey({ armoredKey, binaryKey, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 };
  if (!armoredKey && !binaryKey) {
    throw new Error('readKey: must pass options object containing `armoredKey` or `binaryKey`');
  }
  if (armoredKey && !util.isString(armoredKey)) {
    throw new Error('readKey: options.armoredKey must be a string');
  }
  if (binaryKey && !util.isUint8Array(binaryKey)) {
    throw new Error('readKey: options.binaryKey must be a Uint8Array');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  let input;
  if (armoredKey) {
    const { type, data } = await unarmor(armoredKey, config$1);
    if (!(type === enums.armor.publicKey || type === enums.armor.privateKey)) {
      throw new Error('Armored text not of type key');
    }
    input = data;
  } else {
    input = binaryKey;
  }
  const packetlist = await PacketList.fromBinary(input, allowedKeyPackets, config$1);
  return createKey(packetlist);
}

/**
 * Reads an (optionally armored) OpenPGP private key and returns a PrivateKey object
 * @param {Object} options
 * @param {String} [options.armoredKey] - Armored key to be parsed
 * @param {Uint8Array} [options.binaryKey] - Binary key to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<PrivateKey>} Key object.
 * @async
 * @static
 */
async function readPrivateKey({ armoredKey, binaryKey, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 };
  if (!armoredKey && !binaryKey) {
    throw new Error('readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`');
  }
  if (armoredKey && !util.isString(armoredKey)) {
    throw new Error('readPrivateKey: options.armoredKey must be a string');
  }
  if (binaryKey && !util.isUint8Array(binaryKey)) {
    throw new Error('readPrivateKey: options.binaryKey must be a Uint8Array');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  let input;
  if (armoredKey) {
    const { type, data } = await unarmor(armoredKey, config$1);
    if (!(type === enums.armor.privateKey)) {
      throw new Error('Armored text not of type private key');
    }
    input = data;
  } else {
    input = binaryKey;
  }
  const packetlist = await PacketList.fromBinary(input, allowedKeyPackets, config$1);
  return new PrivateKey(packetlist);
}

/**
 * Reads an (optionally armored) OpenPGP key block and returns a list of key objects
 * @param {Object} options
 * @param {String} [options.armoredKeys] - Armored keys to be parsed
 * @param {Uint8Array} [options.binaryKeys] - Binary keys to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Array<Key>>} Key objects.
 * @async
 * @static
 */
async function readKeys({ armoredKeys, binaryKeys, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 };
  let input = armoredKeys || binaryKeys;
  if (!input) {
    throw new Error('readKeys: must pass options object containing `armoredKeys` or `binaryKeys`');
  }
  if (armoredKeys && !util.isString(armoredKeys)) {
    throw new Error('readKeys: options.armoredKeys must be a string');
  }
  if (binaryKeys && !util.isUint8Array(binaryKeys)) {
    throw new Error('readKeys: options.binaryKeys must be a Uint8Array');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (armoredKeys) {
    const { type, data } = await unarmor(armoredKeys, config$1);
    if (type !== enums.armor.publicKey && type !== enums.armor.privateKey) {
      throw new Error('Armored text not of type key');
    }
    input = data;
  }
  const keys = [];
  const packetlist = await PacketList.fromBinary(input, allowedKeyPackets, config$1);
  const keyIndex = packetlist.indexOfTag(enums.packet.publicKey, enums.packet.secretKey);
  if (keyIndex.length === 0) {
    throw new Error('No key packet found');
  }
  for (let i = 0; i < keyIndex.length; i++) {
    const oneKeyList = packetlist.slice(keyIndex[i], keyIndex[i + 1]);
    const newKey = createKey(oneKeyList);
    keys.push(newKey);
  }
  return keys;
}

/**
 * Reads an (optionally armored) OpenPGP private key block and returns a list of PrivateKey objects
 * @param {Object} options
 * @param {String} [options.armoredKeys] - Armored keys to be parsed
 * @param {Uint8Array} [options.binaryKeys] - Binary keys to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Array<PrivateKey>>} Key objects.
 * @async
 * @static
 */
async function readPrivateKeys({ armoredKeys, binaryKeys, config: config$1 }) {
  config$1 = { ...config, ...config$1 };
  let input = armoredKeys || binaryKeys;
  if (!input) {
    throw new Error('readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`');
  }
  if (armoredKeys && !util.isString(armoredKeys)) {
    throw new Error('readPrivateKeys: options.armoredKeys must be a string');
  }
  if (binaryKeys && !util.isUint8Array(binaryKeys)) {
    throw new Error('readPrivateKeys: options.binaryKeys must be a Uint8Array');
  }
  if (armoredKeys) {
    const { type, data } = await unarmor(armoredKeys, config$1);
    if (type !== enums.armor.privateKey) {
      throw new Error('Armored text not of type private key');
    }
    input = data;
  }
  const keys = [];
  const packetlist = await PacketList.fromBinary(input, allowedKeyPackets, config$1);
  const keyIndex = packetlist.indexOfTag(enums.packet.secretKey);
  if (keyIndex.length === 0) {
    throw new Error('No secret key packet found');
  }
  for (let i = 0; i < keyIndex.length; i++) {
    const oneKeyList = packetlist.slice(keyIndex[i], keyIndex[i + 1]);
    const newKey = new PrivateKey(oneKeyList);
    keys.push(newKey);
  }
  return keys;
}

// GPG4Browsers - An OpenPGP implementation in javascript

// A Message can contain the following packets
const allowedMessagePackets = /*#__PURE__*/ util.constructAllowedPackets([
  LiteralDataPacket,
  CompressedDataPacket,
  AEADEncryptedDataPacket,
  SymEncryptedIntegrityProtectedDataPacket,
  SymmetricallyEncryptedDataPacket,
  PublicKeyEncryptedSessionKeyPacket,
  SymEncryptedSessionKeyPacket,
  OnePassSignaturePacket,
  SignaturePacket
]);
// A SKESK packet can contain the following packets
const allowedSymSessionKeyPackets = /*#__PURE__*/ util.constructAllowedPackets([SymEncryptedSessionKeyPacket]);
// A detached signature can contain the following packets
const allowedDetachedSignaturePackets = /*#__PURE__*/ util.constructAllowedPackets([SignaturePacket]);

/**
 * Class that represents an OpenPGP message.
 * Can be an encrypted message, signed message, compressed message or literal message
 * See {@link https://tools.ietf.org/html/rfc4880#section-11.3}
 */
class Message {
  /**
   * @param {PacketList} packetlist - The packets that form this message
   */
  constructor(packetlist) {
    this.packets = packetlist || new PacketList();
  }

  /**
   * Returns the key IDs of the keys to which the session key is encrypted
   * @returns {Array<module:type/keyid~KeyID>} Array of keyID objects.
   */
  getEncryptionKeyIDs() {
    const keyIDs = [];
    const pkESKeyPacketlist = this.packets.filterByTag(enums.packet.publicKeyEncryptedSessionKey);
    pkESKeyPacketlist.forEach(function(packet) {
      keyIDs.push(packet.publicKeyID);
    });
    return keyIDs;
  }

  /**
   * Returns the key IDs of the keys that signed the message
   * @returns {Array<module:type/keyid~KeyID>} Array of keyID objects.
   */
  getSigningKeyIDs() {
    const msg = this.unwrapCompressed();
    // search for one pass signatures
    const onePassSigList = msg.packets.filterByTag(enums.packet.onePassSignature);
    if (onePassSigList.length > 0) {
      return onePassSigList.map(packet => packet.issuerKeyID);
    }
    // if nothing found look for signature packets
    const signatureList = msg.packets.filterByTag(enums.packet.signature);
    return signatureList.map(packet => packet.issuerKeyID);
  }

  /**
   * Decrypt the message. Either a private key, a session key, or a password must be specified.
   * @param {Array<PrivateKey>} [decryptionKeys] - Private keys with decrypted secret data
   * @param {Array<String>} [passwords] - Passwords used to decrypt
   * @param {Array<Object>} [sessionKeys] - Session keys in the form: { data:Uint8Array, algorithm:String, [aeadAlgorithm:String] }
   * @param {Date} [date] - Use the given date for key verification instead of the current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Message>} New message with decrypted content.
   * @async
   */
  async decrypt(decryptionKeys, passwords, sessionKeys, date = new Date(), config$1 = config) {
    const sessionKeyObjects = sessionKeys || await this.decryptSessionKeys(decryptionKeys, passwords, date, config$1);

    const symEncryptedPacketlist = this.packets.filterByTag(
      enums.packet.symmetricallyEncryptedData,
      enums.packet.symEncryptedIntegrityProtectedData,
      enums.packet.aeadEncryptedData
    );

    if (symEncryptedPacketlist.length === 0) {
      throw new Error('No encrypted data found');
    }

    const symEncryptedPacket = symEncryptedPacketlist[0];
    let exception = null;
    const decryptedPromise = Promise.all(sessionKeyObjects.map(async ({ algorithm: algorithmName, data }) => {
      if (!util.isUint8Array(data) || !util.isString(algorithmName)) {
        throw new Error('Invalid session key for decryption.');
      }

      try {
        const algo = enums.write(enums.symmetric, algorithmName);
        await symEncryptedPacket.decrypt(algo, data, config$1);
      } catch (e) {
        util.printDebugError(e);
        exception = e;
      }
    }));
    // We don't await stream.cancel here because it only returns when the other copy is canceled too.
    cancel(symEncryptedPacket.encrypted); // Don't keep copy of encrypted data in memory.
    symEncryptedPacket.encrypted = null;
    await decryptedPromise;

    if (!symEncryptedPacket.packets || !symEncryptedPacket.packets.length) {
      throw exception || new Error('Decryption failed.');
    }

    const resultMsg = new Message(symEncryptedPacket.packets);
    symEncryptedPacket.packets = new PacketList(); // remove packets after decryption

    return resultMsg;
  }

  /**
   * Decrypt encrypted session keys either with private keys or passwords.
   * @param {Array<PrivateKey>} [decryptionKeys] - Private keys with decrypted secret data
   * @param {Array<String>} [passwords] - Passwords used to decrypt
   * @param {Date} [date] - Use the given date for key verification, instead of current time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<{
   *   data: Uint8Array,
   *   algorithm: String
   * }>>} array of object with potential sessionKey, algorithm pairs
   * @async
   */
  async decryptSessionKeys(decryptionKeys, passwords, date = new Date(), config$1 = config) {
    let decryptedSessionKeyPackets = [];

    let exception;
    if (passwords) {
      const skeskPackets = this.packets.filterByTag(enums.packet.symEncryptedSessionKey);
      if (skeskPackets.length === 0) {
        throw new Error('No symmetrically encrypted session key packet found.');
      }
      await Promise.all(passwords.map(async function(password, i) {
        let packets;
        if (i) {
          packets = await PacketList.fromBinary(skeskPackets.write(), allowedSymSessionKeyPackets, config$1);
        } else {
          packets = skeskPackets;
        }
        await Promise.all(packets.map(async function(skeskPacket) {
          try {
            await skeskPacket.decrypt(password);
            decryptedSessionKeyPackets.push(skeskPacket);
          } catch (err) {
            util.printDebugError(err);
          }
        }));
      }));
    } else if (decryptionKeys) {
      const pkeskPackets = this.packets.filterByTag(enums.packet.publicKeyEncryptedSessionKey);
      if (pkeskPackets.length === 0) {
        throw new Error('No public key encrypted session key packet found.');
      }
      await Promise.all(pkeskPackets.map(async function(pkeskPacket) {
        await Promise.all(decryptionKeys.map(async function(decryptionKey) {
          let algos = [
            enums.symmetric.aes256, // Old OpenPGP.js default fallback
            enums.symmetric.aes128, // RFC4880bis fallback
            enums.symmetric.tripledes, // RFC4880 fallback
            enums.symmetric.cast5 // Golang OpenPGP fallback
          ];
          try {
            const primaryUser = await decryptionKey.getPrimaryUser(date, undefined, config$1); // TODO: Pass userID from somewhere.
            if (primaryUser.selfCertification.preferredSymmetricAlgorithms) {
              algos = algos.concat(primaryUser.selfCertification.preferredSymmetricAlgorithms);
            }
          } catch (e) {}

          // do not check key expiration to allow decryption of old messages
          const decryptionKeyPackets = (await decryptionKey.getDecryptionKeys(pkeskPacket.publicKeyID, null, undefined, config$1)).map(key => key.keyPacket);
          await Promise.all(decryptionKeyPackets.map(async function(decryptionKeyPacket) {
            if (!decryptionKeyPacket || decryptionKeyPacket.isDummy()) {
              return;
            }
            if (!decryptionKeyPacket.isDecrypted()) {
              throw new Error('Decryption key is not decrypted.');
            }

            // To hinder CCA attacks against PKCS1, we carry out a constant-time decryption flow if the `constantTimePKCS1Decryption` config option is set.
            const doConstantTimeDecryption = config$1.constantTimePKCS1Decryption && (
              pkeskPacket.publicKeyAlgorithm === enums.publicKey.rsaEncrypt ||
              pkeskPacket.publicKeyAlgorithm === enums.publicKey.rsaEncryptSign ||
              pkeskPacket.publicKeyAlgorithm === enums.publicKey.rsaSign ||
              pkeskPacket.publicKeyAlgorithm === enums.publicKey.elgamal
            );

            if (doConstantTimeDecryption) {
              // The goal is to not reveal whether PKESK decryption (specifically the PKCS1 decoding step) failed, hence, we always proceed to decrypt the message,
              // either with the successfully decrypted session key, or with a randomly generated one.
              // Since the SEIP/AEAD's symmetric algorithm and key size are stored in the encrypted portion of the PKESK, and the execution flow cannot depend on
              // the decrypted payload, we always assume the message to be encrypted with one of the symmetric algorithms specified in `config.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms`:
              // - If the PKESK decryption succeeds, and the session key cipher is in the supported set, then we try to decrypt the data with the decrypted session key as well as with the
              // randomly generated keys of the remaining key types.
              // - If the PKESK decryptions fails, or if it succeeds but support for the cipher is not enabled, then we discard the session key and try to decrypt the data using only the randomly
              // generated session keys.
              // NB: as a result, if the data is encrypted with a non-suported cipher, decryption will always fail.

              const serialisedPKESK = pkeskPacket.write(); // make copies to be able to decrypt the PKESK packet multiple times
              await Promise.all(Array.from(config$1.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map(async sessionKeyAlgorithm => {
                const pkeskPacketCopy = new PublicKeyEncryptedSessionKeyPacket();
                pkeskPacketCopy.read(serialisedPKESK);
                const randomSessionKey = {
                  sessionKeyAlgorithm,
                  sessionKey: mod.generateSessionKey(sessionKeyAlgorithm)
                };
                try {
                  await pkeskPacketCopy.decrypt(decryptionKeyPacket, randomSessionKey);
                  decryptedSessionKeyPackets.push(pkeskPacketCopy);
                } catch (err) {
                  // `decrypt` can still throw some non-security-sensitive errors
                  util.printDebugError(err);
                  exception = err;
                }
              }));

            } else {
              try {
                await pkeskPacket.decrypt(decryptionKeyPacket);
                if (!algos.includes(enums.write(enums.symmetric, pkeskPacket.sessionKeyAlgorithm))) {
                  throw new Error('A non-preferred symmetric algorithm was used.');
                }
                decryptedSessionKeyPackets.push(pkeskPacket);
              } catch (err) {
                util.printDebugError(err);
                exception = err;
              }
            }
          }));
        }));
        cancel(pkeskPacket.encrypted); // Don't keep copy of encrypted data in memory.
        pkeskPacket.encrypted = null;
      }));
    } else {
      throw new Error('No key or password specified.');
    }

    if (decryptedSessionKeyPackets.length > 0) {
      // Return only unique session keys
      if (decryptedSessionKeyPackets.length > 1) {
        const seen = new Set();
        decryptedSessionKeyPackets = decryptedSessionKeyPackets.filter(item => {
          const k = item.sessionKeyAlgorithm + util.uint8ArrayToString(item.sessionKey);
          if (seen.has(k)) {
            return false;
          }
          seen.add(k);
          return true;
        });
      }

      return decryptedSessionKeyPackets.map(packet => ({
        data: packet.sessionKey,
        algorithm: enums.read(enums.symmetric, packet.sessionKeyAlgorithm)
      }));
    }
    throw exception || new Error('Session key decryption failed.');
  }

  /**
   * Get literal data that is the body of the message
   * @returns {(Uint8Array|null)} Literal body of the message as Uint8Array.
   */
  getLiteralData() {
    const msg = this.unwrapCompressed();
    const literal = msg.packets.findPacket(enums.packet.literalData);
    return (literal && literal.getBytes()) || null;
  }

  /**
   * Get filename from literal data packet
   * @returns {(String|null)} Filename of literal data packet as string.
   */
  getFilename() {
    const msg = this.unwrapCompressed();
    const literal = msg.packets.findPacket(enums.packet.literalData);
    return (literal && literal.getFilename()) || null;
  }

  /**
   * Get literal data as text
   * @returns {(String|null)} Literal body of the message interpreted as text.
   */
  getText() {
    const msg = this.unwrapCompressed();
    const literal = msg.packets.findPacket(enums.packet.literalData);
    if (literal) {
      return literal.getText();
    }
    return null;
  }

  /**
   * Generate a new session key object, taking the algorithm preferences of the passed encryption keys into account, if any.
   * @param {Array<PublicKey>} [encryptionKeys] - Public key(s) to select algorithm preferences for
   * @param {Date} [date] - Date to select algorithm preferences at
   * @param {Array<Object>} [userIDs] - User IDs to select algorithm preferences for
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<{ data: Uint8Array, algorithm: String, aeadAlgorithm: undefined|String }>} Object with session key data and algorithms.
   * @async
   */
  static async generateSessionKey(encryptionKeys = [], date = new Date(), userIDs = [], config$1 = config) {
    const algo = await getPreferredAlgo('symmetric', encryptionKeys, date, userIDs, config$1);
    const algorithmName = enums.read(enums.symmetric, algo);
    const aeadAlgorithmName = config$1.aeadProtect && await isAEADSupported(encryptionKeys, date, userIDs, config$1) ?
      enums.read(enums.aead, await getPreferredAlgo('aead', encryptionKeys, date, userIDs, config$1)) :
      undefined;

    await Promise.all(encryptionKeys.map(key => key.getEncryptionKey()
      .catch(() => null) // ignore key strength requirements
      .then(maybeKey => {
        if (maybeKey && (maybeKey.keyPacket.algorithm === enums.publicKey.x25519) && !util.isAES(algo)) {
          throw new Error('Could not generate a session key compatible with the given `encryptionKeys`: X22519 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.');
        }
      })
    ));

    const sessionKeyData = mod.generateSessionKey(algo);
    return { data: sessionKeyData, algorithm: algorithmName, aeadAlgorithm: aeadAlgorithmName };
  }

  /**
   * Encrypt the message either with public keys, passwords, or both at once.
   * @param {Array<PublicKey>} [encryptionKeys] - Public key(s) for message encryption
   * @param {Array<String>} [passwords] - Password(s) for message encryption
   * @param {Object} [sessionKey] - Session key in the form: { data:Uint8Array, algorithm:String, [aeadAlgorithm:String] }
   * @param {Boolean} [wildcard] - Use a key ID of 0 instead of the public key IDs
   * @param {Array<module:type/keyid~KeyID>} [encryptionKeyIDs] - Array of key IDs to use for encryption. Each encryptionKeyIDs[i] corresponds to keys[i]
   * @param {Date} [date] - Override the creation date of the literal package
   * @param {Array<Object>} [userIDs] - User IDs to encrypt for, e.g. [{ name:'Robert Receiver', email:'robert@openpgp.org' }]
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Message>} New message with encrypted content.
   * @async
   */
  async encrypt(encryptionKeys, passwords, sessionKey, wildcard = false, encryptionKeyIDs = [], date = new Date(), userIDs = [], config$1 = config) {
    if (sessionKey) {
      if (!util.isUint8Array(sessionKey.data) || !util.isString(sessionKey.algorithm)) {
        throw new Error('Invalid session key for encryption.');
      }
    } else if (encryptionKeys && encryptionKeys.length) {
      sessionKey = await Message.generateSessionKey(encryptionKeys, date, userIDs, config$1);
    } else if (passwords && passwords.length) {
      sessionKey = await Message.generateSessionKey(undefined, undefined, undefined, config$1);
    } else {
      throw new Error('No keys, passwords, or session key provided.');
    }

    const { data: sessionKeyData, algorithm: algorithmName, aeadAlgorithm: aeadAlgorithmName } = sessionKey;

    const msg = await Message.encryptSessionKey(sessionKeyData, algorithmName, aeadAlgorithmName, encryptionKeys, passwords, wildcard, encryptionKeyIDs, date, userIDs, config$1);

    let symEncryptedPacket;
    if (aeadAlgorithmName) {
      symEncryptedPacket = new AEADEncryptedDataPacket();
      symEncryptedPacket.aeadAlgorithm = enums.write(enums.aead, aeadAlgorithmName);
    } else {
      symEncryptedPacket = new SymEncryptedIntegrityProtectedDataPacket();
    }
    symEncryptedPacket.packets = this.packets;

    const algorithm = enums.write(enums.symmetric, algorithmName);
    await symEncryptedPacket.encrypt(algorithm, sessionKeyData, config$1);

    msg.packets.push(symEncryptedPacket);
    symEncryptedPacket.packets = new PacketList(); // remove packets after encryption
    return msg;
  }

  /**
   * Encrypt a session key either with public keys, passwords, or both at once.
   * @param {Uint8Array} sessionKey - session key for encryption
   * @param {String} algorithmName - session key algorithm
   * @param {String} [aeadAlgorithmName] - AEAD algorithm, e.g. 'eax' or 'ocb'
   * @param {Array<PublicKey>} [encryptionKeys] - Public key(s) for message encryption
   * @param {Array<String>} [passwords] - For message encryption
   * @param {Boolean} [wildcard] - Use a key ID of 0 instead of the public key IDs
   * @param {Array<module:type/keyid~KeyID>} [encryptionKeyIDs] - Array of key IDs to use for encryption. Each encryptionKeyIDs[i] corresponds to encryptionKeys[i]
   * @param {Date} [date] - Override the date
   * @param {Array} [userIDs] - User IDs to encrypt for, e.g. [{ name:'Robert Receiver', email:'robert@openpgp.org' }]
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Message>} New message with encrypted content.
   * @async
   */
  static async encryptSessionKey(sessionKey, algorithmName, aeadAlgorithmName, encryptionKeys, passwords, wildcard = false, encryptionKeyIDs = [], date = new Date(), userIDs = [], config$1 = config) {
    const packetlist = new PacketList();
    const algorithm = enums.write(enums.symmetric, algorithmName);
    const aeadAlgorithm = aeadAlgorithmName && enums.write(enums.aead, aeadAlgorithmName);

    if (encryptionKeys) {
      const results = await Promise.all(encryptionKeys.map(async function(primaryKey, i) {
        const encryptionKey = await primaryKey.getEncryptionKey(encryptionKeyIDs[i], date, userIDs, config$1);
        const pkESKeyPacket = new PublicKeyEncryptedSessionKeyPacket();
        pkESKeyPacket.publicKeyID = wildcard ? KeyID.wildcard() : encryptionKey.getKeyID();
        pkESKeyPacket.publicKeyAlgorithm = encryptionKey.keyPacket.algorithm;
        pkESKeyPacket.sessionKey = sessionKey;
        pkESKeyPacket.sessionKeyAlgorithm = algorithm;
        await pkESKeyPacket.encrypt(encryptionKey.keyPacket);
        delete pkESKeyPacket.sessionKey; // delete plaintext session key after encryption
        return pkESKeyPacket;
      }));
      packetlist.push(...results);
    }
    if (passwords) {
      const testDecrypt = async function(keyPacket, password) {
        try {
          await keyPacket.decrypt(password);
          return 1;
        } catch (e) {
          return 0;
        }
      };

      const sum = (accumulator, currentValue) => accumulator + currentValue;

      const encryptPassword = async function(sessionKey, algorithm, aeadAlgorithm, password) {
        const symEncryptedSessionKeyPacket = new SymEncryptedSessionKeyPacket(config$1);
        symEncryptedSessionKeyPacket.sessionKey = sessionKey;
        symEncryptedSessionKeyPacket.sessionKeyAlgorithm = algorithm;
        if (aeadAlgorithm) {
          symEncryptedSessionKeyPacket.aeadAlgorithm = aeadAlgorithm;
        }
        await symEncryptedSessionKeyPacket.encrypt(password, config$1);

        if (config$1.passwordCollisionCheck) {
          const results = await Promise.all(passwords.map(pwd => testDecrypt(symEncryptedSessionKeyPacket, pwd)));
          if (results.reduce(sum) !== 1) {
            return encryptPassword(sessionKey, algorithm, password);
          }
        }

        delete symEncryptedSessionKeyPacket.sessionKey; // delete plaintext session key after encryption
        return symEncryptedSessionKeyPacket;
      };

      const results = await Promise.all(passwords.map(pwd => encryptPassword(sessionKey, algorithm, aeadAlgorithm, pwd)));
      packetlist.push(...results);
    }

    return new Message(packetlist);
  }

  /**
   * Sign the message (the literal data packet of the message)
   * @param {Array<PrivateKey>} signingKeys - private keys with decrypted secret key data for signing
   * @param {Signature} [signature] - Any existing detached signature to add to the message
   * @param {Array<module:type/keyid~KeyID>} [signingKeyIDs] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to signingKeys[i]
   * @param {Date} [date] - Override the creation time of the signature
   * @param {Array} [userIDs] - User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }]
   * @param {Array} [notations] - Notation Data to add to the signatures, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Message>} New message with signed content.
   * @async
   */
  async sign(signingKeys = [], signature = null, signingKeyIDs = [], date = new Date(), userIDs = [], notations = [], config$1 = config) {
    const packetlist = new PacketList();

    const literalDataPacket = this.packets.findPacket(enums.packet.literalData);
    if (!literalDataPacket) {
      throw new Error('No literal data packet to sign.');
    }

    let i;
    let existingSigPacketlist;
    // If data packet was created from Uint8Array, use binary, otherwise use text
    const signatureType = literalDataPacket.text === null ?
      enums.signature.binary : enums.signature.text;

    if (signature) {
      existingSigPacketlist = signature.packets.filterByTag(enums.packet.signature);
      for (i = existingSigPacketlist.length - 1; i >= 0; i--) {
        const signaturePacket = existingSigPacketlist[i];
        const onePassSig = new OnePassSignaturePacket();
        onePassSig.signatureType = signaturePacket.signatureType;
        onePassSig.hashAlgorithm = signaturePacket.hashAlgorithm;
        onePassSig.publicKeyAlgorithm = signaturePacket.publicKeyAlgorithm;
        onePassSig.issuerKeyID = signaturePacket.issuerKeyID;
        if (!signingKeys.length && i === 0) {
          onePassSig.flags = 1;
        }
        packetlist.push(onePassSig);
      }
    }

    await Promise.all(Array.from(signingKeys).reverse().map(async function (primaryKey, i) {
      if (!primaryKey.isPrivate()) {
        throw new Error('Need private key for signing');
      }
      const signingKeyID = signingKeyIDs[signingKeys.length - 1 - i];
      const signingKey = await primaryKey.getSigningKey(signingKeyID, date, userIDs, config$1);
      const onePassSig = new OnePassSignaturePacket();
      onePassSig.signatureType = signatureType;
      onePassSig.hashAlgorithm = await getPreferredHashAlgo$2(primaryKey, signingKey.keyPacket, date, userIDs, config$1);
      onePassSig.publicKeyAlgorithm = signingKey.keyPacket.algorithm;
      onePassSig.issuerKeyID = signingKey.getKeyID();
      if (i === signingKeys.length - 1) {
        onePassSig.flags = 1;
      }
      return onePassSig;
    })).then(onePassSignatureList => {
      onePassSignatureList.forEach(onePassSig => packetlist.push(onePassSig));
    });

    packetlist.push(literalDataPacket);
    packetlist.push(...(await createSignaturePackets(literalDataPacket, signingKeys, signature, signingKeyIDs, date, userIDs, notations, false, config$1)));

    return new Message(packetlist);
  }

  /**
   * Compresses the message (the literal and -if signed- signature data packets of the message)
   * @param {module:enums.compression} algo - compression algorithm
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Message} New message with compressed content.
   */
  compress(algo, config$1 = config) {
    if (algo === enums.compression.uncompressed) {
      return this;
    }

    const compressed = new CompressedDataPacket(config$1);
    compressed.algorithm = algo;
    compressed.packets = this.packets;

    const packetList = new PacketList();
    packetList.push(compressed);

    return new Message(packetList);
  }

  /**
   * Create a detached signature for the message (the literal data packet of the message)
   * @param {Array<PrivateKey>} signingKeys - private keys with decrypted secret key data for signing
   * @param {Signature} [signature] - Any existing detached signature
   * @param {Array<module:type/keyid~KeyID>} [signingKeyIDs] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to signingKeys[i]
   * @param {Date} [date] - Override the creation time of the signature
   * @param {Array} [userIDs] - User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }]
   * @param {Array} [notations] - Notation Data to add to the signatures, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Signature>} New detached signature of message content.
   * @async
   */
  async signDetached(signingKeys = [], signature = null, signingKeyIDs = [], date = new Date(), userIDs = [], notations = [], config$1 = config) {
    const literalDataPacket = this.packets.findPacket(enums.packet.literalData);
    if (!literalDataPacket) {
      throw new Error('No literal data packet to sign.');
    }
    return new Signature(await createSignaturePackets(literalDataPacket, signingKeys, signature, signingKeyIDs, date, userIDs, notations, true, config$1));
  }

  /**
   * Verify message signatures
   * @param {Array<PublicKey>} verificationKeys - Array of public keys to verify signatures
   * @param {Date} [date] - Verify the signature against the given date, i.e. check signature creation time < date < expiration time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<{
   *   keyID: module:type/keyid~KeyID,
   *   signature: Promise<Signature>,
   *   verified: Promise<true>
   * }>>} List of signer's keyID and validity of signatures.
   * @async
   */
  async verify(verificationKeys, date = new Date(), config$1 = config) {
    const msg = this.unwrapCompressed();
    const literalDataList = msg.packets.filterByTag(enums.packet.literalData);
    if (literalDataList.length !== 1) {
      throw new Error('Can only verify message with one literal data packet.');
    }
    if (isArrayStream(msg.packets.stream)) {
      msg.packets.push(...await readToEnd(msg.packets.stream, _ => _ || []));
    }
    const onePassSigList = msg.packets.filterByTag(enums.packet.onePassSignature).reverse();
    const signatureList = msg.packets.filterByTag(enums.packet.signature);
    if (onePassSigList.length && !signatureList.length && util.isStream(msg.packets.stream) && !isArrayStream(msg.packets.stream)) {
      await Promise.all(onePassSigList.map(async onePassSig => {
        onePassSig.correspondingSig = new Promise((resolve, reject) => {
          onePassSig.correspondingSigResolve = resolve;
          onePassSig.correspondingSigReject = reject;
        });
        onePassSig.signatureData = fromAsync(async () => (await onePassSig.correspondingSig).signatureData);
        onePassSig.hashed = readToEnd(await onePassSig.hash(onePassSig.signatureType, literalDataList[0], undefined, false));
        onePassSig.hashed.catch(() => {});
      }));
      msg.packets.stream = transformPair(msg.packets.stream, async (readable, writable) => {
        const reader = getReader(readable);
        const writer = getWriter(writable);
        try {
          for (let i = 0; i < onePassSigList.length; i++) {
            const { value: signature } = await reader.read();
            onePassSigList[i].correspondingSigResolve(signature);
          }
          await reader.readToEnd();
          await writer.ready;
          await writer.close();
        } catch (e) {
          onePassSigList.forEach(onePassSig => {
            onePassSig.correspondingSigReject(e);
          });
          await writer.abort(e);
        }
      });
      return createVerificationObjects(onePassSigList, literalDataList, verificationKeys, date, false, config$1);
    }
    return createVerificationObjects(signatureList, literalDataList, verificationKeys, date, false, config$1);
  }

  /**
   * Verify detached message signature
   * @param {Array<PublicKey>} verificationKeys - Array of public keys to verify signatures
   * @param {Signature} signature
   * @param {Date} date - Verify the signature against the given date, i.e. check signature creation time < date < expiration time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<{
   *   keyID: module:type/keyid~KeyID,
   *   signature: Promise<Signature>,
   *   verified: Promise<true>
   * }>>} List of signer's keyID and validity of signature.
   * @async
   */
  verifyDetached(signature, verificationKeys, date = new Date(), config$1 = config) {
    const msg = this.unwrapCompressed();
    const literalDataList = msg.packets.filterByTag(enums.packet.literalData);
    if (literalDataList.length !== 1) {
      throw new Error('Can only verify message with one literal data packet.');
    }
    const signatureList = signature.packets.filterByTag(enums.packet.signature); // drop UnparsablePackets
    return createVerificationObjects(signatureList, literalDataList, verificationKeys, date, true, config$1);
  }

  /**
   * Unwrap compressed message
   * @returns {Message} Message Content of compressed message.
   */
  unwrapCompressed() {
    const compressed = this.packets.filterByTag(enums.packet.compressedData);
    if (compressed.length) {
      return new Message(compressed[0].packets);
    }
    return this;
  }

  /**
   * Append signature to unencrypted message object
   * @param {String|Uint8Array} detachedSignature - The detached ASCII-armored or Uint8Array PGP signature
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   */
  async appendSignature(detachedSignature, config$1 = config) {
    await this.packets.read(
      util.isUint8Array(detachedSignature) ? detachedSignature : (await unarmor(detachedSignature)).data,
      allowedDetachedSignaturePackets,
      config$1
    );
  }

  /**
   * Returns binary encoded message
   * @returns {ReadableStream<Uint8Array>} Binary message.
   */
  write() {
    return this.packets.write();
  }

  /**
   * Returns ASCII armored text of message
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {ReadableStream<String>} ASCII armor.
   */
  armor(config$1 = config) {
    return armor(enums.armor.message, this.write(), null, null, null, config$1);
  }
}

/**
 * Create signature packets for the message
 * @param {LiteralDataPacket} literalDataPacket - the literal data packet to sign
 * @param {Array<PrivateKey>} [signingKeys] - private keys with decrypted secret key data for signing
 * @param {Signature} [signature] - Any existing detached signature to append
 * @param {Array<module:type/keyid~KeyID>} [signingKeyIDs] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to signingKeys[i]
 * @param {Date} [date] - Override the creationtime of the signature
 * @param {Array} [userIDs] - User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }]
 * @param {Array} [notations] - Notation Data to add to the signatures, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
 * @param {Boolean} [detached] - Whether to create detached signature packets
 * @param {Object} [config] - Full configuration, defaults to openpgp.config
 * @returns {Promise<PacketList>} List of signature packets.
 * @async
 * @private
 */
async function createSignaturePackets(literalDataPacket, signingKeys, signature = null, signingKeyIDs = [], date = new Date(), userIDs = [], notations = [], detached = false, config$1 = config) {
  const packetlist = new PacketList();

  // If data packet was created from Uint8Array, use binary, otherwise use text
  const signatureType = literalDataPacket.text === null ?
    enums.signature.binary : enums.signature.text;

  await Promise.all(signingKeys.map(async (primaryKey, i) => {
    const userID = userIDs[i];
    if (!primaryKey.isPrivate()) {
      throw new Error('Need private key for signing');
    }
    const signingKey = await primaryKey.getSigningKey(signingKeyIDs[i], date, userID, config$1);
    return createSignaturePacket(literalDataPacket, primaryKey, signingKey.keyPacket, { signatureType }, date, userID, notations, detached, config$1);
  })).then(signatureList => {
    packetlist.push(...signatureList);
  });

  if (signature) {
    const existingSigPacketlist = signature.packets.filterByTag(enums.packet.signature);
    packetlist.push(...existingSigPacketlist);
  }
  return packetlist;
}

/**
 * Create object containing signer's keyID and validity of signature
 * @param {SignaturePacket} signature - Signature packet
 * @param {Array<LiteralDataPacket>} literalDataList - Array of literal data packets
 * @param {Array<PublicKey>} verificationKeys - Array of public keys to verify signatures
 * @param {Date} [date] - Check signature validity with respect to the given date
 * @param {Boolean} [detached] - Whether to verify detached signature packets
 * @param {Object} [config] - Full configuration, defaults to openpgp.config
 * @returns {Promise<{
 *   keyID: module:type/keyid~KeyID,
 *   signature: Promise<Signature>,
 *   verified: Promise<true>
 * }>} signer's keyID and validity of signature
 * @async
 * @private
 */
async function createVerificationObject(signature, literalDataList, verificationKeys, date = new Date(), detached = false, config$1 = config) {
  let primaryKey;
  let unverifiedSigningKey;

  for (const key of verificationKeys) {
    const issuerKeys = key.getKeys(signature.issuerKeyID);
    if (issuerKeys.length > 0) {
      primaryKey = key;
      unverifiedSigningKey = issuerKeys[0];
      break;
    }
  }

  const isOnePassSignature = signature instanceof OnePassSignaturePacket;
  const signaturePacketPromise = isOnePassSignature ? signature.correspondingSig : signature;

  const verifiedSig = {
    keyID: signature.issuerKeyID,
    verified: (async () => {
      if (!unverifiedSigningKey) {
        throw new Error(`Could not find signing key with key ID ${signature.issuerKeyID.toHex()}`);
      }

      await signature.verify(unverifiedSigningKey.keyPacket, signature.signatureType, literalDataList[0], date, detached, config$1);
      const signaturePacket = await signaturePacketPromise;
      if (unverifiedSigningKey.getCreationTime() > signaturePacket.created) {
        throw new Error('Key is newer than the signature');
      }
      // We pass the signature creation time to check whether the key was expired at the time of signing.
      // We check this after signature verification because for streamed one-pass signatures, the creation time is not available before
      try {
        await primaryKey.getSigningKey(unverifiedSigningKey.getKeyID(), signaturePacket.created, undefined, config$1);
      } catch (e) {
        // If a key was reformatted then the self-signatures of the signing key might be in the future compared to the message signature,
        // making the key invalid at the time of signing.
        // However, if the key is valid at the given `date`, we still allow using it provided the relevant `config` setting is enabled.
        // Note: we do not support the edge case of a key that was reformatted and it has expired.
        if (config$1.allowInsecureVerificationWithReformattedKeys && e.message.match(/Signature creation time is in the future/)) {
          await primaryKey.getSigningKey(unverifiedSigningKey.getKeyID(), date, undefined, config$1);
        } else {
          throw e;
        }
      }
      return true;
    })(),
    signature: (async () => {
      const signaturePacket = await signaturePacketPromise;
      const packetlist = new PacketList();
      signaturePacket && packetlist.push(signaturePacket);
      return new Signature(packetlist);
    })()
  };

  // Mark potential promise rejections as "handled". This is needed because in
  // some cases, we reject them before the user has a reasonable chance to
  // handle them (e.g. `await readToEnd(result.data); await result.verified` and
  // the data stream errors).
  verifiedSig.signature.catch(() => {});
  verifiedSig.verified.catch(() => {});

  return verifiedSig;
}

/**
 * Create list of objects containing signer's keyID and validity of signature
 * @param {Array<SignaturePacket>} signatureList - Array of signature packets
 * @param {Array<LiteralDataPacket>} literalDataList - Array of literal data packets
 * @param {Array<PublicKey>} verificationKeys - Array of public keys to verify signatures
 * @param {Date} date - Verify the signature against the given date,
 *                    i.e. check signature creation time < date < expiration time
 * @param {Boolean} [detached] - Whether to verify detached signature packets
 * @param {Object} [config] - Full configuration, defaults to openpgp.config
 * @returns {Promise<Array<{
 *   keyID: module:type/keyid~KeyID,
 *   signature: Promise<Signature>,
 *   verified: Promise<true>
 * }>>} list of signer's keyID and validity of signatures (one entry per signature packet in input)
 * @async
 * @private
 */
async function createVerificationObjects(signatureList, literalDataList, verificationKeys, date = new Date(), detached = false, config$1 = config) {
  return Promise.all(signatureList.filter(function(signature) {
    return ['text', 'binary'].includes(enums.read(enums.signature, signature.signatureType));
  }).map(async function(signature) {
    return createVerificationObject(signature, literalDataList, verificationKeys, date, detached, config$1);
  }));
}

/**
 * Reads an (optionally armored) OpenPGP message and returns a Message object
 * @param {Object} options
 * @param {String | ReadableStream<String>} [options.armoredMessage] - Armored message to be parsed
 * @param {Uint8Array | ReadableStream<Uint8Array>} [options.binaryMessage] - Binary to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Message>} New message object.
 * @async
 * @static
 */
async function readMessage({ armoredMessage, binaryMessage, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 };
  let input = armoredMessage || binaryMessage;
  if (!input) {
    throw new Error('readMessage: must pass options object containing `armoredMessage` or `binaryMessage`');
  }
  if (armoredMessage && !util.isString(armoredMessage) && !util.isStream(armoredMessage)) {
    throw new Error('readMessage: options.armoredMessage must be a string or stream');
  }
  if (binaryMessage && !util.isUint8Array(binaryMessage) && !util.isStream(binaryMessage)) {
    throw new Error('readMessage: options.binaryMessage must be a Uint8Array or stream');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  const streamType = util.isStream(input);
  if (streamType) {
    await loadStreamsPonyfill();
    input = toStream(input);
  }
  if (armoredMessage) {
    const { type, data } = await unarmor(input, config$1);
    if (type !== enums.armor.message) {
      throw new Error('Armored text not of type message');
    }
    input = data;
  }
  const packetlist = await PacketList.fromBinary(input, allowedMessagePackets, config$1);
  const message = new Message(packetlist);
  message.fromStream = streamType;
  return message;
}

/**
 * Creates new message object from text or binary data.
 * @param {Object} options
 * @param {String | ReadableStream<String>} [options.text] - The text message contents
 * @param {Uint8Array | ReadableStream<Uint8Array>} [options.binary] - The binary message contents
 * @param {String} [options.filename=""] - Name of the file (if any)
 * @param {Date} [options.date=current date] - Date of the message, or modification date of the file
 * @param {'utf8'|'binary'|'text'|'mime'} [options.format='utf8' if text is passed, 'binary' otherwise] - Data packet type
 * @returns {Promise<Message>} New message object.
 * @async
 * @static
 */
async function createMessage({ text, binary, filename, date = new Date(), format = text !== undefined ? 'utf8' : 'binary', ...rest }) {
  let input = text !== undefined ? text : binary;
  if (input === undefined) {
    throw new Error('createMessage: must pass options object containing `text` or `binary`');
  }
  if (text && !util.isString(text) && !util.isStream(text)) {
    throw new Error('createMessage: options.text must be a string or stream');
  }
  if (binary && !util.isUint8Array(binary) && !util.isStream(binary)) {
    throw new Error('createMessage: options.binary must be a Uint8Array or stream');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  const streamType = util.isStream(input);
  if (streamType) {
    await loadStreamsPonyfill();
    input = toStream(input);
  }
  const literalDataPacket = new LiteralDataPacket(date);
  if (text !== undefined) {
    literalDataPacket.setText(input, enums.write(enums.literal, format));
  } else {
    literalDataPacket.setBytes(input, enums.write(enums.literal, format));
  }
  if (filename !== undefined) {
    literalDataPacket.setFilename(filename);
  }
  const literalDataPacketlist = new PacketList();
  literalDataPacketlist.push(literalDataPacket);
  const message = new Message(literalDataPacketlist);
  message.fromStream = streamType;
  return message;
}

// GPG4Browsers - An OpenPGP implementation in javascript

// A Cleartext message can contain the following packets
const allowedPackets$5 = /*#__PURE__*/ util.constructAllowedPackets([SignaturePacket]);

/**
 * Class that represents an OpenPGP cleartext signed message.
 * See {@link https://tools.ietf.org/html/rfc4880#section-7}
 */
class CleartextMessage {
  /**
   * @param {String} text - The cleartext of the signed message
   * @param {Signature} signature - The detached signature or an empty signature for unsigned messages
   */
  constructor(text, signature) {
    // remove trailing whitespace and normalize EOL to canonical form <CR><LF>
    this.text = util.removeTrailingSpaces(text).replace(/\r?\n/g, '\r\n');
    if (signature && !(signature instanceof Signature)) {
      throw new Error('Invalid signature input');
    }
    this.signature = signature || new Signature(new PacketList());
  }

  /**
   * Returns the key IDs of the keys that signed the cleartext message
   * @returns {Array<module:type/keyid~KeyID>} Array of keyID objects.
   */
  getSigningKeyIDs() {
    const keyIDs = [];
    const signatureList = this.signature.packets;
    signatureList.forEach(function(packet) {
      keyIDs.push(packet.issuerKeyID);
    });
    return keyIDs;
  }

  /**
   * Sign the cleartext message
   * @param {Array<Key>} privateKeys - private keys with decrypted secret key data for signing
   * @param {Signature} [signature] - Any existing detached signature
   * @param {Array<module:type/keyid~KeyID>} [signingKeyIDs] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to privateKeys[i]
   * @param {Date} [date] - The creation time of the signature that should be created
   * @param {Array} [userIDs] - User IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }]
   * @param {Array} [notations] - Notation Data to add to the signatures, e.g. [{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<CleartextMessage>} New cleartext message with signed content.
   * @async
   */
  async sign(privateKeys, signature = null, signingKeyIDs = [], date = new Date(), userIDs = [], notations = [], config$1 = config) {
    const literalDataPacket = new LiteralDataPacket();
    literalDataPacket.setText(this.text);
    const newSignature = new Signature(await createSignaturePackets(literalDataPacket, privateKeys, signature, signingKeyIDs, date, userIDs, notations, true, config$1));
    return new CleartextMessage(this.text, newSignature);
  }

  /**
   * Verify signatures of cleartext signed message
   * @param {Array<Key>} keys - Array of keys to verify signatures
   * @param {Date} [date] - Verify the signature against the given date, i.e. check signature creation time < date < expiration time
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {Promise<Array<{
   *   keyID: module:type/keyid~KeyID,
   *   signature: Promise<Signature>,
   *   verified: Promise<true>
   * }>>} List of signer's keyID and validity of signature.
   * @async
   */
  verify(keys, date = new Date(), config$1 = config) {
    const signatureList = this.signature.packets.filterByTag(enums.packet.signature); // drop UnparsablePackets
    const literalDataPacket = new LiteralDataPacket();
    // we assume that cleartext signature is generated based on UTF8 cleartext
    literalDataPacket.setText(this.text);
    return createVerificationObjects(signatureList, [literalDataPacket], keys, date, true, config$1);
  }

  /**
   * Get cleartext
   * @returns {String} Cleartext of message.
   */
  getText() {
    // normalize end of line to \n
    return this.text.replace(/\r\n/g, '\n');
  }

  /**
   * Returns ASCII armored text of cleartext signed message
   * @param {Object} [config] - Full configuration, defaults to openpgp.config
   * @returns {String | ReadableStream<String>} ASCII armor.
   */
  armor(config$1 = config) {
    let hashes = this.signature.packets.map(function(packet) {
      return enums.read(enums.hash, packet.hashAlgorithm).toUpperCase();
    });
    hashes = hashes.filter(function(item, i, ar) { return ar.indexOf(item) === i; });
    const body = {
      hash: hashes.join(),
      text: this.text,
      data: this.signature.packets.write()
    };
    return armor(enums.armor.signed, body, undefined, undefined, undefined, config$1);
  }
}

/**
 * Reads an OpenPGP cleartext signed message and returns a CleartextMessage object
 * @param {Object} options
 * @param {String} options.cleartextMessage - Text to be parsed
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<CleartextMessage>} New cleartext message object.
 * @async
 * @static
 */
async function readCleartextMessage({ cleartextMessage, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 };
  if (!cleartextMessage) {
    throw new Error('readCleartextMessage: must pass options object containing `cleartextMessage`');
  }
  if (!util.isString(cleartextMessage)) {
    throw new Error('readCleartextMessage: options.cleartextMessage must be a string');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  const input = await unarmor(cleartextMessage);
  if (input.type !== enums.armor.signed) {
    throw new Error('No cleartext signed message.');
  }
  const packetlist = await PacketList.fromBinary(input.data, allowedPackets$5, config$1);
  verifyHeaders$1(input.headers, packetlist);
  const signature = new Signature(packetlist);
  return new CleartextMessage(input.text, signature);
}

/**
 * Compare hash algorithm specified in the armor header with signatures
 * @param {Array<String>} headers - Armor headers
 * @param {PacketList} packetlist - The packetlist with signature packets
 * @private
 */
function verifyHeaders$1(headers, packetlist) {
  const checkHashAlgos = function(hashAlgos) {
    const check = packet => algo => packet.hashAlgorithm === algo;

    for (let i = 0; i < packetlist.length; i++) {
      if (packetlist[i].constructor.tag === enums.packet.signature && !hashAlgos.some(check(packetlist[i]))) {
        return false;
      }
    }
    return true;
  };

  let oneHeader = null;
  let hashAlgos = [];
  headers.forEach(function(header) {
    oneHeader = header.match(/^Hash: (.+)$/); // get header value
    if (oneHeader) {
      oneHeader = oneHeader[1].replace(/\s/g, ''); // remove whitespace
      oneHeader = oneHeader.split(',');
      oneHeader = oneHeader.map(function(hash) {
        hash = hash.toLowerCase();
        try {
          return enums.write(enums.hash, hash);
        } catch (e) {
          throw new Error('Unknown hash algorithm in armor header: ' + hash);
        }
      });
      hashAlgos = hashAlgos.concat(oneHeader);
    } else {
      throw new Error('Only "Hash" header allowed in cleartext signed message');
    }
  });

  if (!hashAlgos.length && !checkHashAlgos([enums.hash.md5])) {
    throw new Error('If no "Hash" header in cleartext signed message, then only MD5 signatures allowed');
  } else if (hashAlgos.length && !checkHashAlgos(hashAlgos)) {
    throw new Error('Hash algorithm mismatch in armor header and signature');
  }
}

/**
 * Creates a new CleartextMessage object from text
 * @param {Object} options
 * @param {String} options.text
 * @static
 * @async
 */
async function createCleartextMessage({ text, ...rest }) {
  if (!text) {
    throw new Error('createCleartextMessage: must pass options object containing `text`');
  }
  if (!util.isString(text)) {
    throw new Error('createCleartextMessage: options.text must be a string');
  }
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  return new CleartextMessage(text);
}

// OpenPGP.js - An OpenPGP implementation in javascript


//////////////////////
//                  //
//   Key handling   //
//                  //
//////////////////////


/**
 * Generates a new OpenPGP key pair. Supports RSA and ECC keys. By default, primary and subkeys will be of same type.
 * The generated primary key will have signing capabilities. By default, one subkey with encryption capabilities is also generated.
 * @param {Object} options
 * @param {Object|Array<Object>} options.userIDs - User IDs as objects: `{ name: 'Jo Doe', email: 'info@jo.com' }`
 * @param {'ecc'|'rsa'} [options.type='ecc'] - The primary key algorithm type: ECC (default) or RSA
 * @param {String} [options.passphrase=(not protected)] - The passphrase used to encrypt the generated private key. If omitted or empty, the key won't be encrypted.
 * @param {Number} [options.rsaBits=4096] - Number of bits for RSA keys
 * @param {String} [options.curve='curve25519'] - Elliptic curve for ECC keys:
 *                                             curve25519 (default), p256, p384, p521, secp256k1,
 *                                             brainpoolP256r1, brainpoolP384r1, or brainpoolP512r1
 * @param {Date} [options.date=current date] - Override the creation date of the key and the key signatures
 * @param {Number} [options.keyExpirationTime=0 (never expires)] - Number of seconds from the key creation time after which the key expires
 * @param {Array<Object>} [options.subkeys=a single encryption subkey] - Options for each subkey e.g. `[{sign: true, passphrase: '123'}]`
 *                                             default to main key options, except for `sign` parameter that defaults to false, and indicates whether the subkey should sign rather than encrypt
 * @param {'armored'|'binary'|'object'} [options.format='armored'] - format of the output keys
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Object>} The generated key object in the form:
 *                                     { privateKey:PrivateKey|Uint8Array|String, publicKey:PublicKey|Uint8Array|String, revocationCertificate:String }
 * @async
 * @static
 */
async function generateKey({ userIDs = [], passphrase, type = 'ecc', rsaBits = 4096, curve = 'curve25519', keyExpirationTime = 0, date = new Date(), subkeys = [{}], format = 'armored', config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  userIDs = toArray$1(userIDs);
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (userIDs.length === 0) {
    throw new Error('UserIDs are required for key generation');
  }
  if (type === 'rsa' && rsaBits < config$1.minRSABits) {
    throw new Error(`rsaBits should be at least ${config$1.minRSABits}, got: ${rsaBits}`);
  }

  const options = { userIDs, passphrase, type, rsaBits, curve, keyExpirationTime, date, subkeys };

  try {
    const { key, revocationCertificate } = await generate$4(options, config$1);
    key.getKeys().forEach(({ keyPacket }) => checkKeyRequirements(keyPacket, config$1));

    return {
      privateKey: formatObject(key, format, config$1),
      publicKey: formatObject(key.toPublic(), format, config$1),
      revocationCertificate
    };
  } catch (err) {
    throw util.wrapError('Error generating keypair', err);
  }
}

/**
 * Reformats signature packets for a key and rewraps key object.
 * @param {Object} options
 * @param {PrivateKey} options.privateKey - Private key to reformat
 * @param {Object|Array<Object>} options.userIDs - User IDs as objects: `{ name: 'Jo Doe', email: 'info@jo.com' }`
 * @param {String} [options.passphrase=(not protected)] - The passphrase used to encrypt the reformatted private key. If omitted or empty, the key won't be encrypted.
 * @param {Number} [options.keyExpirationTime=0 (never expires)] - Number of seconds from the key creation time after which the key expires
 * @param {Date}   [options.date] - Override the creation date of the key signatures. If the key was previously used to sign messages, it is recommended
 *                                  to set the same date as the key creation time to ensure that old message signatures will still be verifiable using the reformatted key.
 * @param {'armored'|'binary'|'object'} [options.format='armored'] - format of the output keys
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Object>} The generated key object in the form:
 *                                     { privateKey:PrivateKey|Uint8Array|String, publicKey:PublicKey|Uint8Array|String, revocationCertificate:String }
 * @async
 * @static
 */
async function reformatKey({ privateKey, userIDs = [], passphrase, keyExpirationTime = 0, date, format = 'armored', config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  userIDs = toArray$1(userIDs);
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (userIDs.length === 0) {
    throw new Error('UserIDs are required for key reformat');
  }
  const options = { privateKey, userIDs, passphrase, keyExpirationTime, date };

  try {
    const { key: reformattedKey, revocationCertificate } = await reformat(options, config$1);

    return {
      privateKey: formatObject(reformattedKey, format, config$1),
      publicKey: formatObject(reformattedKey.toPublic(), format, config$1),
      revocationCertificate
    };
  } catch (err) {
    throw util.wrapError('Error reformatting keypair', err);
  }
}

/**
 * Revokes a key. Requires either a private key or a revocation certificate.
 *   If a revocation certificate is passed, the reasonForRevocation parameter will be ignored.
 * @param {Object} options
 * @param {Key} options.key - Public or private key to revoke
 * @param {String} [options.revocationCertificate] - Revocation certificate to revoke the key with
 * @param {Object} [options.reasonForRevocation] - Object indicating the reason for revocation
 * @param {module:enums.reasonForRevocation} [options.reasonForRevocation.flag=[noReason]{@link module:enums.reasonForRevocation}] - Flag indicating the reason for revocation
 * @param {String} [options.reasonForRevocation.string=""] - String explaining the reason for revocation
 * @param {Date} [options.date] - Use the given date instead of the current time to verify validity of revocation certificate (if provided), or as creation time of the revocation signature
 * @param {'armored'|'binary'|'object'} [options.format='armored'] - format of the output key(s)
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Object>} The revoked key in the form:
 *                              { privateKey:PrivateKey|Uint8Array|String, publicKey:PublicKey|Uint8Array|String } if private key is passed, or
 *                              { privateKey: null, publicKey:PublicKey|Uint8Array|String } otherwise
 * @async
 * @static
 */
async function revokeKey({ key, revocationCertificate, reasonForRevocation, date = new Date(), format = 'armored', config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  try {
    const revokedKey = revocationCertificate ?
      await key.applyRevocationCertificate(revocationCertificate, date, config$1) :
      await key.revoke(reasonForRevocation, date, config$1);

    return revokedKey.isPrivate() ? {
      privateKey: formatObject(revokedKey, format, config$1),
      publicKey: formatObject(revokedKey.toPublic(), format, config$1)
    } : {
      privateKey: null,
      publicKey: formatObject(revokedKey, format, config$1)
    };
  } catch (err) {
    throw util.wrapError('Error revoking key', err);
  }
}

/**
 * Unlock a private key with the given passphrase.
 * This method does not change the original key.
 * @param {Object} options
 * @param {PrivateKey} options.privateKey - The private key to decrypt
 * @param {String|Array<String>} options.passphrase - The user's passphrase(s)
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<PrivateKey>} The unlocked key object.
 * @async
 */
async function decryptKey({ privateKey, passphrase, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (!privateKey.isPrivate()) {
    throw new Error('Cannot decrypt a public key');
  }
  const clonedPrivateKey = privateKey.clone(true);
  const passphrases = util.isArray(passphrase) ? passphrase : [passphrase];

  try {
    await Promise.all(clonedPrivateKey.getKeys().map(key => (
      // try to decrypt each key with any of the given passphrases
      util.anyPromise(passphrases.map(passphrase => key.keyPacket.decrypt(passphrase)))
    )));

    await clonedPrivateKey.validate(config$1);
    return clonedPrivateKey;
  } catch (err) {
    clonedPrivateKey.clearPrivateParams();
    throw util.wrapError('Error decrypting private key', err);
  }
}

/**
 * Lock a private key with the given passphrase.
 * This method does not change the original key.
 * @param {Object} options
 * @param {PrivateKey} options.privateKey - The private key to encrypt
 * @param {String|Array<String>} options.passphrase - If multiple passphrases, they should be in the same order as the packets each should encrypt
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<PrivateKey>} The locked key object.
 * @async
 */
async function encryptKey({ privateKey, passphrase, config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (!privateKey.isPrivate()) {
    throw new Error('Cannot encrypt a public key');
  }
  const clonedPrivateKey = privateKey.clone(true);

  const keys = clonedPrivateKey.getKeys();
  const passphrases = util.isArray(passphrase) ? passphrase : new Array(keys.length).fill(passphrase);
  if (passphrases.length !== keys.length) {
    throw new Error('Invalid number of passphrases given for key encryption');
  }

  try {
    await Promise.all(keys.map(async (key, i) => {
      const { keyPacket } = key;
      await keyPacket.encrypt(passphrases[i], config$1);
      keyPacket.clearPrivateParams();
    }));
    return clonedPrivateKey;
  } catch (err) {
    clonedPrivateKey.clearPrivateParams();
    throw util.wrapError('Error encrypting private key', err);
  }
}


///////////////////////////////////////////
//                                       //
//   Message encryption and decryption   //
//                                       //
///////////////////////////////////////////


/**
 * Encrypts a message using public keys, passwords or both at once. At least one of `encryptionKeys`, `passwords` or `sessionKeys`
 *   must be specified. If signing keys are specified, those will be used to sign the message.
 * @param {Object} options
 * @param {Message} options.message - Message to be encrypted as created by {@link createMessage}
 * @param {PublicKey|PublicKey[]} [options.encryptionKeys] - Array of keys or single key, used to encrypt the message
 * @param {PrivateKey|PrivateKey[]} [options.signingKeys] - Private keys for signing. If omitted message will not be signed
 * @param {String|String[]} [options.passwords] - Array of passwords or a single password to encrypt the message
 * @param {Object} [options.sessionKey] - Session key in the form: `{ data:Uint8Array, algorithm:String }`
 * @param {'armored'|'binary'|'object'} [options.format='armored'] - Format of the returned message
 * @param {Signature} [options.signature] - A detached signature to add to the encrypted message
 * @param {Boolean} [options.wildcard=false] - Use a key ID of 0 instead of the public key IDs
 * @param {KeyID|KeyID[]} [options.signingKeyIDs=latest-created valid signing (sub)keys] - Array of key IDs to use for signing. Each `signingKeyIDs[i]` corresponds to `signingKeys[i]`
 * @param {KeyID|KeyID[]} [options.encryptionKeyIDs=latest-created valid encryption (sub)keys] - Array of key IDs to use for encryption. Each `encryptionKeyIDs[i]` corresponds to `encryptionKeys[i]`
 * @param {Date} [options.date=current date] - Override the creation date of the message signature
 * @param {Object|Object[]} [options.signingUserIDs=primary user IDs] - Array of user IDs to sign with, one per key in `signingKeys`, e.g. `[{ name: 'Steve Sender', email: 'steve@openpgp.org' }]`
 * @param {Object|Object[]} [options.encryptionUserIDs=primary user IDs] - Array of user IDs to encrypt for, one per key in `encryptionKeys`, e.g. `[{ name: 'Robert Receiver', email: 'robert@openpgp.org' }]`
 * @param {Object|Object[]} [options.signatureNotations=[]] - Array of notations to add to the signatures, e.g. `[{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]`
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<MaybeStream<String>|MaybeStream<Uint8Array>>} Encrypted message (string if `armor` was true, the default; Uint8Array if `armor` was false).
 * @async
 * @static
 */
async function encrypt$5({ message, encryptionKeys, signingKeys, passwords, sessionKey, format = 'armored', signature = null, wildcard = false, signingKeyIDs = [], encryptionKeyIDs = [], date = new Date(), signingUserIDs = [], encryptionUserIDs = [], signatureNotations = [], config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  checkMessage(message); checkOutputMessageFormat(format);
  encryptionKeys = toArray$1(encryptionKeys); signingKeys = toArray$1(signingKeys); passwords = toArray$1(passwords);
  signingKeyIDs = toArray$1(signingKeyIDs); encryptionKeyIDs = toArray$1(encryptionKeyIDs); signingUserIDs = toArray$1(signingUserIDs); encryptionUserIDs = toArray$1(encryptionUserIDs); signatureNotations = toArray$1(signatureNotations);
  if (rest.detached) {
    throw new Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");
  }
  if (rest.publicKeys) throw new Error('The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead');
  if (rest.privateKeys) throw new Error('The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead');
  if (rest.armor !== undefined) throw new Error('The `armor` option has been removed from openpgp.encrypt, pass `format` instead.');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (!signingKeys) {
    signingKeys = [];
  }
  const streaming = message.fromStream;
  try {
    if (signingKeys.length || signature) { // sign the message only if signing keys or signature is specified
      message = await message.sign(signingKeys, signature, signingKeyIDs, date, signingUserIDs, signatureNotations, config$1);
    }
    message = message.compress(
      await getPreferredAlgo('compression', encryptionKeys, date, encryptionUserIDs, config$1),
      config$1
    );
    message = await message.encrypt(encryptionKeys, passwords, sessionKey, wildcard, encryptionKeyIDs, date, encryptionUserIDs, config$1);
    if (format === 'object') return message;
    // serialize data
    const armor = format === 'armored';
    const data = armor ? message.armor(config$1) : message.write();
    return convertStream(data, streaming, armor ? 'utf8' : 'binary');
  } catch (err) {
    throw util.wrapError('Error encrypting message', err);
  }
}

/**
 * Decrypts a message with the user's private key, a session key or a password.
 * One of `decryptionKeys`, `sessionkeys` or `passwords` must be specified (passing a combination of these options is not supported).
 * @param {Object} options
 * @param {Message} options.message - The message object with the encrypted data
 * @param {PrivateKey|PrivateKey[]} [options.decryptionKeys] - Private keys with decrypted secret key data or session key
 * @param {String|String[]} [options.passwords] - Passwords to decrypt the message
 * @param {Object|Object[]} [options.sessionKeys] - Session keys in the form: { data:Uint8Array, algorithm:String }
 * @param {PublicKey|PublicKey[]} [options.verificationKeys] - Array of public keys or single key, to verify signatures
 * @param {Boolean} [options.expectSigned=false] - If true, data decryption fails if the message is not signed with the provided publicKeys
 * @param {'utf8'|'binary'} [options.format='utf8'] - Whether to return data as a string(Stream) or Uint8Array(Stream). If 'utf8' (the default), also normalize newlines.
 * @param {Signature} [options.signature] - Detached signature for verification
 * @param {Date} [options.date=current date] - Use the given date for verification instead of the current time
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Object>} Object containing decrypted and verified message in the form:
 *
 *     {
 *       data: MaybeStream<String>, (if format was 'utf8', the default)
 *       data: MaybeStream<Uint8Array>, (if format was 'binary')
 *       filename: String,
 *       signatures: [
 *         {
 *           keyID: module:type/keyid~KeyID,
 *           verified: Promise<true>,
 *           signature: Promise<Signature>
 *         }, ...
 *       ]
 *     }
 *
 *     where `signatures` contains a separate entry for each signature packet found in the input message.
 * @async
 * @static
 */
async function decrypt$5({ message, decryptionKeys, passwords, sessionKeys, verificationKeys, expectSigned = false, format = 'utf8', signature = null, date = new Date(), config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  checkMessage(message); verificationKeys = toArray$1(verificationKeys); decryptionKeys = toArray$1(decryptionKeys); passwords = toArray$1(passwords); sessionKeys = toArray$1(sessionKeys);
  if (rest.privateKeys) throw new Error('The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead');
  if (rest.publicKeys) throw new Error('The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  try {
    const decrypted = await message.decrypt(decryptionKeys, passwords, sessionKeys, date, config$1);
    if (!verificationKeys) {
      verificationKeys = [];
    }

    const result = {};
    result.signatures = signature ? await decrypted.verifyDetached(signature, verificationKeys, date, config$1) : await decrypted.verify(verificationKeys, date, config$1);
    result.data = format === 'binary' ? decrypted.getLiteralData() : decrypted.getText();
    result.filename = decrypted.getFilename();
    linkStreams(result, message);
    if (expectSigned) {
      if (verificationKeys.length === 0) {
        throw new Error('Verification keys are required to verify message signatures');
      }
      if (result.signatures.length === 0) {
        throw new Error('Message is not signed');
      }
      result.data = concat([
        result.data,
        fromAsync(async () => {
          await util.anyPromise(result.signatures.map(sig => sig.verified));
        })
      ]);
    }
    result.data = await convertStream(result.data, message.fromStream, format);
    return result;
  } catch (err) {
    throw util.wrapError('Error decrypting message', err);
  }
}


//////////////////////////////////////////
//                                      //
//   Message signing and verification   //
//                                      //
//////////////////////////////////////////


/**
 * Signs a message.
 * @param {Object} options
 * @param {CleartextMessage|Message} options.message - (cleartext) message to be signed
 * @param {PrivateKey|PrivateKey[]} options.signingKeys - Array of keys or single key with decrypted secret key data to sign cleartext
 * @param {'armored'|'binary'|'object'} [options.format='armored'] - Format of the returned message
 * @param {Boolean} [options.detached=false] - If the return value should contain a detached signature
 * @param {KeyID|KeyID[]} [options.signingKeyIDs=latest-created valid signing (sub)keys] - Array of key IDs to use for signing. Each signingKeyIDs[i] corresponds to signingKeys[i]
 * @param {Date} [options.date=current date] - Override the creation date of the signature
 * @param {Object|Object[]} [options.signingUserIDs=primary user IDs] - Array of user IDs to sign with, one per key in `signingKeys`, e.g. `[{ name: 'Steve Sender', email: 'steve@openpgp.org' }]`
 * @param {Object|Object[]} [options.signatureNotations=[]] - Array of notations to add to the signatures, e.g. `[{ name: 'test@example.org', value: new TextEncoder().encode('test'), humanReadable: true, critical: false }]`
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<MaybeStream<String|Uint8Array>>} Signed message (string if `armor` was true, the default; Uint8Array if `armor` was false).
 * @async
 * @static
 */
async function sign$6({ message, signingKeys, format = 'armored', detached = false, signingKeyIDs = [], date = new Date(), signingUserIDs = [], signatureNotations = [], config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  checkCleartextOrMessage(message); checkOutputMessageFormat(format);
  signingKeys = toArray$1(signingKeys); signingKeyIDs = toArray$1(signingKeyIDs); signingUserIDs = toArray$1(signingUserIDs); signatureNotations = toArray$1(signatureNotations);

  if (rest.privateKeys) throw new Error('The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead');
  if (rest.armor !== undefined) throw new Error('The `armor` option has been removed from openpgp.sign, pass `format` instead.');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (message instanceof CleartextMessage && format === 'binary') throw new Error('Cannot return signed cleartext message in binary format');
  if (message instanceof CleartextMessage && detached) throw new Error('Cannot detach-sign a cleartext message');

  if (!signingKeys || signingKeys.length === 0) {
    throw new Error('No signing keys provided');
  }

  try {
    let signature;
    if (detached) {
      signature = await message.signDetached(signingKeys, undefined, signingKeyIDs, date, signingUserIDs, signatureNotations, config$1);
    } else {
      signature = await message.sign(signingKeys, undefined, signingKeyIDs, date, signingUserIDs, signatureNotations, config$1);
    }
    if (format === 'object') return signature;

    const armor = format === 'armored';
    signature = armor ? signature.armor(config$1) : signature.write();
    if (detached) {
      signature = transformPair(message.packets.write(), async (readable, writable) => {
        await Promise.all([
          pipe(signature, writable),
          readToEnd(readable).catch(() => {})
        ]);
      });
    }
    return convertStream(signature, message.fromStream, armor ? 'utf8' : 'binary');
  } catch (err) {
    throw util.wrapError('Error signing message', err);
  }
}

/**
 * Verifies signatures of cleartext signed message
 * @param {Object} options
 * @param {CleartextMessage|Message} options.message - (cleartext) message object with signatures
 * @param {PublicKey|PublicKey[]} options.verificationKeys - Array of publicKeys or single key, to verify signatures
 * @param {Boolean} [options.expectSigned=false] - If true, verification throws if the message is not signed with the provided publicKeys
 * @param {'utf8'|'binary'} [options.format='utf8'] - Whether to return data as a string(Stream) or Uint8Array(Stream). If 'utf8' (the default), also normalize newlines.
 * @param {Signature} [options.signature] - Detached signature for verification
 * @param {Date} [options.date=current date] - Use the given date for verification instead of the current time
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Object>} Object containing verified message in the form:
 *
 *     {
 *       data: MaybeStream<String>, (if `message` was a CleartextMessage)
 *       data: MaybeStream<Uint8Array>, (if `message` was a Message)
 *       signatures: [
 *         {
 *           keyID: module:type/keyid~KeyID,
 *           verified: Promise<true>,
 *           signature: Promise<Signature>
 *         }, ...
 *       ]
 *     }
 *
 *     where `signatures` contains a separate entry for each signature packet found in the input message.
 * @async
 * @static
 */
async function verify$6({ message, verificationKeys, expectSigned = false, format = 'utf8', signature = null, date = new Date(), config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  checkCleartextOrMessage(message); verificationKeys = toArray$1(verificationKeys);
  if (rest.publicKeys) throw new Error('The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if (message instanceof CleartextMessage && format === 'binary') throw new Error("Can't return cleartext message data as binary");
  if (message instanceof CleartextMessage && signature) throw new Error("Can't verify detached cleartext signature");

  try {
    const result = {};
    if (signature) {
      result.signatures = await message.verifyDetached(signature, verificationKeys, date, config$1);
    } else {
      result.signatures = await message.verify(verificationKeys, date, config$1);
    }
    result.data = format === 'binary' ? message.getLiteralData() : message.getText();
    if (message.fromStream && !signature) linkStreams(result, message);
    if (expectSigned) {
      if (result.signatures.length === 0) {
        throw new Error('Message is not signed');
      }
      result.data = concat([
        result.data,
        fromAsync(async () => {
          await util.anyPromise(result.signatures.map(sig => sig.verified));
        })
      ]);
    }
    result.data = await convertStream(result.data, message.fromStream, format);
    return result;
  } catch (err) {
    throw util.wrapError('Error verifying signed message', err);
  }
}


///////////////////////////////////////////////
//                                           //
//   Session key encryption and decryption   //
//                                           //
///////////////////////////////////////////////

/**
 * Generate a new session key object, taking the algorithm preferences of the passed public keys into account, if any.
 * @param {Object} options
 * @param {PublicKey|PublicKey[]} [options.encryptionKeys] - Array of public keys or single key used to select algorithm preferences for. If no keys are given, the algorithm will be [config.preferredSymmetricAlgorithm]{@link module:config.preferredSymmetricAlgorithm}
 * @param {Date} [options.date=current date] - Date to select algorithm preferences at
 * @param {Object|Object[]} [options.encryptionUserIDs=primary user IDs] - User IDs to select algorithm preferences for
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<{ data: Uint8Array, algorithm: String }>} Object with session key data and algorithm.
 * @async
 * @static
 */
async function generateSessionKey$1({ encryptionKeys, date = new Date(), encryptionUserIDs = [], config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  encryptionKeys = toArray$1(encryptionKeys); encryptionUserIDs = toArray$1(encryptionUserIDs);
  if (rest.publicKeys) throw new Error('The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  try {
    const sessionKeys = await Message.generateSessionKey(encryptionKeys, date, encryptionUserIDs, config$1);
    return sessionKeys;
  } catch (err) {
    throw util.wrapError('Error generating session key', err);
  }
}

/**
 * Encrypt a symmetric session key with public keys, passwords, or both at once.
 * At least one of `encryptionKeys` or `passwords` must be specified.
 * @param {Object} options
 * @param {Uint8Array} options.data - The session key to be encrypted e.g. 16 random bytes (for aes128)
 * @param {String} options.algorithm - Algorithm of the symmetric session key e.g. 'aes128' or 'aes256'
 * @param {String} [options.aeadAlgorithm] - AEAD algorithm, e.g. 'eax' or 'ocb'
 * @param {PublicKey|PublicKey[]} [options.encryptionKeys] - Array of public keys or single key, used to encrypt the key
 * @param {String|String[]} [options.passwords] - Passwords for the message
 * @param {'armored'|'binary'} [options.format='armored'] - Format of the returned value
 * @param {Boolean} [options.wildcard=false] - Use a key ID of 0 instead of the public key IDs
 * @param {KeyID|KeyID[]} [options.encryptionKeyIDs=latest-created valid encryption (sub)keys] - Array of key IDs to use for encryption. Each encryptionKeyIDs[i] corresponds to encryptionKeys[i]
 * @param {Date} [options.date=current date] - Override the date
 * @param {Object|Object[]} [options.encryptionUserIDs=primary user IDs] - Array of user IDs to encrypt for, one per key in `encryptionKeys`, e.g. `[{ name: 'Phil Zimmermann', email: 'phil@openpgp.org' }]`
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<String|Uint8Array>} Encrypted session keys (string if `armor` was true, the default; Uint8Array if `armor` was false).
 * @async
 * @static
 */
async function encryptSessionKey({ data, algorithm, aeadAlgorithm, encryptionKeys, passwords, format = 'armored', wildcard = false, encryptionKeyIDs = [], date = new Date(), encryptionUserIDs = [], config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  checkBinary(data); checkString(algorithm, 'algorithm'); checkOutputMessageFormat(format);
  encryptionKeys = toArray$1(encryptionKeys); passwords = toArray$1(passwords); encryptionKeyIDs = toArray$1(encryptionKeyIDs); encryptionUserIDs = toArray$1(encryptionUserIDs);
  if (rest.publicKeys) throw new Error('The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  if ((!encryptionKeys || encryptionKeys.length === 0) && (!passwords || passwords.length === 0)) {
    throw new Error('No encryption keys or passwords provided.');
  }

  try {
    const message = await Message.encryptSessionKey(data, algorithm, aeadAlgorithm, encryptionKeys, passwords, wildcard, encryptionKeyIDs, date, encryptionUserIDs, config$1);
    return formatObject(message, format, config$1);
  } catch (err) {
    throw util.wrapError('Error encrypting session key', err);
  }
}

/**
 * Decrypt symmetric session keys using private keys or passwords (not both).
 * One of `decryptionKeys` or `passwords` must be specified.
 * @param {Object} options
 * @param {Message} options.message - A message object containing the encrypted session key packets
 * @param {PrivateKey|PrivateKey[]} [options.decryptionKeys] - Private keys with decrypted secret key data
 * @param {String|String[]} [options.passwords] - Passwords to decrypt the session key
 * @param {Date} [options.date] - Date to use for key verification instead of the current time
 * @param {Object} [options.config] - Custom configuration settings to overwrite those in [config]{@link module:config}
 * @returns {Promise<Object[]>} Array of decrypted session key, algorithm pairs in the form:
 *                                            { data:Uint8Array, algorithm:String }
 * @throws if no session key could be found or decrypted
 * @async
 * @static
 */
async function decryptSessionKeys({ message, decryptionKeys, passwords, date = new Date(), config: config$1, ...rest }) {
  config$1 = { ...config, ...config$1 }; checkConfig(config$1);
  checkMessage(message); decryptionKeys = toArray$1(decryptionKeys); passwords = toArray$1(passwords);
  if (rest.privateKeys) throw new Error('The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead');
  const unknownOptions = Object.keys(rest); if (unknownOptions.length > 0) throw new Error(`Unknown option: ${unknownOptions.join(', ')}`);

  try {
    const sessionKeys = await message.decryptSessionKeys(decryptionKeys, passwords, date, config$1);
    return sessionKeys;
  } catch (err) {
    throw util.wrapError('Error decrypting session keys', err);
  }
}


//////////////////////////
//                      //
//   Helper functions   //
//                      //
//////////////////////////


/**
 * Input validation
 * @private
 */
function checkString(data, name) {
  if (!util.isString(data)) {
    throw new Error('Parameter [' + (name || 'data') + '] must be of type String');
  }
}
function checkBinary(data, name) {
  if (!util.isUint8Array(data)) {
    throw new Error('Parameter [' + (name || 'data') + '] must be of type Uint8Array');
  }
}
function checkMessage(message) {
  if (!(message instanceof Message)) {
    throw new Error('Parameter [message] needs to be of type Message');
  }
}
function checkCleartextOrMessage(message) {
  if (!(message instanceof CleartextMessage) && !(message instanceof Message)) {
    throw new Error('Parameter [message] needs to be of type Message or CleartextMessage');
  }
}
function checkOutputMessageFormat(format) {
  if (format !== 'armored' && format !== 'binary' && format !== 'object') {
    throw new Error(`Unsupported format ${format}`);
  }
}
const defaultConfigPropsCount = Object.keys(config).length;
function checkConfig(config$1) {
  const inputConfigProps = Object.keys(config$1);
  if (inputConfigProps.length !== defaultConfigPropsCount) {
    for (const inputProp of inputConfigProps) {
      if (config[inputProp] === undefined) {
        throw new Error(`Unknown config property: ${inputProp}`);
      }
    }
  }
}

/**
 * Normalize parameter to an array if it is not undefined.
 * @param {Object} param - the parameter to be normalized
 * @returns {Array<Object>|undefined} The resulting array or undefined.
 * @private
 */
function toArray$1(param) {
  if (param && !util.isArray(param)) {
    param = [param];
  }
  return param;
}

/**
 * Convert data to or from Stream
 * @param {Object} data - the data to convert
 * @param {'web'|'ponyfill'|'node'|false} streaming - Whether to return a ReadableStream, and of what type
 * @param {'utf8'|'binary'} [encoding] - How to return data in Node Readable streams
 * @returns {Promise<Object>} The data in the respective format.
 * @async
 * @private
 */
async function convertStream(data, streaming, encoding = 'utf8') {
  const streamType = util.isStream(data);
  if (streamType === 'array') {
    return readToEnd(data);
  }
  if (streaming === 'node') {
    data = webToNode(data);
    if (encoding !== 'binary') data.setEncoding(encoding);
    return data;
  }
  if (streaming === 'web' && streamType === 'ponyfill') {
    return toNativeReadable(data);
  }
  return data;
}

/**
 * Link result.data to the message stream for cancellation.
 * Also, forward errors in the message to result.data.
 * @param {Object} result - the data to convert
 * @param {Message} message - message object
 * @returns {Object}
 * @private
 */
function linkStreams(result, message) {
  result.data = transformPair(message.packets.stream, async (readable, writable) => {
    await pipe(result.data, writable, {
      preventClose: true
    });
    const writer = getWriter(writable);
    try {
      // Forward errors in the message stream to result.data.
      await readToEnd(readable, _ => _);
      await writer.close();
    } catch (e) {
      await writer.abort(e);
    }
  });
}

/**
 * Convert the object to the given format
 * @param {Key|Message} object
 * @param {'armored'|'binary'|'object'} format
 * @param {Object} config - Full configuration
 * @returns {String|Uint8Array|Object}
 */
function formatObject(object, format, config) {
  switch (format) {
    case 'object':
      return object;
    case 'armored':
      return object.armor(config);
    case 'binary':
      return object.write();
    default:
      throw new Error(`Unsupported format ${format}`);
  }
}

export { AEADEncryptedDataPacket, CleartextMessage, CompressedDataPacket, LiteralDataPacket, MarkerPacket, Message, OnePassSignaturePacket, PacketList, PrivateKey, PublicKey, PublicKeyEncryptedSessionKeyPacket, PublicKeyPacket, PublicSubkeyPacket, SecretKeyPacket, SecretSubkeyPacket, Signature, SignaturePacket, Subkey, SymEncryptedIntegrityProtectedDataPacket, SymEncryptedSessionKeyPacket, SymmetricallyEncryptedDataPacket, TrustPacket, UnparseablePacket, UserAttributePacket, UserIDPacket, _224 as _, commonjsGlobal as a, armor, common$1 as b, createCommonjsModule as c, config, createCleartextMessage, createMessage, common as d, decrypt$5 as decrypt, decryptKey, decryptSessionKeys, _256 as e, encrypt$5 as encrypt, encryptKey, encryptSessionKey, enums, _384 as f, _512 as g, generateKey, generateSessionKey$1 as generateSessionKey, inherits_browser as i, minimalisticAssert as m, ripemd as r, readCleartextMessage, readKey, readKeys, readMessage, readPrivateKey, readPrivateKeys, readSignature, reformatKey, revokeKey, sign$6 as sign, utils as u, unarmor, verify$6 as verify };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (  H5 H=u )f     H1    { 1     ATUSHt}H? H      D  HHHHuHug   蠬IH   H    蓱HE HtYHHH;HuHE     L[]A\ÿ   PHHtRIHH=uDH<       HHD|I<$LHtD  kH{HHuLVE1돐H   Ht$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1H$   H$   HD$HD$ D$0   HD$HT$dH+%(   uH   Jf.     AWAVAUATUSH(T$H}  IHY  H> O  HH?E1HtH? t IJ< uE1f.     IK|  uLHI9  K4HpH3  HH?t@      )H   HH<  JH     H+M} HD$M   1#fD  LHHtM}IMtT|$ uJ3LH    H$HD$H$HD H   HIJ3HD     M} MuI9s"H
    H5@ H=# 1H([]A\A]A^A_    H
    H5a@ H= yf        HD$Ld$HHtI<$I觯L9uHD$H     ff.     @ AWAVE1AUATUHSHHH|$HL$(Ll$0Ht$Ld$dH%(   HT$81HL$HD$(    HuK   f     L|$0   H|$Iv   H   HD$(IN|J    HLLHD$0    AǅyH|$0蹮Hl$(Ht)H} HHt 蛮H{HHuH膮HT$8dH+%(      HHD[]A\A]A^A_LXHD$(Ht=HL$EH뻐ArD  H
   H5> H=       BHuAl蝥ff.     fAVATUSHH   HLHtrIHH9r7H}   A   1D  HtDu I$  HH[]A\A^fHE1HtH?HHL$5HL$I$H)    MtHA H1H[]A\A^@ H?HPA   1I$s H
    H5 H= AUATUSHHt9HHIIHHMHL[HH]A\A]    H
 4   H5 H=\ )f     ATIUHSHH   LD$@LL$Ht7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1H} IIH$   H   HHD$HD$ $    D$0   HD$39}7HcHHU H)1MtA$HT$dH+%(   uH   []A\ 1:f.     AWIAVAUATUHSHH   HT$LD$`LL$ht=)D$p)$   )$   )$   )$   )$   )$   )$   dH%(   HD$81fHD$0    )D$ M   H$0  E1Ll$E1HD$(HD$@D$     D$$0   HD$0LDt$HMLHHHEuDd$D$ /wQHT$0D$ L:MuHD$HtD HD$8dH+%(   uMH   H[]A\A]A^A_f     HT$(HBHD$(H
 X   H5$ H= 謡ff.     AWIAVAUATUSHH   HT$LD$`LL$ht=)D$p)$   )$   )$   )$   )$   )$   )$   dH%(   HD$81fHD$0    )D$ H   M   H|$E11Ll$H$0  D$     Ld$HD$(HD$@D$$0   HD$0LDt$]HMLHLH@ul$D$ /wKHT$0D$ L:MuHD$Ht@(HD$8dH+%(   uoH   H[]A\A]A^A_ HT$(HBHD$(     H
    H5 H= H
    H5d H= ff.     U   SH   dH%(   H$   1Ht$HH  sxD$(%   = @  {  =   t1   vxR      HD$    Ht$BŅ   H|$Ht?/tYz     ;(݉kH$   dH+%(   B  Hĸ   []       
 &$ H|$ÉŅxŅyғ ݅H
 1   H5H< H=S< Tm    =a	 ~AH 3 0   H L
h    HEL
 H P1SpcXZH|$1@ 1ɺ  	 1H5S# yÅ+
(H
i
    H5Q H=O? 譝ff.     fUH-" SHHHHt8.tHC ;/tMHH[]    .   f     .HxH.趣HuHIC ;/u{ tH趕HsHH'HH[]ff.     fATUSHdH%(   HD$1D$    HtoI1H-	 D  HHt6H| HtL|uHT$dH+%(   u1H[]A\D  1HT$L艡x	D$vƸPUHAUATSH(dH%(   HE1HE    HE    ,  I   H AL
 1H\$      HH
l H葖HHueLmЉÅxt)   L螛H  HxHU1H5[    HUHHHH   % 		HH0	   I$Lm1L蟣HEdH+%(      He[A\A]]    H/proc/seH H\$HClf/ HCstatC     H
   H5z H=p LmлkLmл]S襚D  Hb	 xJX	 u   HfD  H=d lHHtH5* 8HfD     莠1	 fD     nܟ	 yff.     SH dH%(   HD$	 x#	 HT$dH+%(   l  H [ H= 贚HH   81   H5y Hp   H   4	 .	 {H=E RHH   HA H
0 HHD$    fHnfHnfl)$HtPΞ	    x6W{    uCH= ֙Ht1	     Vf~	       4fD  tH=s {HHtH59 GX     H(fdH%(   HD$1H)$̕   H4$HxkHD$HxaHS㥛 HHH4ׂCHHHHHHHH9rHi@B HHT$dH+%(   u:H(fD  H    H
 6   H5 H= q|ff.     H? u
   @ SGHu
   [fD     HSHt-Ht?H9rHH)H9rSB;SrC1[D  HC   Cf.     H    AVAUATUSHO  HwHHu[]A\A]A^f.     H?HtH>  H
ǎ   MHCHtLE1
@ HCI9sN,    MIK,(I9sIK<(H   IHtOGU 9ru9r9G9BƉU )ЉEHCI9rCHHCI97LK<(HuH
g    H5 H=8     HPHwHL)H    ͚HC    H
    H5 H= qH
 /   H5 H= QH
  4   H5W, H=g
 1ATUSH  I   H|@   HHDHH   HLL1 N    I9sC<	vGH1H@LIA A48fY_   t Lɉ؃߃A<wHLIuA 1HH= 1HH貜H[]A\f.     H= DHHu11fD  H
y    H5G H=ie AWAVAUATE1USHHt? HuHD[]A\A]A^A_ÉyH=   w߾.   H褓HIAH9AuIEL5
 HD$M~Xf     IM9tI>HtHt$UuIE1L9rz@ IM9t7A7@@uMMDH= jHu>E16     L9%Mt(@t	IFL9rIVI9AA   ff.     @ SHdH%(   HD$1D$    Ht^HHT$
  p輗xD$=  t-t(Ht1HT$dH+%(   u>H[f     f     H
 2   H5 H= !,ff.     AWAVL5+ AUfInATAUHSHH8L/dH%(   HD$(1H L|$D$    fHnLLHD$     fl)D$Ht/L3E     1HT$(dH+%(   9  H8[]A\A]A^A_L5 H LLfInfHnfl)D$$Ht
	       L+Ht$LYxM@     Dl$ID躖H   HH@   =     E 7@      H;IHuD  A؅ҺNfL3E   1H=_ B=	 3@ EtDm fQAVAUATUSHPdH%(   HD$H1H$    \  A            F   Ld$I?WHH   HN     HD$    fHA)$A)D$A)D$ 蚑HH  LD$HHLD踗udHD$H   H辗1HD   H    H,$HD$HdH+%(      HPH[]A\A]A^D  "uL9   HHW2f	    HD$HdH+%(      H=`     HD$HdH+%(   unH= HP[]A\A]A^頕1Pf     1H֖8H8xH 1H=? "	 O^ED  AVAUATAUS蠍D9   D9   A     A       HH"  A      @    11菃Å   H   HcH蛏HH   HUÅ   覂IƃuOAuH1跕D  1   H衕[]A\A]A^fD  1    AH1qxHcӅt1fHH9tD;d u   f     1@ 11    1YgHv(       v$1 vJf     Ht@7   fHt"?΀?@wȀG    HtEAA?fn   Dƃ??			fnff~
   Ht?΀@w   ÐSHdH%(   HD$1D$    H  H1     yJЃ<t[Ѓ<.  Ѓ<5  Ѓ<<  u
   Hw,fHT$dH+%(   k  H[Htۻ   HHD  HH9t8 x     Ht$趃xT$v           u   Hf    YO    H
   H5[ H=u yf     H
Y   H5Z H= QH   H   H   H   H% =   0   ׉    AUATUSHH   HUH<   蘋IH   IĀ}  t0HH~PHcHLHH茊}  IuA$ LLHp芎HtPH[]A\A]f.     A$� HIfD  H
    H5|Y H=&t 1LUHAVAUATSH dH%(   HE1HE    HE    E    H  IH5ξ I耋Å.  1L|  LHPH  @   H.fo LHH)Hachines/H\$H)H{HCBHHHMj H LM1Lr 1:h LmȉXZ  xLuлMtMu:L*H}!HEdH+%(      He[A\A]A^]    H5 LyÅ   HuLÑxoELmȃ~{A$D  A$   E1v     H
	 d   H5 H=br !H
 Y   H5m H= Lmȉ#E1߆ff.     @ SH=6 #HtHy:t5=	 D1H= VÅx`É[	 @ x[	 ÐL
W 1A   L H    xKfD  K{8t=	 ~L
N H   1L HO    5K`UHAWAVAUE1ATE1SHHdH%(   HE1HE    HE    fffdH%    \xDLLH}ۍHEdH+%(     He؉[A\A]A^A_]    1H=   ez0t6='	 ~-L
 Lw 1  HW    OJ    HuH=    LmH5 L{IHt5=	 (  E1   fffdH%    \f     H5d LA{H   =q	    ~H    HW H&  1   PL
7 L 1IXLmZvfD  =	 ~(L
 1  L` HV    ?IHE    Lu1HLH=c A Å  H]L% L- I@ LL]zH  Lx	H9tx
uLL{IA  <:uA Mgt>LL{H5 IL{IM,$Et轂H BDh tILH5 xLHxHIH  PA<$0u  HuLE    "  DEHE    ER  H/proc/seH H\$HClf/ HCcommC LHLmq  Mq  H    LH{  L袊=;	   Lm   w    1H= 5w0	   L
 L= 1  H~T    GH߻=	 zE1H]H= H4   P(  =y	 L
2   L Y  ؉Áۅ۸LmIH}藉D  L
a   1Ly HS    XFY LuH5 LE1ڃH#p	 uZ  f.     II  J<HtL衃u݃=	 D   Lm@ H E1   H)S D  A|$ z    Ӝ  HH=H 3P  = 	 L
 Ll   HR    1BEH=l 诅0  1H=v 虅  t0  =	 HF    HER 9Lm   f{ÅtŃ=n	   1HR   Lm   H=H >IH  8 =	 F  Lm1Q=	 ~4HLK 1S   L
|   HQ DLm_AXL=	 L
	 1  L H;Q    CMcHs HQ JH       1H\$L
q HH
Ϧ HxHwO t
=	 x  yLmÅifffdH%    XIŅ      OQ ƅxB    H= A  r0   ޅ   =	 H"P 1L
:   L    HUB=I	 HUH 1H    HO HHO    /r0t
=	    fffdH%    1ɉX=Ё	 LmHnO {1H= |xAǅX   L
 1  L H)O    A[v|1H= (yyq01H=  gLL
t Le 1   H    MA
H
9 
   H5} H== iw4H HcHHdN YAWAVAUATUSHH=? HXdH%(   HD$H1Ht>H膂H  HE1HD$HdH+%(     HXD[]A\A]A^A_Ð[?HD$HdH+%(     HXH1H[H= ]A\A]A^A_8 D  Ht$@H|$8HD$8    HD$@    WK Hl$8Aǅ  Hl$8Ht$@HHT5Ht8 u  HH9uH  u I@t.IL%     ILrAu HMD@uA HrH<   B|HD$ IH  }    IHLEAZ  HL$$HD$(IHD$4HD$H<$LDT$D$4    	DT$xQ  LcM9  Ht$H<$DT$L\$frDT$xD$4L\$   	   D- 1L fD  fE,A1ɉ׃@AA;fALHI9uMO4A<$  EufAIAFA Lt$ LqLHpC~HIDHIqLHp%~HIDE1H     HL AFIIfAFe@  L$M)Ht$LD$4    "q   DT$4$   L) f     I9sJ/HI4D;r;D9Vr%Ll$(LLLM?yI    Lhf.     HH
    H5_H H= H
    H5@H H=j H
    H5!H H=b Lt$ `wA
Af     ATH5 UHSH dH%(   HD$1D$    D$    D$    awHH  @lHL$HHT$     I1LD$H5 '~tb{	 t7A   H HD$dH+%(     H D[]A\ËD$D$tf   A   D  H~tdA$ޅN=[{	    ށAAEvAk |$u   E1P     =	{	 vHL
P F  UL af     HJ  L
 J  @UL HkH    1 ;_AXA^D  HL
% S  UL H0H 1   1:XZ@ HL
F L D  UHG HN  1   UL
 LX 1HG j:Y^>j=z	 IA$AA܃'tAQL L
 <  U0HuG    1
:AZA[@ HH= uHtHr1~HfD  1H5 H= 苶IHff.     AWL= AVLAUL-b	 ATUSHXdH%(   HD$H1Ld$(HD$(    LŅ  H|$(  N|H5 H= tIH  L5
      L1Ҿ   LHD$(    eÅK  H\$(p  H/     LHlusH{   H5 l6  =Ox	   HL5E {LrfffdH%    =x	 ǀP   6     E  D  HX{3 H\$(L5a	 1HIHtbI6HgrHt=w	 U  IH`	 HIBlz   z  l   1HzI}IH;=Pw	 ~L5D    11L
? L  L   s7또Hxz=w	 s  LC1H=\ w  =v	 ,  Ll$L5 HD$    LL`Å    H|$z   @ kt%   Hn    H=D 
D  1LHLHD$(    /   H\$(H	  H5 HfH5G H gHt@v  <-n  H|$(HyfffdH%    =u	 ǀP     D  HD$HdH+%(   
  HX[]A\A]A^A_ L5@C   11L
 L2 L   5]     Au L5C 11SLL
&    L
    5H\$8A]A^mf=u	   1t     E11u    LH=g HD$(    hŃm  H\$(  =t	   HH5 rH߅s  w=}t	   fffdH%    ǀP      fD  H|$(wL|wL5A 1  1L
  L L   \4HdwL<fffdH%    =s	 ǀP   H    D  HLL
` 1PL )  1   3XZ=s	 L53A 1  L
 Lu L   3H|$(vfffdH%    =Cs	 ǀP   sH _L5@ g  11L
p L L   L315r	      L
 ^   11L; L   2x5H|$1LH5  HD$(    lz  =vr	   LH= Ã.  H|$!  H|$ Lt$ L- L= -    H\$(  LHp  Hbu1LLLHD$(    iyH|$(D$7uH|$-ul$@ L5h? L5\? j  11L
5 L> L   1=}q	   H|$(1txD$<       @L$4E1T$8\$0H\$0H
 1HH0H93t+HHHu=q	   EuA   HpH9suH\  tх  fffdH%    =p	 ݉P1L5b> HcH H       fffdH%    =xp	 PHcHb L5
> HfH|$(s=?p	 v  E1@ =!p	   H|$qsfffdH%    =o	 ǀP        $ E1D$<       @\$0H\$0L$4T$8nHL5U= 11H\$8L
 S   LSL    /AYAZ0A   L5	=   11L
 LK L   /HrdH
    H5l H=im HL5< 11Sx  L
 LLO    %/Y^H\$(&A   L5k< 11   L
 L L   .=n	 RL
   11L L   .an	 E(fffdH%    ǀP   H    `q\=n	   HgqH|$]qfffdH%    =m	 ǀP   L5; H4    t$L
 11AVE     L5O; L) L-A[[=m	   HpH|$p15`m	 t   xC   fffdH%    1=3m	 ǀP    cHs 1L5: FA   )HT$(HӁ   =l	 ~LHH

 H    HDH1@  L
 LI P1RAVL5[: L,H H|$oH#L50: ^   11L
) L L   ,H
 
   H5
i H=j bHL59 11SL    LL
 Z   Y,_AXL59 X  11L
 Ls L   &,H.oH|$$oL5g9 L
 ]  1L3 L   +HnH|$nL5'9 1K  1L
  L L   +H|$nfffdH%    =7k	 ǀP   9O-fE$	 HcHfffdH%    =j	 PH L5v8 HZD(At D1E3=j	 1xL5#8   11L
$ L L   *ff.      AWAVIAUATUSHxdH%(   HD$h   IAHt> 2  b  L%!9     D$LE<$A   d   LD$H{      HHDJ`HH0  HeHHHiHHM   HHLL\H  YI 	tg"i  LT$M  11LLY\LT$HH8     H9  HblA41    Mu	Ej  H-l|$4HD$hdH+%(   L  Hx[]A\A]A^A_    E  $f)D$ D$*  D$H|$    1      H|$L K^H|$HHLY E   D$f)D$@D$JE<  H\$@LV    1Hߺ      ]H11LYLT$H    1  * L$?aL$   D$A   E1    <$HHLbfHA   j[D  <$11LbLT$H@ D$T H
A "   H5ٵ H= 	f     $(W<$ |$؉fD  A؉@ H
 x   H5 H=O 豸LD$D  I(1f.     D$fD  oaff.     @ AWIAVAUATUSHHHX  dH%(   H$H  1H\$(H$   Hr L\$@L$@  $ZHD$0\$ZHT$8\$Z\$Z\$Z\$Z\$Z\$H D      L1H AAHHu~D$xHD$0I@D  ~PHfofofofrfrffrfofrfrffoffrfoffrfofr
ffofrfr
fff~@f~Pfff@I9aT$l$LT$ 1Dd$L$Dl$DD$DL$4$D  DEAADƉAAAE!D1AAD1EDHDAAA!E1EDAE!ЉA
D1AA
D1EE1A!E1F4(EDЉH@m$LT$ t$DL$DD$Dt$L$Dd$l$Hl$(1HT$8$D$BD$BD$BD$BD$BD$BD$BH$H  dH+%(   uHX  []A\A]A^A_^@ AWAVAUATUHSHHh  dH%(   H$X  1HD$H    fffdH%       HHJHT$@H1HD$PHD$XaD$`[fo    D$d)D$ fo )D$0do d$hHd  HD ILt$`E1HD$HD$ AH$   H$. $   L9   LHw HD$HH 
  L   HHHH<$@   fo
 fo Ll$L$   )$   )$   I)$   fAoINHT0HJHPH?\H$   H@   HD$H|$HD$H|$H$      HPHT$bHT$$   L9 L$0  fHL)$0  )$@  v HLL3YH$X  dH+%(   uHh  []A\A]A^A_I\f     ATUSH   =a	  HHt4=a	 HH҃jSH~}H9t`HH)À=a	  u͐  H= 1
bAąx1HH'H   H9tHH[D]A\fA[D]A\fD  tPH&t~!]u/a	  if     tR=a	  E`	  /f     _y ATUSHtqIH   HSLHSHt3H9r>H)LHH]    HEH[]A\f.     HH[]A\D  1H[]A\H
_ )   H5;\ H=] UH
@ *   H5\ H=5 U     AUATIUSH   Ht$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1f1HD$    )$MtI<$HtVRHH$   Hl$ I$   D$0   HD$Hl$f.     $/w`H$H:HtcHt߀? tQHIsE1f     HD$dH+%(   v  H   L[]A\A] HT$H:HBHD$HuIuH3  MI?Et@      D)HM   I<$^IHlI$H   AE     H$   $   LL% HD$HD$ D$0   HD$$/w_уHL$$H)HHtE t@u</t/HHH&WLHH$H@ƃ/vHL$HAHD$f     A|/@@HYIH{       WATUSH dH%(   HD$1H   ?/HHtdHD$    H|$  x]Ld$H11HLLH_HtiH] 1HT$dH+%(   uZH []A\ ^HfD  H|$D$R_D$@ H
 O   H5/9 H=E ɭVff.     fUSHdH%(   HD$1HtE? Ht=H<$H@ H$HH)H  8 t811Hby     1HT$dH+%(   uuH[]    .tHH5 HHuH5 HLHuH5 HLHf     { t.u{/{U@ UHAUIATSHHdH%(   HE1INHPH  @    H"s/  LHH)H/proc/syLd$IfAL$I|$
I$nSLv  L   =/Z	 -  HL HUdH+%(   udHe[A\A]] SH ;   1ATL
    1L" %XZ뤐H
! 5   H5 H=? 豫TD  UHAVAUATSHdH%(   HE1H   IHMHPH  @    H"LHH)H/proc/syLd$II$s/  I|$
fAD$CRLK  Lc   L1HH Aąx?HHt73I@t(L-m fD  HLL3HLD@uA HEdH+%(   uYHeD[A\A]A^]fH
 g   H5w H=c qH
 i   H5W H=> QATS@ AWAVAUIATIUSHHdH%(   HD$81HD$    H   HT$H51 I  L|$Aƅ  M  ?   Y   LWPÅ    pYH5 QHH     HVIm E1M<$E1߹LZ1蠻HD$8dH+%(     HHD[]A\A]A^A_f.     Hc L=I 1HD$(    fHnfInLt$H@ flHD$ )D$ LXYHHt08/u!H#¸tH  xu/DM~IMuHʥ H  Aƅt=xAHH11H 1HD$IHAADE@ fD  [F  Ią~;WE4$L|$AfH
 D   H53 H=E H
Ҽ 1   H5 H= vWPE AAޅLIL|$     USH   dH%(   H$   1?.tKHʤ HHHH
 fHnHHD$    fHnH flHD$)$Ht,   H$   dH+%(     HĨ   []fD  H5 HHu.   HOHH;  HF H8 HHfHnfHnH7 HǄ$       flH fHn)$fHnH H
 flfHnH
 )D$fHnH H
 flfHnH )D$ fHnfHnH
 flH )D$0fHnfHnH flH )D$@fHnfHnH
 flH )D$PfHnfHnH flH$   )D$`fHnfl)D$pmHsf1jN@ AUATUH-/ SH1HHt7HH  @ue  f     uH@  @Etu  f     KHp  XEt@~  ~  UKH}Hs'    -  -   ^  ^   .  .   BDA<	   A	  HE1AwEH߃A<vII)HA(  fD  CH߃A<vII)M9LIN)F  u7M9  ,u @1?     ~uE    H[]A\A]     U 1ɸ818@~:  U HH@ HE1H    CH0<	v1H9D9   r0uD  H?0t0ufH>0tHHH)H)H9   4E   @ -   WNHH^^umWNHH..uOWNHHBDA<	 Hf     EH0<	vA	w3E1H9AH[]A\A]1H fD  H9WH0E1@~4JfAWH=˾ AVAUATIUHSH8dH%(   HD$(1D$    HD$    RHH   1LD$HL$MLDHHD11Ll$x7Mt$Dt$  DD贱xA$1HtLm E1LRHD$(dH+%(      H8[]A\A]A^A_ÐHݽ H MHD$     fHnfHnLl$LDflLt$HLD)D$L|$H@ IIH1ML   1ÃtIff.     AWAVAUATUSH8dH%(   HD$(1L|$pH    M  HLIIMmHd  Y  
$M  HHD$з  HT$$H  [  I<$ :  H׾=   H$@H$H  H9    HxH$H<$IהEm M$$HD$    D$    HHD$     H  M  HL$HH=4LAWLL$0LD$$HD$W_AXxxH$N  :Xq  =M	 ~TH
 H M/  VL
G E1   Q1ATPH RHPH2 P1h   H@1fD  HT$(dH+%(     H8[]A\A]A^A_D  H
    H5"G H=9 aH
    H5G H=& AH
    H5F H=k !HH$?H$H   |]$  =K	 HD$      H|$$4O$$@ =K	 HH PH8 Ph   L
PF E1Hھ   11H H
    H5F H= ]D  =QK	 H~A  @HHIľ   H L
E IE1PH| PH P1h   'LD$ H GN$7    HpHzH$;HD$IH
  0H$@u5k  D  H=AF H$=H$HuAwI@;  F<w΃=gJ	 {H RPH Ph   fD  L
D H1AJ  @   1PH 6    =	J	 SHH= PH Ph   CD  H RPH` Ph   HD$H
AWIEt$(H1AVL$,QLH fA> =I	 HH^ E1PH Hھ   PL
D 11h   sH L= L<M|A?    Ht$LFuI<$$\LHD$HD$    I$$Am A H
S    H5|C H= 軚H
4    H5]C H= 蜚z-D  H|$H5ݷ CHк Ht$I<$KI$    1AE     AfHH$;H$HTt <-uH|$HrH$FH$u렃=H	 ~H t$E1PHz Hھ   PL
B 11h   H XBL% LLH
5       H5IB (f.     AVAUATUSHdH%(   HD$1H$    HC  H: IV  H   HII谤H$   HK  H  HH߀HHk!Ņ   IL$hHt LC0s      HGŅ   IM LC@s   H߾   #ŅxmIUHtHKHs   HŅxMH 8  1H(  HC8H      CPI#$  H	C`IHtfD  HHD$dH+%(   uwH[]A\A]A^f     H
   H5} H= H
ɸ   H5} H=` їH
   H5h} H=O 豗@ff.     Uf   HAWAVH@LAUATIH SHH  HHdH%(   HE1Hǅ   LHǅ   HH Hǅ    )) )0H;  HxLHH   H=   H   HEE1HHH)Lt$IHH1HLx6IH?  DA   Hl  H  H     ;D  HvL MtA{  =C	   HHd L
 9  L H`  HHDHPH   @  fAHtct^=C	 ~UH  D   H L
 H`  L HHDHH P1Y^f     HEdH+%(     HeD[A\A]A^A_] HH	@HHI  IMfD  =B	 ~oHHL L
 '  L   @H`  ARHHDHm P   1Y^Aǅ  LEA5D  LAED  =QB	   LAE     [2D8IDAHǃt^tY=B	 ~PHDHs L
 L      H`  HHDHH P1E<$XZLAEif     =A	 #HH     L
q L $    @H`  HHDHH P1A\LA^Aǅx  D A[L   Ls5L9tps6L9t`HLH  H  DAt5HpHHt)1Ax A9rT9  HH9u L1LLt;LHv  H5 LL>>L  AF=  =)@	 HL
] L> H`  H
{ HHDHG  hPRH   @   1! H Aǅ:fLCs H
   H5h H= 葑bDT=r?	 !HL
 L H`  H
 PHHDѹ2  RsfD  HH L
 -  L? H`  HHDHP4=>	 HH
W ASL
 L H`  RHHD>  PH5 LLZ0LH,  LL+2LHL9  I)Lƅx LHH Hǅ      HHH  Lƅ  Hǅ`    1Hǅh    DXLPLpIHH1J(L)H8IH:  H5Am Hb. M  =   H0IH    H5ik HIV;  H5Tk H?;l  L`LH)MlHI9IHhLpDXLPHtH`HLBƅ
  I0     IH  H~  I   p  I   b  H5] :3  A  x   H1HH  HHH   B/  B    HLÅ  L_Å  I   E1LHHHILHxHHxHHH    HH9uHHtMtLm9uLHE1LH   H  G/  G   E1HHLHx%HL%V  HH   HxH1
u1=:	 H
  HL`  Mz
  L1E1Q   LĶ 1PH: k  P1j j RHA   H0L=AtALJ` D  H
I V   H5@ H= !AFH HI9   I)LƅxLH=9	 HHN L
̹ B  L H`  HHDHP=9	 PHH`  H  L
} WL \  PLh=W9	 HH`  Hf  L
 APX  LU P\=9	 HH`  H  L$ AQL  L
n ARRPH5 H=' Lx4LLxHH<        LxL(/LLxHHXH  L`Lh(HpHHHHxHHPHpǅ    H5؅ LHxǅ         HP1ǅ    H:    DtȉHDDL  HC   HHp7DLHH  HCHfAnfnfbHpHsfM.  AAuL] Hf0    x #  H
~ N   HH= ۈHLL}ƅLpH
[ ~  H50 H=U 蛈1H
   H5/ H= wLpHMt
=a6	   1H
 IH/   @QL   Hj    j P1r  H M=6	 "  HH`  H@  ATa  L
 L PH    1A^AXEA=5	   1H
 R  @MSL    H. Q  j j P1  H0ƅ=E5	 h  11H
 IH.   @QLհ   Hj    j P1T  H ƅx dA  W%AH= 9jeHLH0  H(  mH@  H8  LnM4$LA   7
E1=C4	 L  HL`  Mx  L1E1WL? i  PH`    P1j j RH 7  H0LA87nH
T   H5 H=n 贅LhL`HpLxLHXH;6H6LLxp=O3	 H~H  HgLhL`HLxL5LLx   Hp <؉3HH H`  H  LL
 L   LH[    ARP1HA[LLH  [H
      H5 AHXLxLNHHXHH  =H  LLxHW I@  H HLqI@  Ha`HLxLLLxLL!LL0     H5e| H= 9LLHm  LLoLL  1LLpI@  H  H
 HNH L91qI@  Ht#L== L?ƅLxI@  Hu1H HLHH`  HtOHL
     HLD?LhL`'LhL`H$ 1H HLJHH`  H   HL
6     HLD==M/	 f1E1H
 `MH( hL Hڿ   Q  j j P1X  H0Hq 9He rI@  L% HuLkI@  H`V1ڒLL,1xLL角xLLeHH  1LLgLLL7I@  H9 AWAVAUATUSH8dH%(   HD$(1HD$    H  IH|$Hl$Å|  HD$     H  H= /HHtvH&ÅxPM H|$ 0M HUÅx7I,$1HD$(dH+%(     H8[]A\A]A^A_fH|$ f0Hn@ H=y \/IH`  H H|@   HHD)IHf  AtQIf     IǍC<	v&؃߃A<vH= H   fIGIAAu  H|$ 1LH    (   Ht$ LHt$/Ht$ H	f.     H
Y T  H5 H=(     H=7 1@IG7,%   fAO6fH
ɦ 5  H5x H= }E1=v+	 /L.H|$ .Hf     1>  L
* {  @L6 H
    eÅI&fATUSHdH%(   HD$1H$    H   IHH,$Å~   H   H=\ -HHHHѭ HDPÅxOEHH    %
 ERÅx&I,$1HD$dH+%(   ujH[]A\HtH֐H
	   H5 H=& <f.     H
   H5 H=) {$ff.     AWAVAUATUSHHA  HH]  Aօr  IHID   HpI# HHf  HxHIT$6!D3I} HWHt"IE1H,HD[]A\A]A^A_f8   &&HH  fHHL@H5	  fo׵ H@0    @ fEE AąxfHnE1AE I/E rfD  HEH} HtHtHH3H} +H+1D  H
 )   H5 H=$ Yzf     H
٢ *   H5{ H=	 1zH
 +   H5[ H= zAAff.     AUATUSH   Ht$8HT$@HL$HLD$PLL$Xt:)D$`)L$p)$   )$   )$   )$   )$   )$   dH%(   HD$(1HT$Ht$1H$  D$   HD$HD$0D$0   HD$ HD$    D$SÅxmDl$H57 Di!Ld$HHtfrHT$LHLH*H HD$(dH+%(   uJH   []A\A]Ë|$E11"H|$*DL)
E1!E1f.     AT0   E1UHSH  dH%(   H$  1HT$HH    fDGH  |$Q tj|$Q(nontPE1H\$QH(H  HE 1LI)H$  dH+%(     HĠ  []A\@ |$Tne) ufD  H= (HHt1Hu  =%	    11HT$1HD$    H5w mxiLd$Mtm1LLBu2=3%	 ~OHH 11AT"      L
ߨ LX SLd$XZf.     =$	 Ld$H= &LH+(H   If.     H   1   SL
 L 1Ht Y^@ H&H L
 1   L H6    T H
 /   H5 H= vE1
ff.     fUHAWAVAUIATSH   HH8L@LHt))P)`)p)])e)m)u)}dH%(   H1H HE1H   HMǅ    ǅ0   H@ ЃHH8 t/vHHH8 u   LcJ    HH=  @ w  H1E1HBHH)H|$HHII    AID9t}H1LL}yEt.HMcJfI<$I%I9܋uHdH+%(      He؉[A\A]A^A_]f     HE   LH HHHuǅ    ǅ0   IH'    ЃHH Ht$I$IHM9t8/vHHH HuH
՛ &  H5/S H= sD  D H
   H5S H= aslff.     UH5 HSHHdH%(   HE1E    "H   H)HH HH@H=  @ wTHBHH)H|$H HtHHHu[#xEx7HUdH+%(   u6H] H
    H5Ȑ H= r¸fD  UH5 HAUATSHHdH%(   HE1E    >Hu  Iž.   HII)LH   HPI9F  HDaA	4  H)HEHHH@H=  @    HBHH)H|$H HtHzHHu."x/Uԅ   D)HH#9   ADHUdH+%(      He[A\A]]D  LHHH@H=  @ wNHBE1HH)H|$H HX^D  H
٘ (   H5  H=" pH
 +   H5  H= pKfD  ;UH5@ HAUATISHdH%(   HE1E    nH  Iž.   LHM)LLHH   H@H9   HFH9v  F0<	g  L)LHH@H=  @    HBHH)H|$H HtLHHuP x*Eԅ  )HiQH%9   kdHUdH+%(      He[A\A]]@ F0<	   NQЀ	   ҍB1LLHH@H=  @ wVHB1HH)H|$H H/5fD  H
 T   H5 H= nf     H
i W   H5 H= nfD  UHAWAVAUATASH(dH%(   HE1H
  H  	 E  MIIŀ  IEHH)Lt$I}LL_H      I9   II9sM#f     IWt&AGII9sEuA.u
AGt@<.t51ۋ}~HEdH+%(      He؉[A\A]A^A_]    A uAGII9rB      	 H= 1Ee    H
 l   H5f H=Z 	m   T
f.     AWAVAUATUSH8t$T$dH%(   HD$(1HD$    H     IHD$HH  Ld$ 1HHD$     L_~\E11Ll$    L   H8~<H|$ LDt$x*|$uHt$ Hx   1D  t
?
(݅xt$"\$u>ur1H|$HtQHD$(dH+%(   h  H8[]A\A]A^A_@ u6H|$xHT$   Ly	(D  1H|$Ll$HD$    HD$     L_Ņ`u7H|$LQxH|$   n
xH|$Ht${	xH|$LrH|$    ŅYH|$    BtMtID  (f.     H
 <   H5 H='b jH|$    pU   HAWAVIAUL0ATILSH  HdH%(   HE1ǅ    HLHPH  @   H2foߤ LHH)H\$H)foѤ H{C
=	 Hǅ    l    H1Aǅ   Lh@  H`H  E1HH= @ i  LIL'fD  :  A"  A  A   LDHU  1=	 0I~HY      1SL
 L H AZA6A[|@ =	 0$  IAAAE1Ex	E1ALDxHEdH+%(     HeD[A\A]A^A_]f.     k=4	 0~HL
̆ F   SLH     P  vH
I 1   H56 H=" gE1=	 AKHH   L
 =  @SLݎ H    1AXAYAąfD  HL
 C   SL H    1[A]Af.     HL
 11SLY =   Hf    c   wHA_XNf.     E1=	 A[HJ   L
   @SL H LL   H  H`HzH|IHL  HHDHIH  H`HI9  =3	 fCD   CD rHM.E1E1LE1A~E1AqE1=	 A[Hp   L
:   @SL H    L`vLHHHP  H9]=y	 P1H   HHH)Hֺ     H    L
* PLZ 1   AT1jXLZE1=	 AwHt   L
v   @jL    H SP1H Aą,0=	 0LIAAAEAH
    H5 H=8 Xdc
Q   L
 1SLl    Hy {^_AAf     AV   AUATUSH0  dH%(   H$(  1ILH$L         LnHI1HF  .  D$  <$L  LkHھF  D$1   H\$  <$L  $  JHH
  E1Hǹ   fo$LLJ0Ht$0DHfoL$foT$ B        JR      tL$0J0H,  It0   L  t	,  CL L(  It sy  t	(  I$1
@   H$(  dH+%(     H0  []A\A]A^     H|I|	HLHJ H|I|	HLHfD  H>H,  LL>LL9H4  HH)H)H@ H
ш   H5> H=G af     'fD  (  DAD	     >,  ǋt>t9f     L$0J0tAt	`D
f.     UHAWAVAUATSH(dH%(   HE1H   IHILxHI  @    H@'HUHH)Ld$IL%Ix%HUI|$HpLLLEIE 1HUdH+%(   u\He[A\A]A^A_]fD  H
A f   H5 H= I`f     H
 l   H5Է H=b !`,	ff.     AWI   AVAUATUSH  H|$ H\$`Ht$(HdH%(   H$   1D$D    HD$H    HD$P    D$C HMV  H|$ H5b HIH  H   E1   HLHHD$XD$ E1HD$HD$CHD$0HD$DHD$8HL$1Ҿ   LHD$X    x  H\$Xv  G  AH  H5< HY 4@t@H=B  Ht/H'Hމ  H|$ H, ;|$ Iu;M  D$ ID  HT$PH*  HHT$ LI
 HT$II   L  111LH|$PTH  LL$PAt|L1    \H!utVH|$P A L
HD$PHH
y      IH5j A  D  HT$HHDt$0LD$@HL$HH|$0HT$`AYAZ  HHHD$P    
D  M{{D$LcfD  %    9=	 0  IAAA1E1ExAfD  LoL HH$   dH+%(     H  D[]A\A]A^A_H|$X
L|$PMt8HL$DHT$HHAt$0H|$0DMLD$SݻY^AąO  foD$`foL$pA   fo$   H\$Hfo$   E fo$   fo$   Mfo$   fo$   U fo$   ]0e@mPu`}p   =		 L|$PAL  H
H\$H=		 L|$PA~AUH2 R  1t$(   L
hz L
 XZH
 &  H5 H=
 2[w  L
 Lρ    H    ASL|$PP=	 I   A5HA     1t$(L
y Ll Hj  Y^A=	 IAAUL: ƿ   t$(L
8   1H _AXAUL
 X  t$(L H 1   A]X~AUL
 q  1t$(L H 1   IA[]=	 H\$HAUH ƹ  t$(L
 Lm 1   XZ0HË	 t-1E1AR$   1H1E1E1   APL
 /  1t$(L H 3AYAZu뮿   ff.      ATIUHStmH= a	HHti8/uTH,tHHHH11肧HHt31L   H  H	[]A\    1۽ڽf     AWAVAUATUH1SHHHt$    dH%(   HD$81~H$  IE1Hl$(D$HD$0HD$HL$HT$ H= HD$0    Ht$(IÅy  Hl$0H5 HIH  H!	D$HD$0    Mz  HT$H5F L     I1Ńt/L   AE ۅEAHpD  H\$0Ht9\$   HcLD$H(H9c|$	   xeEDDHLkD$ 2EAHLi11LHD$8dH+%(      HH[]A\A]A^A_@ ExAE ڃDEfLh|$ fD     H|$0ExE1pDE1ef.     HD$0    fH
| G   H5 H=J V62HX/    AWAVA1AUIATUSH  HL$HHdH%(   H$x  1HD$8HD$0    HD$8    H    L|$8Ld$PLMP  H}  	  1   LLHH}   D$h%   =   ,  =      Hu H|$0LH|$kÅ  Eh  HD$H    H} HD$@    H  LD$HLLD$H|$HLD$  =   P  111LH cJH   HD$HHT$@LHHD$(Å  LD$@H$   HD$M  I8 9  H|$1   Ht$LD$ HI8LD$ C  >LD$ T  H|$(RHD$@HD$H    HD$Ht@HD$H8Ht)HD$     HD$HD$HxHHuH|$x$fD  H    tI?LHt    H}HHuLH|$0Ht	11CH$x  dH+%(     HĈ  []A\A]A^A_     H$    \@ L|$8Mte    I0HT$LD$ H|$LD$ IVH|$(HD$@HD$H    HD$H	HD$H8HHD  HD$0HT$1HD$0    HH
tx u  H5 H==q RHD$0HT$1HH|$(^HD$@HD$H    HD$HRHD$1H8HH'2fH|$(HD$@HD$H    HD$H
H81HH|$H1HD$HHD$@HD$HtcH8HtSH|$HHD$@1HT$HHD$HtH8HtY1HyHgff.     fUHSHH   HL$HLD$PLL$Xt:)D$`)L$p)$   )$   )$   )$   )$   )$   dH%(   HD$(1fHL$HD$    HD$     )D$HtH$   H|$   D$   HD$H+ HD$0D$0   HD$ R x^HT$HHtH|$bHD$(dH+%(   u9H   []fD  H
u 7   H5( H={ O@ AVAUATUSHdH%(   HD$1H$    H   IIHH]VL4$ÅxcLLPÅxRLLgQÅxA1H5ȱLSÅx*Lu 1@ HD$dH+%(   uoH[]A\A]A^ÐMtAt4AuLdTfH
t    H5 H== NH
   H5x H=} Nff.     AWAVAUATUSH8HD$pL|$xLD$LL$D$   HD$dH%(   HD$(1HD$     H  IHT$ IH  H\$   I$H   Eu5HzHT$>HT$  B,  I$Hv  B(v{H
,s 
  H5S H= Ԭ= a  I$L
 L0s ƹ+   HR HIDHRHE    1覻^_      HBH  D8  HT$A9A  HT$B(P  HQr 9>  I<$Hjlƅ  I,$H  E(  H5` H
q 
  H= ի=   I$L
 :   L,r H@ HIDHPHH    1詺ZYD  =I    %؅xHT$(dH+%(     H8[]A\A]A^A_fD  HHىLt$LL$(L   LD$ ]AXAY  I<$1dB  I<$LV`Åx=   ށQ L
 1k   LAq HM    谹! H
p 
  H5 H= i    H
p 	  H5 H=Z 9= I$"   L
 Lp H~ H@ HIDHP]    = uI$.     @L
Y L:p    H@ HIDHUP1RHM~ 赸H "@ H
Ap g   H5(~ H=l 9Jf     1f     = c  I$L
( 6   Lo H@ HIDHP{    H
Io 
  H5p H=Y     H}`    j:Ä  1HV@ƅHL$ HHHEH   \?I$H  HL$HHI<$Hg[=) I$L
~ B   Ln HR HIDHR@ H| f.     = HL
~ F   AWLjn      ff     H
    H50 H=_j H=y 0I$L
h~ M   Ln HR HIDHROH5 H
Ym 
  H= X~H5 H
0m 
  H=L /UHL
*~ R   AWLm kH5s H
l 
  H=xW H
l w  H5> H= 迦DHlff.     HHtgG, uOHWH    G,Gtu   G   uHI   H 1Hf     H
k   H5 H=E H    H
k   H5` H= FH
ik   H5@ H= FH
   H5  H=M qFO    AWAVAUATUSHH4$H5  HIMHh  o  `    D8  A9    u   Q'Aǅ    L   M  HcLHD$L|$LBLLv     1HCIH  H,H=d     ǀ     L   L`HH      Aǆ   1Ҿ   H7Aǅ  d  H   Ht$LsAǅ   H$A  E1  L0HD[]A\A]A^A_fD  fffdH%    HH|H
Ei   H5< AH=
 跣D  1҉  1A   1  A$  A~(A  Av,L@@5AǅLuQ0H
h   H5 H=e !AfD  11rIH   H       H
Qh   H5H H= ɢ    H
)h   H5  AH=j 蛢fD  H
g   H5 AH=֋ kVfD  [ HЃ&~7]AAfD  AD  
 AU   IHF  ATUSHdH%(   HD$1HH$    gD   H$H   H;    1fD  IHH< u1Ht#HlH} Ht? uxHE     DI] HD$dH+%(   u`H[]A\A]    L$$MtI<$LHtf     ;H{HHuL&@ @ 1ff.     @ AWAVAUATUSHH(dH%(   HD$1HD$    HD$    Ht[?    Ll$AILnŅxqH|$A   HL$DHR:ŅxTL|$tUM<$1    H`H|$VHD$dH+%(      H([]A\A]A^A_Ð1@ H\$빐H|$LHD$    e  tPx<H|$HLDL9w    HLD19YLNfD  I$    L8Kff.     HHtg          HHHH H   f9p(   HH1H   HGHHH
 H H
9d   H5ا H= ^ ўH    H
	d   H5 H=R 衞f.     H
c   H5x H= A?nfD  AWAVAUATUSH  dH%(   H$   1H3  D   HIHnA9E  M  D   PA9  A    D   -A94  I~ A   c  Hl$fD  Dc\L{hAD$AADŉC\Mt#DLH-;HLou IFLD$p   Hl$LD`1IvH   A  fD$pH  {1A   xH    IFHJ  @D   D$GA9     tNH¿H9HGH@x}HD$C8tBHs0DL$A1HL'M'  IT$H  D;J  HHI9ufH{P D$D    )D$`  Lt$`{1ҹ   L  HcH{P   fH
  H{PH^  kH{PHI,{1HT$DHCPLHD$`Ld$h\  LcM9<  I  LcPA$	  I9  AD$  D[HEt9HK@1LM
  IrH	  ~A9|$
  HA9uD$+E1      H
y`    H5 H=:[ 1H$   dH+%(   v	  H  []A\A]A^A_ H
9`   H5X H= f.     H
	`   H5( H=Z 豚{@ PHt)H    k8ID$H  PfuY@y\LD$0 D$+    H
_   H5 H=h* 1K@ # fF  H
  Le    f     H
_    H5H H=Y љ    H
^    H5 q H= q:H
i^   H5$ H=Y Q:H
^    H5p H=X 1:H
)^   H5$ H=* :H
)^    H5`z H=
 9H
] 3  H5y H=Y    H
] A  H5ۡ H= Ԙ^HtHE     1J   6JHL$H9seID   I)HHLDA9  CL   LD$d   D$`u  D$fflD$+ E1E1E1ۃ=   MY|$+   E  CHA9  =    = LӸ  H߉D$	 D$D$+ E1E11Hl$0LLT$AD\$,Lt$8/H|$ A   tpD  E I)HIo  E c  I9Z  EY  HD$H    D|$DHD$P    EuC9EuEftft1HL$PH;  HD$PU HH9s:= ]L
n B  11LZ Hw    ͥ0Ht$HH  Lt$HHE  u IFH  E  A  A   HD$X    Et8H\$     LIHI| [ID     E9  sH\$ Aǆ      I~  thHD$HtI   Lt$of= YAVEL
Dm 1LY :     PHv 1¤A_X"IFH  pIVHL$XHI
  IFHS  fxF  HT$X0LHJHH)HTHL H\$Lt$HLD$ D$H1f.     LT$D\$,EHl$0Lt$8M  H
AX   H5 H=T 虔cH
X    H5u H=T E58>f.     HC@NC8=    = LӸgWL
Pl    LX h   H{ i  @   1ZY," LT$D\$,EHl$0Lt$8H\${11HT$DLHD$`HD$hfD\$L
vk 11LT$ [     Ht APLW AU|AYAZLT$ D\$7pH{@   LT$cLT$H  CHHS@HKHL_H    uPHHJ0H9HTA  H)LHHIDHypH{0   LT$ D\$LT$ H<  C8HS0|$+ HK8LCHD\$A9Hs@DH   PD)HH|HH4kH`L
|j VL,V    h   H
V 8  H5 H=׉ IFH\$Lt$HH\$MH
U s  H5 H= o2zH
CU    H5h H=d K2H
$U    H5h H=P ,2D$+ALӸy     AVAUAATIUS@     * L1Åy6(IƃtPA    LAE1Åx^D*  1AXDЅAIA[]A\A]A^    H5,  ^    A.f     AWL=x AVAUIATI  ( USHLH   $dH%(   H$   1,  Lt$ Ź   1HD$    LHHD$    H  H  `  ~  8  D$9D$  L[      1HT.IH  @,M   1HIF    HT$AF,$A   j  AŅ  Ht$HL$(LD$HHT$ H4$7l  H4$A  H|$G  HG I   HtL   Iǆ       Lw I   m  AŅ+  E1@"    AA? E1LLDMt
M4$f     H$   dH+%(     H   D[]A\A]A^A_@ KD(A H
Q !  H5 AH=P T?fHX0L0<9?t@ fffdH%    HHH
=Q "  H54 AH=w 词># L;>@ oH(  HG0HtHx8HG8    H(  P     H
P $  H5 AH=v +d>    H
P %  H5x AH=^v ,>gA>UAWAVAUATUHSHX|$H|$HT$dH%(   HD$H1HD$    HD$    HD$     HD$(    /4   H\$HH.  L|$Lt$ HD$0    HD$8Ll$0# Hl$ Ld$HHL0M8  H= LLLuǸLd$(HD$0    L5e HD$8H=q 1LL輇  Hl$(Hn  H  H   HLv  ~ƃH   fD  =A   %؉ŅH\$IHtr  uH1HD$HdH+%(   }  HX[]A\A]A^A_fD  2=   D  %؉ŅIf     = ~H# H  HL
bc 1UN      LM RHp AT觙H     =A L
J I   LM (  %؉Ņ H
aM _  H5 H=HI =    fH
)M `  H5 H=     L
Wb 1E   LM Ho    ȘAHcT$H5oH/x.|$Hh H5}t HHD1W,HD$H'=# L
6 LL Z   f.     Hio    1;@ HHEo 1UU      L
a L@L XZf.     H
   H5X H=]l )H-Eg H}ff.     fATUSHHtsHIHHH|yKMt   LHHta/   HTH   HHH[]A\     1H[]A\D  H
!K :   H5` H=t (LHH1lwIHt,HH	|1x!LD$D$    LBkf     S   11   Gx+1Ҁ9tʾ   1(x[fD  3[ډ # څ׺1   H
 H5n H=n  H
I    H5u H=?r 'USHH   H   H<   @   HHt'H)HH9HtrHE 1H[]    .   H#HuH
GI    H5n H=c '    H
!I    H5H H= &딸ff.     AVAUATUHSHHHdH%(   HD$1$H$Hi  H  z  x    H  H*HH  D\  A9  C  HuH$x    H      H   H5Aą  H4$H8  Aą  HHAą   L$$HN  X      OIH  HX       fAEIE    H  IE(HtLh0IE0    L  Im8I$  :lBtȉMu8ImHIEHH   LHwAą  H$HH  `IE@H  H4$HHtAąy
LD  H<$Ht2HD$dH+%(     HD[]A\A]A^fD  HXH=H
tF   H5s H=4 謃A@ H  HH    A   H= RHM  H   H
	F   H5 H=pB AA&fD  H
E   H5ؽ H=     RH҃8FH
E   H5 H=[ ҂H
yE   H5x AH=c 諂fD  L1HA{ H
1E   H50 AH=ݲ cNfD  IEH    .H   IUPLAąIE@    AAUATUSH   t:)D$`)L$p)$   )$   )$   )$   )$   )$   dH%(   HD$(1H$(  Ld$D$0   HD$HD$0D$0   HD$ HD$    H   HH   \  9   C  L} Ht$HL
A H
 L2Ll$Ņx'LH59 LBcŅx1LHMtLp/HD$(dH+%(      H   []A\A]@ H
C Q   H5 H=? 蔀fH
YC R   H5 H= lf.     H
)C S   H5 H= <W    FAWAVAUATUSH   dH%(   H$   1H  ~IH  \  '9  I$   @  I$   a  LH-Y A|$H  AD$H@ HcHfD  HD$@    fHD$(    )D$0AD$  H
uA @
  H5 H=2$ D  I$   11HD$     nwIHz  I$  H!  EHtkHEXHUHtHM`HH`HE`H	  HUXHPXH} feHEXHt,G/	  G t11@xH} t	H!A     D  D$(    H|$P1Ҿ   D$0   AD$D$T   D$P[AŅ+  Dl$VDExnA  A|$HL$(LD$0      =  D$(uo     A$  L迼LA@ EG  At)AEq14  H   D)H  AD$   L:D     .I;$  sLĤAŅyLAif     A|$  ^[AŅC= ~EI$  H6_ L  L
|= L(?    HHDH1HJ" P1׋Y^L=AŅLxL^yAfAf.     Htq  u
H蒲fH$   dH+%(     H   D[]A\A]A^A_@ A     H
>   H5 AH=j: {f     H
i>   H5 AH=5 {ffD  H
9>   H5X AH=C {6fD  H
	>   H5( AH=; [{fD  H
=   H5 H=; I$   HtCPt<H@L0Mt0   ,I;F|  D$@~H|$0H|$8L(AŅ
I$  H6AD$j  H
<   H5S H= \@ fH; LHD$@    )D$0fHnfHnHL$(flHT$PHD$(    HD$`    )D$PIw脁AŅ}  ID$`LHID$`Hl$(H  H蔻AŅ   I C  I$   IwMwIwIG    LA$d  I$  HI$  II$  IwHD$0HD$HI$  AfIǄ$      IǄ$      AA$  A   LHT$DH{PAH't$@H|$0JH|$8@ KE1f.     H
Q   H5 H=}\ Ht$ LJ LH
$	 H( 'Hl$ AŅ  HL&ID$`HLHID$`H  AŅ   I$  {	LI@I$  HLA$d  AŅ  HLnAŅ  AD$AT$  A|$   AD$= 
  M_
  I$  HI     A   :1I$  D  H(&#Huf     H38 fHnHL$(LfHnHT$PHD$`    fl)D$PIv~AŅ  ID$`LHID$`Hl$(H  H觸AŅ  I$   H  G~  HwL.M9i  IF    IvM~I$   .tIF    A$d  A|$D$    uHI9D$I$  LɃHI$  II$  IvHD$0HD$HI$  AfIǄ$      IǄ$      AA$  A~   L܃D$uHT$DH4MAHy$D$@~H|$0H|$8E    賴 Hl$(Hnaf     H|$(Ht$D$@H|$0H|$8H
7 F  H5 H=5 
A   IǄ$      MAw  AkL^VH{#D$@(eH;    HEXH     L XM$   IWMtLLHtHLIG    H
6 X
  H5 H=M #   L趔-1 D  L>     I|$8 tID$0H8H1LH{HrA$d  = I$  
  LUHM  L]@M  L(  Ms  H  Lu8lPtLE(HL$M>  H} H%  HuHK  HM0H2  HU8H.  DxH` At0H At#H AtAHaU L= IDAWARASAQL
 AVt$0APL4 W   V1Q{  RH P1H`A|$H  uB*  H}  1f1HL$(Ht$@)D$0B  H}0HtIt$hHt
!  I$   HuoIH   1HP   tAD$   Hi$  AÅr  II l  1A|$D$uHI9D$IGHHD$LI$  II$  IwHD$0HD$HI$  AA1I$  I$  I$  A +  H|$9|$ uHT$DLHAŃ|$@ ~H|$0nH|$8dH|$(f1D$@)D$0HtE   IǄ$      H4LA$AlH
2   H5l H= HF3   H=e S耺H
   H5 v H=-T Q1AI$  HAD$um   td u`H  xt0E1M$  HH
lR H5`R HI H52 H1DAŅHLbAŅHLAŅE1L|$PAD$  AD$uL  A}u
Lu M-  D$( H  x  I$   H  B/}  B   AD$tH}0 l  H}H  H}(   蜱H=   w  Hx׺IHD  HL$(IL=3 HAd$HU1IHL  HuL諶LLpe  AD$u|$( L   L-[ HM HL	&uH! LH%  E1HL\$0L\$P   HT$0s   HbHT$Ps   HbLD$PMw  HL$0H]  HH H5H H1BALE!  
L1I$  H  x}={    HMH. H1H5H IBAŅIH   LA   ~01I$  -H=O LO L
{O LoO eHcO LWO @L
H   11L. H    {{Hu(HtuHM HtcHUHtQHE8Ht?VL
G L. 1Q     RHB P1{H    <HN HN H
N H5N H|$   詌HE H
V LfHnfHn1flHD$`HL$(HT$P)D$PHuFsAÅxSLt$(H`  LI`  HX  LIX  Hh  Ih  H  I  7AÅEEM$   IWMtLLhHHtL1IG]H5: LAELm(M   MHt$PMHH
IE HjE 1  AHt$PE   L1@H|$PAŅxSHfE1HM$  S>E1M$  +H
 Lظ }HtHM(LE H1HQE H5D %?ArHtHE1M$  HH5+ LP  H5* LҶAǅfH|$p)D$p4AŅ  HT$P   HAŅ   H$   fod$pD   HL$   L )$   1HA1҉΃@AA0fGHHuHH|$PH5 1Ƅ$    \A;/   LH1L9 AD$,Iع   LHL<LLAH|$PHJHT$P   HoAE1HAM$  .)H
*   H5 H=4 J	H
c*   H5j H=J) +	H
D*   H5K H=#) 	ff.     AWAVAUATUSHH   HH   IH   H   LL$AH=Z M6IH   LL$HIDLH]yÅxM/1H[]A\A]A^A_ÐHٵ 1LobD  H
)    H5x H=% 9f     H
(    H5P H=pD H
(    H50 H= e    USHH   HT$@HL$HLD$PLL$Xt:)D$`)L$p)$   )$   )$   )$   )$   )$   dH%(   HD$(1H$   D$   HD$HD$0D$0   HD$ HD$    H   x     H  x  HCH&  \  9;  HC@Q  H  1@t)HD$(dH+%(   8  H   []f     HHT$   ~H\$Ņx
HHtH<f.     H
	'    H5д H=$ en    H
&    H5 H= Le>    H
&    H5p H= !e    H
&    H5H H=o ds@ H
Y&    H5  H=L d蘮     UHATISHdH%(   HE1u_H/proc/seH H\$HClf/ HCexe LH޿(tVHUdH+%(   uNHe[A\]f.     H AL
@ 1H\$      HH
i H莨땸ЭUHAWAVAUATSH8dH%(   HE1HW  IHk  HAAǅt  A   .  HHE    般Aƅ  L1HUDHp   HMHMH   A$Lu!@ @8uBHHt1@uHH5x HUHMDHU< urHMH5V HHM#HM< uQ=    H   1   ATL
[A LI 1Hdz qY^       HEHE11D|H   H}蚴AuH5~ L%QH|   HLat<HT1҅NAHEdH+%(     HeD[A\A]A^A_]D  DAEDAEH}	    LHHPH  @    HLHH)Ll$ILMu
   f<     HE    AH
H    H5y H=Z1 !H
iH    H5x H= AH
?H    H5x H= fAW   AVAUATE1UHSH1  foJ HT$8L$p  Ht$PLL$p  dH%(   H$x1  1HHJ    LHǄ$   H$  LH   HHǄ$  H)$p  $  H     D$h%   = @      H1rAŅxKH$p!     LH|$HHD蘰  $!  %   = @  teAD  軞D ADH$x1  dH+%(     HĈ1  D[]A\A]A^A_Ð{AD AD  H$x!     uH$      LHHD<D  >h#H9$   TH|$8 uHt$8DLAąLH$x    H|1L PC  ΝD IA'  HD$8Dl$LL$fHnHD$0flLt$(I$  L  1L ЉǄ$     u  $    E1L$  L|$ EM!fD  AEAMl D;$  8  IEH$x  AE$  IEH$  A}   uI9uAu0I}2腝HH  H|$E1   fInLAE  HH$p!  )$p!  HD$H1薪&  <$ ,  $!     |$H$!    1讥ǅ  IUH$5<$AjE  HI$L$E!f     AC     D AE'H
IC *  H5f{ H=H H
)C +  H5F{ H=z8 aHt$84  E1@ AA    IU|$HPAH$      LHD$@    HD$H    HH|$Ǭ   $   %   = @     Dl$HAH(H$  L|$ HttHH$  (Lt$(LL$1߾ PDl$LL$襨}Ht$01  HD$ Aĉ$AEDl$Hl$  =     H$x  HyHǄ$      HH$x  Ǆ$      yH$       |$1HT$@_HD$@HHHT$HN|$1HT$H@轧1LL$Dl$HAAA܅H
@ 1   H5B AH=B bZsD  LL$Dl$HE!AVLL$Dl$E!AvHǄ$      $  Dl$HA     UMHAWMAVAUIՉATSHXL]LE(dH%(   HE1LM0Hց;=x ~&HUdH+%(   w  He[A\A]A^A_]LMAALEL]LUU`L]ULUHEMLELMM   LLMLEL]襛L]LUH  LELMH  @    H  LLMHLEH)LUHD$L]HHHE謡:   L]LULELMf0Hx@ H      L]LUuL]DLMDASLM  ]ZYHufD  H  HD$HHEHH
p< 3  H5 H=)  ATUHSHH   LD$pLL$xt@)$   )$   )$   )$   )$   )$   )$   )$   dH%(   HD$H1Ld$fHL$0H$   H1 L)D$HD$8H51 HD$PHD$     D$0    D$40   HD$@LHH(T$ ~H|$D$TH|$JD$HT$HdH+%(   uH   []A\ՠD  UHAWAVAUATSH8HuHUHMdH%(   HE1  Ms  H   1I/proc/seH|$HGlf/ L?Gns/mGmnt 舦Ån  H   1H|$HGlf/ L?Gns/pGpid MAą  H   Hns/user H|$HL?Glf/ HG1Aǅf  H/proc/seH H|$HGlf/ HGrootG 1 	 Υ  HUHME1D"AH]D;AADDHEdH+%(     HeD[A\A]A^A_]D  H0AL
>1 1H\$H
    AH   H蛙H߾  1Å   H0L
0 E1Ld$      IH
+ LPL  1Aą   H0L
K E1H|$      HH
 IL  1uAǅ   H L
E E1H|$      HH
 H}跘H}TfD  AD(AwfAAD(AY@ H
= (   H5/ H=r 軒D(A%諒 FAfD  苒 uZf.     USHdH%(   HD$1H$    HtMHI      HxH  H$:l tȉE 1HT$dH+%(   u'H[]ÐH
<   H5h H= 輜ff.     AVAUATUSHdH%(   HD$1H$    H   IIԹ      MHHexNH$D0I   |   INM   HH5xH$LHbFtNMtI$1HT$dH+%(   u:H[]A\A]A^fD  H
;   H5x H=  ě@ AVAUATUSH dH%(   HD$1HD$    H   Hx    H  8l"  ; IIվa   HT$fD$aNŅxu9I$    IE     HD$dH+%(     H []A\A]A^fD  H8H  H@0:l tAM   HD$   HwŅ   HD$   I$Mu f     H
): d  H58 H= PN    H
9 e  H5 H=-I |P    H
9 i  H5 H=k, LP    LD$L   HH  Ņx  tvH`      HH@H9     H  HHxII|$8H`  HtHH`  HPPBH
8 K  H5 H=-H LH
8 L  H5 H=MG -H
8 P  H5 H=x+ f     H   HL$8LD$@LL$Ht7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1H$   HHղ HD$H5 HD$ $   D$0   HD$#yHT$dH+%(   u.H       H
Y7   H5 H= !,ff.     HHE1ɋt/A   HHH
HT HDA Dff.      H6w&HH7HLHDD 1 f.     USHH   Hx     H`  HX  Ht7H   HHlH}蓟H}8芟H`  HuNHX  rHHǃX      ǃ      Hǃ      *HP1Ht1: H[]HH`  fH
	 _   H5X H= H
5   H58 H= LH[]D  H
i5   H5 H=2E Lp    AWAVAUATUSH(dH%(   HD$1HD$    H  HH  Ix     Ht$蚞   H{8    It$XH9   HHt$          It$XHD$dH+%(     HT$H(H[]A\A]A^A_@ H  HWX9lAtȉH9HBID$X1HT$dH+%(     H([]A\A]A^A_     I$  H8H'   x    LC8Hs   H߾   I       HD$A   Hl$A@ HLmHLt-HT$   HBI9HBHD$AtZM$   MuHt$@ H
)3 v  H5( H=y6 1H
	3 w  H5 H=p	 H
2   H5 H=i& JH
2   H5v H=B IjAWAVAUATUSHHdH%(   HD$81H  HH  Dx  HA  x  D$  HD$(E1Lt$0HD$HD$'HD$HT$Ht$HL|$(D$' I    B     Dd$'   H=1 DEHteLl$(DHLE   LDH\$|   HHxmH
xaHAxUDd$JfLDH=x6   Ag1Aw  LrALDHy    HT$8dH+%(      HH[]A\A]A^A_D  HT$0DHPj H
0 Z  H5 H=8 	HfH
i0   H5h H= H
I0 [  H5H H=s G    H
!0 \  H5  H=I@ G'    H
/ ]  H5 H=# iG    A2fUSHHtU? HHu8     HHÀ; t&HHyH1[]f.     HH[]fD  H
9/    H54a H={ AVAUATUSH dH%(   HD$1D$    HD$    H   IHHT$HLIxIDt$At9ANLD$LHߺ   9
x!H\$1LHHtNHt)HT$dH+%(   usH []A\A]A^    B<3 uHՄtMtI$1 HuB<3 uHHuD  H
/   H58 H= 茏ff.     AVAUATUSH  x  H L  L  Mt$I/  IHIL  HH   I9  HuH  H  AIH  M9  HsHH  L  HC(HK H  H~  I9E  H9  HN2H)LL9HBHsH[  H9  HJ<2H)LH9HBHK Hz  I9  HK0H9s  HJ<2H)LH9HBHC(HHX  I9  Hs8H9Q  HJ<2H)LH9HCHC0HH6  I9  HK@HH9,  HJ<2H)LH9HCHC8HH  I9tH9rHJ2H)H9HIT5 HBHC@KD% x  []A\A]A^@ HXIHtHH  o AE M9[LK|5 1L)eDH  []A\LA]A^D  x   [1]A\A]A^fD  Hl    HHK01@ HHs81@ HHK@1@ Hs8H1@ H
*    H5 H= aHtHC0HtHC0HC8HtHC8HC@     HtI9t1f     USHHt]HtHHHt@HH_    HHHt$1HHouH   []    H1[]    H
) S  H5q$ H= f     AU1ATUHH= * SH(dH%(   HD$1HT$HD$    x{HD$    Ld$M   H|$"Å   Ll$   LL裘HtfI9saHXLMI9tXHH   HE 1    Ld$LHD$dH+%(   uXH([]A\A]@ LLe 1E1D  H|$֒@ H
q( %  H5+) H=[ Q\D  UHAUATSHdH%(   HE1H   IH5 IHH   L褎HH@H=  @    HBHH)H\$H HtLH艆1;_   HHtmH襐HtlIE 1HUdH+%(   uRHe[A\A]]H
Y' _  H5+( H=[ QH
9' f  H5( H=rt 14ff.     fAWAVIAUATUSH(dH%(   HD$1H|$HD$    \   L|$E1HD$    L%3 LMu'      HIHLLH,HH~HHHuM   Ht$L Hl$ÅyEH譐L襐HD$dH+%(      H([]A\A]A^A_L|$    H      H5 H#Åu5LeH5 L,Ht  LLj    YfD  H= 謎HHtOHD$D  H
%   H5C& H= itH
 
   H5 H= Ղff.     ATUSHtOAHHӅxzHHDHxtUH9|   HH)u1| t[]A\D  H
$ m   H5 H= f     f     H
q$ o   H5^ H=( H
Q$    H5> H=K aUHSH   Ht$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1H$   $   1HD$HD$ D$0   HD$     $1Ƀ/w>HD$   8x=tt$1H҅yz HD$8HpHt$yHD$dH+%(   uH   []S AWAVAUATIUSHhHt$HL$(T$'dH%(   HD$X1HD$0    HD$8    Hg  G/Aը    H|$A{}IHuD$' A   HL$8HD$@    HD$H1|$' IEH$HL$@1HL$HHD$@ H$Ht$1L6   H\$8HtH|IHtHD$Ht LEuqLH|$0   H   Ll$0MtHt$I|- LLǀI|- LHL贀E1d@ G E19     H|$0   HtTLl$0D  |$' Ld$0uLA, HD$(11L ދHD$XdH+%(   u<Hh[]A\A]A^A_D  H|$0@ Ht$I<,LL=ff.     fAWAAVAIAUATIUSH  dH%(   H$   1HD$    t	E  Mu	E  -R   Z  M  ߺ  * L1(Å~  M  Hl$`   1AHHA<$/     H5= LH   H  D$x%   = @  t=   S  =    ubL5$ L|$ f   1      LAL< H- )D$ D$*|E1   LHLJ  1\fD  M  Hl$`   LAHHE
H
    H5 H=" ^fD  AH|$訉DHD$    H$   dH+%(     H  []A\A]A^A_@ 1H=օ ʆЉ-} .     H
    H5 H=} H
y    H5_ H={ A>/u"Hl$`L   AHMH@ Ht$lŅ  Hl$`   1AHLd$HMH
    H5 H=  Ku ؉;uA݋ ؉D  Ht$ŅHl$`   LLd$HHEDAnfD  HD$    tDEAEHA&      A   fH|$@A1L          DT$)D$@H<$D$J?zH4$1LD$H꿜DT$   H\$LD$HD$t$AA߃= DxI@ H0y L5s @ AG011H
F    H5D H= fD  A&H\$rHDH 1ATL
[    L    CXZN?~ff.     @ SH  Ht@H¹4   1HHHH^    ǂx  Hp  1Hǂ  [ø[fD  AWAVAUATUSHH(dH%(   HD$1HD$    Ht? uL1AHׅDHD$dH+%(     H([]A\A]A^A_f.     +tWE1AA  HDA   j      HD1{Ņ   LgfD  Ht$HHD$    zŅxTHt$H藏Lt$Ņxl  ) L1({H\$AŅx<LEIބQf     Lt$1AL軄fD  {qE(fH\$A [q(~mt`LfD  ;q(~y      (   E   HD/wf.     E1H
 1   LH5` H=p 1
H
U 1   H5< H=G 1{n{LL@ ATIUSHttHHHH߉\ƃtUK/H= HȃHHTu#HTHjHHI${H[]A\ HSHjfD  1I$    [H]A\ff.      ATAUSHdH%(   HD$1HH$    %H,$ÅxH,$D11   H蒀Åx,H褂HD$dH+%(   uIH[]A\f     Ko ۅH
 1   H5 H= 0yfD  UHSH   dH%(   H$   1yux  1<xÅ   H1   HHkxgD$E H$   dH+%(      HĨ   []f     H
    H5} H= !Knߋ ؉떐;n ۉ߅H= H
 1   H5 /Vxff.     AWE1AVE1AUATE1USH   t$T$dH%(   H$   1HD$     Mg  M  HL$ KdHHxrL$   LeAA  E  LI{HT$ KdHHH*H    HD$ LxH@    @D$H  HrÅ  H6L$Hu1s   Pt.u"x uD  H HG  x.tPLp   HT$01   |$ HH     Ln%  hl   ؃   tEDDzf(  xHH  HqD$`  E
     Ht$01   |$ HH     1LhjIt$H|$    ̉H  L{}H,  T$HL$(LHD$D$(    bLD$d  tEDDL~@ D$H%   = @  ZL$1LT    H
 S  H5Iz H=_ H
 =  H5)z H=y H
i    H5	z H= Ll$01   LLHk  L4lHt$(AHD$(    1=*z ~THD$(H
 L
E
 k  L   @   HHDHHiy P15:AXZEDIH|$(*}HyL}H\$ Hu fD  yH{H|H;HuH|$ |H$   dH+%(   2  H   D[]A\A]A^A_     E!     ki    HM^yE     H
 N  H5yx H= H
 P  H5Yx H=o HT$ \$KdEIHLzMH*Z\$(\$  L
Y Lz    Hw    8AhD(AAvhD(AyFsH
      H5w YAGATUHSH`  H$   H$   L$   L$   t@)$   )$   )$   )$  )$   )$0  )$@  )$P  dH%(   H$   1H\$    fH)$HD$    HHs   H$  $   E1HD$H$   D$0   HD$$1Ƀ/wDHD$   0xCtt$HnvD҅y gD A     HD$HpHt$0yExHH1E1jx#H$   dH+%(   uH`  D[]A\ÐfD Aqff.      AWAVIι   AUATUSHH   dH%(   H$   1L|$ HD$    LHH  AIH  `    8  |9  DL   4  HMLDH   H  IcH<         HHH  D  DHL   Lp@,E,H   IcH,HT$ƅ      D<HH1    H$   dH+%(   s  Hĸ   []A\A]A^A_D  fffdH%    HHH
E N  H5l+ H=C %fD        HL$L$ffD  H
 M  H5+ H=G %7    H
 O  H5* H=8 i%       A   jH   HY    H
a P  H5* H=t 	%    1L   D$eL$	@ vnf     AVAUATUSH0Ht$dH%(   HD$(1H&  HH   Ht$IO!HHt7I$A1DHD$(dH+%(   K  H0[]A\A]A^ÿ  vtAŅ   P  AoIH  Hǹ*   HHHD$EnIVA   H   LH5Y IFŅxyAV{HL$   D$   Lt$ FpxrM4$A   #fD  b(f.     H
	   H5( H= !A~ALiu@ +bA~A(ZLHAFlD  AVfAUATUSH`dH%(   HD$X1)D$)D$ )D$0)D$@H   HH  H{Ht$HIHL$MHT$VHt1IE 1HT$XdH+%(     H`[]A\A]A^f.     H{ ta@   nIH   fL H{LHhL@@ @0HL I^(IF>xzMu    q@ 1H=/_ HtjHC    H
   H5(' H=W yf     H
   H5 ' H=M QLD$sD$<kff.     AUATUSH8dH%(   HD$(1H  DOHDǄ  HE H     1fHH         D	Hux	ˋEx	9]  Le(I|$    fEl$)$D$
I      1LL    NeLDQdAą   E%  D9w  ]A   HD$(dH+%(     H8D[]A\A]    11'HR  ID$HE(fDMDh)$D$
EFH
 x   H5 H=6      E1o     ^    AA܅,DD  H
a   H5$ H=Y 9f     H
9   H5$ H=
    cHE(IcHHxcAŅx*De螬   ADNHE(DExa=m !}DAasAhL
   11LZ H$    -bhA.    H   A      dH%(   HD$1HL$D$   n1xHT$dH+%(   uH] gff.     fS11  QfxǉdiHt[É1[fAWAVAUATUSHH   H|$HHt$dH%(   H$   1臼H  L0IMd  IHD$@D$ 1H$       HLH11IH  H$E11HH*-    LAoLl$@   HLltHH  8/  mLHD$ oHD$ HO  IDmLDnMt$IMtVHD$@    A>/K  H*E111LHL$@v,E    LE1nHD$@ |$ I    ]  I7HtLfHHT  Hu Hu1H=BY IH!  I?HD$@MHL$<H$H+  L|$IH$M   HD$<HD$@    +Ņ  l$<Y  H59 IHD$@HD$(M  L访HH   HD$PHD$ HH   H|$ 1   Ht$HH	H   HL贸HLujHt$(H11Hz
HH  HVhHLH1  u6H
'  ~   H5 H= o    =ai s   LHHoY 
  MtLiH|$(~l}@ LE1mlLel|LXlLE1VD  H|$@>l|$<Et1=h {  ݁݅  =h   I}IHL|$Ef/f)D$@D  DHxH   HDPeHHF  HD$@ALHD$@    D$HHH$A{  Q1L% MFt  L|$MM5fD  IHHAG/LH4$<J  L  DM@tMGAW/DqփHIDIH@v@_  IME1fD  LD$ jD$ B    D$1fD  @/HtM  LgH|$(ljWL|$f     11LI?LHtf     +jH{HHuLjH$   dH+%(     H   []A\A]A^A_ VH|$(T$ iT$   ډ~fD  L= Ht; tH5 H(pLEj L
 ,   AWL    1H F&AXAY2 U8   1L
 t$0L^ H 1   &Y^\AF xFML|$M  LeH|$(h+fD  DML|$HH     AF/   AF ƃvH
+   HgHD$1H/    H
   H5 H= f     HAu    H L
    1Lu %XZf     RFHH|$(D$ gD$ \HD$ g=Ld t$ aމ݅xCMtLdH|$(giH   H=A bH|$(XgML
 Lg 1{   H    $^1H|$(df.     ATUSHH   L'HHMtqHLFHL1tH[]A\    HXeHH   H} HtcH	H߉D${fD$D  H   CIHtJHE qfH
9 9  H5@ H=M ѴH
   H5@ H=a 豴G    AVAUATUSH0H/dH%(   HD$(1D$H  L- H HIfInfHnLt$HHD$     flL)D$HtL+1A$       f     L-"/ HY HLfInfHnfl)D$įHt'b    tL+1A$     H+Ht$HxGQl$     1]H   HH@=        A$13 Q     H;HXHuËU ؅ҺN@ HT$(dH+%(   uhH0[]A\A]A^ 1H= aa #@ H
    H5 H= Ѳf     A,$1[ H   ATIUHSH?1Ht{H? tuD  HHH< uHwhHpHtZHHH?t@      )H   ]Ht0H,HD    I$1[]A\@ 1D     Ɛ1D  H   H   dH%(   H$   1HHHHtP1ɿQx0D$%   = @  H$   dH+%(   u8HĨ   ÐO D  H
q +   H5r H= alZff.     UHSHaHHt"8/uUHE 11HbH[]@ CO ݅H
 1   H5  H=   f     AWAVAUATUSH(dH%(   HD$1H   HttE1Ll$Ld$</AE11IL|$0D  tA/IxhHcHt$LHI߻   }^L   LLt$euL9toA HD$dH+%(   ueH(H[]A\A]A^A_f     H\$HQHLHP^fH
 _  H5'; H=Y E .L}XAWAVAUATUSH8dH%(   HD$(1HD$    HD$     H  HHIH   /   HPIH  HPIH=     L|$HLkyitdLl$11E1H߉D$d`L\`HT`LL`D$HT$(dH+%(   j  H8[]A\A]A^A_D  E1 HHt$ jLd$Hl$    HAPH¸   L)H9sD  HH5= HHDH= E11H跡HH   Mt-HH1LH   H|$ILHþ   H\itmI] 1E11     H
Q ^   H5# H=M ѭM1E1 E111E1E111۸E1~ILl$1۸jME1ZuVD  AWAVAι   AUATAUSH   dH%(   H$   1HHH\xA   L$D;d$   A%   =      t*ډ؁   1ȅb  މ!1  /  AA   DDH5r 2O   JD(AH$   dH+%(     HĨ   D[]A\A]A^A_ L$%   A   D;t$ @=      <  1ȩ    tOA   E1 D        E1A   1ʀu}E	E   E:AfD  D   AŅA   f.       AŅ A@ =   t	E1E1> A   DDH5 MagtE1E1E1YSA   DDH5 YM"ff.     AU   ATUSHH   dH%(   H$   1HHHH   H;5W I     H޿AЅx@  * H1YAŅ     AD臺ExHHE1t[x(H$   dH+%(   u|HĨ   D[]A\A]@ HD A H
     H5 H= 詩f     GD AqH
i    H5 H= q|Rff.     AUATUSH8dH%(   HD$(1.  W H   tgH   HIJ   LAfIĺ   1LI    )$D$
LE1LHH5 LXT   1HT$(dH+%(      H8[]A\A]    1H=fV ZWW Of.     Hf   1HAٹ      L )$D$
=LH5  HNTfQF Z     H
 \   H5 H= Pff.     AVAUIATUHSHH  ?    HD  L&M  I9m  JIHL9\  L9   A$t</B  It$H7aHH   H9  >/HFtf     H9   H>/uLvf.     L)IH=      HuA>.uA~.   MtH`HPHHEI] HtLu [D]A\A]A^fD  MtI] HtHE     1[]A\A]A^    CHHtf     I1VfD  HHHt.`HHtH9;.f;.wff.     UHAWAVAUATSH8dH%(   HE1HE    H  H;5PS I  ? H}Hu+1HUdH+%(   G  He[A\A]A^A_]    1`  1HuH~HuH9t  >/  H)HSHH@H=  @   HBHH)H|$H IHtHJL!F  HELmE1HEHEHEHUH}1L}yZLuM   HUL9   HHt*</t&H
    H5 H=) 藤     LLy	A/g H
i b   H5 H= AH
I c   H5z H= !H
)    H5Z H=} H
	    H5: H=i H
 y   H5 H=9 H
 z   H5 H= 衣H
 }   H5 H=7 聣LfAWAVAUATUSH(H  HH
  1A	  H   	1  ]RAƅxnH5 XKIH     H/P1ɺ   1L@DHLAŅx/E1LH(D[]A\A]A^A_@ @E1D(AAtLA(ȴHI-DHD$IAtH5o H`HLH HD$HD$HHHD$:MIHl  HH5 _KHH/     HFO1@HT$HL        HD$NHHD$dRHT$uSI9   H9T$uCLHLmCu1HD$I9   C<7
LuRHE1@ LRH訳 H
   H5> H=" AH
 
  H5 H=~ !LHLBuLu1? AA݅DYJ?8 L.R11fD  SH   L$   L$   t7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$HH$   $0   H\$H\$ HD$0   H\$PASj j ARTH0HT$dH+%(   u	H   [IfU   fHAVAUATISHPHH   dH%(   HE1(HHǅ(   ) 8HH H M  H=1 uIIH  HAIH  AE </O  <@  IVHlq  1
   HH1   fP    fGAE <@O  </g  HRу  k    AF1Ҿ     >Åo  N  L@@L H@AAA9  H0fH Hǅ8    Ld$IID$I$   A)D$L0cAD$@AD$F @  AD$LLCHy6H8 uHǅ0     @  LrCH   f     A        AHEdH+%(   B  HeD[A\A]A^] E1fD  EA[;A9H @  BHvfD  [;D A{IM HXHRIt
HtH)LH)H' IVHlA'@ ƅR/AT
fT     HSIuL]BAF@ H
   H5j H=_ aAU RAT
TTE@ SH   HT$@HL$HLD$PLL$Xt:)D$`)L$p)$   )$   )$   )$   )$   )$   dH%(   HD$(1H|$HHL$H$      HD$    HD$HD$0D$   D$0   HD$ KH|$x6Ht1H|$LHD$(dH+%(   uH   [D  TD@ SHH= KHtH3KHt)H1[    HH= 衼u[ø[ff.      AWAAVAUATIUSH(Ht$r<H,    Hø   H}HHDEHD$H
  IH_   H=A DLA$L$   AL-S AfIHŀv-Et~w#\tH|$i;HHEHt0D  ؃ExAt \   AD @uEHEI] A$u|$tuHL$HH)Hv$HL$HH)HwXHPHf.     H..  @.f0HD$ HD$H([]A\A]A^A_ËL$HD$   uŐ  HL$MHI)I9LGJIP     AUATUSHHtaHIH  1I@Åx.HLL辮ŉUH[]A\A]     6(D  @ UHAWAVAUATSH(  dH%(   HE1H  ? H  H  HGAՅ  HSHHGI    I	II!  E1M  AQ  E  H/proc/seH Lt$IAFlf/ IAFstatAFtus H5 LAHH  HDHLHLxHHH1Ҿ   Hǅ    3w  LtvH   ML     H5 Lg9
  M~H5t L8I<?0  HsDVJ  HKLQHTLD=HHA   t\E  H0L
 E1Lt$       IH
'h LL:H   L	  HK   A     A @    A   txE  H0L
 E1Lt$      IH
g L9HShHKpHL{  
  H{p   HK   E~
A      MA     A   A	  A    d	  A   @  E  A  EE9  L#cLc     1HEdH+%(   7  He؉[A\A]A^A_]f.     D{LMtEHHCA)@ L@FHoD  `DoHR    HIH   M
     H5D L6  Hǅ    I~H5q Hǅ    Hǅ     Hǅ    H5HHHLL HH5 1q;  fD  MA  8  M     H5 L5+	  Hǅ    I~H5"q Hǅ    Hǅ     Hǅ    H4HHHLL HH5 1:;AĀt
HC(A   t
HC,A   t
H C0A   t
HC4L	{H
   H5y H= 豒H
   H5y H=O 葒A   #  A     Mn     H5U L4  IV   H`HHK   2  CD    fH0L
: E1Lt$      IH
yc L5f     H    I  H    `  L	s A>WD901D>/8fD  MX
     H51 Ls3  H5n LM~IHǅ     LHHǅ    s2IA?   1H LHH5 W8AD$@I|$8   p?H_	  AD$@IT$8HAL$@HHc I` fHDHǅ    H )Hǅ     H}  L Hǅ    LMAHI %  A A	LH0	ЉD	  D1HEH
 HԼ    LN:l  H1E11HHHH@Z  HI   H5k  EH  HF?H  H   L~@HK   @H/proc/seH Lt$IIHattr/curAFlf/ IFHcurrent IFAD  A     M     H5 L0E  IV   H襌HK   wSA9DjTZ H/proc/seH Lt$IIHcmdline AFlf/ IF 1HEDHǅ    H     }8:  HHsXe!    HK    H>f     HsPDT  HK   D  Hs`Eu  DӇO  H{`H5m 9Ht  HK @  @ MAxMA  DA   A   |A   *@ A   3  M     H5 L.b  1IVH踊HK    @&0 HH   DQO}    HK   H   DAPd    HK    mLLHK   f     MA  A   lA   IA   A   @ A   M     H54 L-mIV   Hu]HK   GgYf     At
HCAt
HCA t
H C A@HC$    ip[ H<tg	<.@ A   A   A   A   A   9HK   @Hǃ       f.     H{hg;HCh    "tHK @  HC`    xHK   ǃ   HK    ǃ   H:+H   D18  H    uH   HH    w ~   lL0   1LLH+         DHL ,HH(:L
  H%   =    _  DH1EH
F Hw    2H9H9܃}seLH
   H5A  H=
 ǇIP;%H8,8WH=a I7HHL;XLH0H
@^ 
   H51 H=D3 p+%t?H
L8TL7Qff.     UH
X    L
1 A   HAUIATI   SHXdH%(   HE1H\$HE    HHE    H)HMHUHHt?xHUH}Ht"I} I$HUdH+%(   uHe[A\A]]+7ڸ.     UHAWAVAUATSH(H}dH%(   HE1K  H0      1H\$L
 A   HH
V H	)H5	 Hz.IH^     Ha2HE    1LmM   HcH5 LHӺ	    'uA	=   L96HE    H  P    L      LoL}AƅyL5LԖHEdH+%(      HeD[A\A]A^A_]    H=v Ai.IHt!HY4IH   HEL E1땐HEE1H     Lx5HEH     l     E1ANfI
3Ht@HMA   H,!t-A,AAAff.     S   HĀdH%(   HD$x1HHHfffdH%    `yOHH=WV +x\H$H=prgc   H=   1 H=reebtbq  @ HT$xdH+%(     H[fD  !=0 0  H%؅x ~L
 L 1g  HU  {  @   fD  =i0   fffdH%    ǀ`      K HH=y *uH<$prgcO  HH=p )   H$/ H=prgc{  H=' {    fffdH%    ǀ`    1L
 L 1D  Hr     D  Hj  HN  {  @PL
 L| 1   ZYf     L
Q G  11LI H      x K0/ ;  =L
 L 1V  H     + fD  =. (1fffdH%    ǀ`      L
 L L  1HQ     밃q   릃L
 ^  11L[ H     XH1   a  PL
 L& 1H  X^_$L
 Z  11L H     )b(L
_ L 1S  Hx     ff.     AUIATIUHSHHytqx$~3   H5WM H!¸u"H[]A\A]f     1HrxHLLHH[]A\A]p    f     AWAVAUAATIUHSH8dH%(   HD$(HLt$ L|$HD$1ҹ   LLHD$        H\$    H   ;ru#{du{.u, xWtcAuoH\$ HD$1HE    I$D$/D$HT$(dH+%(      H8[]A\A]A^A_fD  KuH\$ HZ/<D  HsLvH\$ H߅zfH|$ f     H߉D$/HT$D$HU I$    aH
T 
   H5O( H=) "&fD  AUATUSHH8dH%(   HD$(1Ld$ H|$Hl$2ftP=   Lq1Ht  Hp1LӅx*Lp.   LHHD$     Ll$ yLD$B.D$HT$(dH+%(   uH8[]A\A]%ff.      ATUHSHdH%(   HD$1IH$    LBy~t1=r* ~(L
 1~   L H.t    L萩ÅxH<$HH<$-HD$dH+%(   uFH[]A\     H<$HÅxH<$E-LH$    %Åy$     AWIAVAUATUSHHE  H  L%U 1IIA   A@   IL$H9   I   1HHH@HIH@    LT$I9   LA4$H#  L
 HAPLBL 1H|$HZY@I	LT$HH<$	IUHH9HFI)HǸ   @u#IIL92*f.      MHL[]A\A]A^A_     I	@H	fD  I1Hf     HIуIHIwIv:IL    HIɃIHHIHHHIw@@LT$I9H A4$L
     HSLC1VLAPL& H|$ H 1H<$LT$D  H0   HG    fAG? AG AGAG/@ Hinfinity1HHWff.     UHAWAVE1AULmATSH]IIHHH}HudH%(   HEH H}HEH  HEH_f HEHo HEI?Ht|IIM9uIVH  @   HҸ   HDHHH)HD$HIHI4$Ht IHM9uHE LmIE1HEHz  HEHe HEH HEI>HtIIM9uII  @   M   LDIIL)Ld$ILH3HtHHL9u&  A<$ MDxmuAL'H   HMH1HUdH+%(      He[A\A]A^A_]D  E1L3 LLH+ H=& 1j렐H= T!HHt\xS& k     H
	    H5 H=B wH
    H5~ H=" v랸(fH   HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1H$   H1HD$HD$ $   D$0   HD$HT$dH+%(   uH   ff.     fAWAVAUATUSHH9  AH5 HIIHHt>   H"MLDHHh  AH݇HD[]A\A]A^A_D E~AtAܿۅf     H$A   1ҿ     !H$   HHL$$  <$A      x    <$HL$xaH5  HL$<$-<$HL$Ht@H     A@H
y   H5 H=i tD!AD  AD  AVfAUATUSH`  # dH%(   H$X  1Ƅ$    HǄ$       HD$    HǄ$       HD$@    )$   )$   )$   )$   )$   )D$)D$ )D$0#  A      HH$      Lt$L H1[H|$LH4ׂCHHHT$XH  L$   L@   H LH  8      L$   ALw L1   HH$   LL$  H$  H=, H$  H$   LL$0  H$(  kHH$@  H$   H$8  KfH\$`=36  H$H  HǄ$       HD$h   )D$P)D$p   Hl$PL$P  =!  @  HH   =5  t?Hf     HJHtHtH9HHFH2H)H)HJHL9uHuA   H$X  dH+%(   uZH`  []A\A]A^HH$H  V@ 1H
 6   H5 H= q 뚸fD         ff.     AWAfAVAUATUH͹    SHh  H4$L$P  L$   5 T$LdH%(   H$X  1)$   HD$q    HǄ$       HD$x    )$   )$   H   LH@  1ۃ=+ Y  =+  T  =+     
1 Lsz  =+    HL
(    LAQD$      L IP1t$.H LHHHHL   LkH   J4   J4   @ = I]Y       H
=    HLLHH   H   Hy
8H  @ H$X  dH+%(     Hh  []A\A]A^A_    1fHL$0HD$`    HP)D$0HD$(    )D$@)D$PHmHCH9  fov L$   HX:XX:XX H$   )$   HCLHD$cHHHH4   HD$L4   H5  H=)  H   HǄ      R      L$   AL   1L 7HCLHHD$L   
 H   H\$LsA  |L= HR IDHD$|&  =(  I  c #  |L
j tL
/  H2  LELL$|H     LH/ L    HEH   HPD$P1t$LL$81H LH|$ L   H   y  H\$MnIHJ4   J4   HMuHLHH   H   M  LIY=[ I]HLHH   L      H
9 f.     HHMH   H   T@ AA  A  A  !{H5թ Ht$tH H HDHD$z:  ='    IL= fD  31:=\ R ~Dm {  ExDm $ = LSfD  Lt$qE      Lq    L   LL$   H$   _[ ~+ ׅ   H
8 f.     =r 7fH
7 @ =%  uIL=       L=  @ I_     kyL= H4  jfD  KyH5 Ht$@H  H HDHD$!     H|$(HHL$H4ׂCHHHT$(H;HcD$HHL$   H5 H$   #   HHC L$    $   HL&Ht$`HD$H> HHt$
HT$Ht$HDH&   HBH&bL= [@ =I$  HD$    E1GMH
 p  H5b H=H hH
] M   H5H H=H hI|Ƅ    ML
L RL8 LAQD$         HP1t$QH L	L   H   'Ht{SHHHt'wfuFH{HtHHH   HH{OH{(Ht	11H[4@ H   dH{Huf     ff.     @ AWAVMAUIATIUHSHHH8D$pD|$xDL$D$	H{HHWH  LHH{LHWHD$H]  HD$     Eg  M|$ ID$L|$(HD$MtnLE1H;AMMz  @ M9sKK/HD$HHH$HL4HCI6H8HHH$      LjM9rHt$(H|$    HH   HC IT$ HL$ID$HHHHHL$ H(HHL$HL$fHID$ I|$HpIt$ HvOH   H8Iغ    [H
]A\A]A^A_HD$IFHD$ IFD$fAFD$AFH8[]A\A]A^A_D  ILXH{LHUHD$ HtH
 D   H5  H= jeH
 
   H5% H= Keff.     AWAVAUATUSH   HL$LD$dH%(   H$   1H	  IH,
B     1E1H\$DD$1E   HIH  Ht)H  HHHm
HHHHL
LHHHHIM)J|- L     L   HD$+II9   LIAǅ  L9  M   HK  H4DD$H9HGHEHIH:A   fHt$ 1   HHw   D$8      Ll$PڃM   I     I9IFZ    H
   H5 H=
 !cH
   H5 H=]S cH
i L  H5 H= bH
1    H5/ H=/ b 1D8AHH$   dH+%(     H   D[]A\A]A^A_    ~Hum=X `%    1   PL
I L 1UH sY^*@ HD$ AA߅DNHD|$8HHH)!@ H|$ t|HD$BD-  H(HD$1L( AH?7= *%  Hg 1  PL
w L@ 1U   XZ1LH?
HtA/HD$BD-  H(1gA
f.     AWAVAUATUSH8dH%(   HD$(1H  IH5d> H7   H5 HHuLH{H56> |   MtI1HT$(dH+%(   |  H8[]A\A]A^A_HD$ Lt$1E1HD$If     LH5= HD$     IA   <-A  <Ht$
   L     IHA$  H	  Ld$ A$D$<.   M9   L$$H$H5@= E1HL4HU  IHI   H3LHtLH
$ IHHLL94$tmH1HH9sqHLHH9sbI|$.th   fD  I\$H59 Ht HH$B     @B L94$uA> tRD  CfD  HMD$HAL$0H	wHLHHH9sL@ HLHHH9sHHIHHH	vI9]@ H
y   H5@X H={ ^Lt$@,M}M>upff.      AWMAVIAUATUHSHX  dH%(   H$H  1DL$  H\$ DIEADd$fD  IHH<  HD$    t$HLH|$0AoE    IEHCm
  Ld$@1@      LLHLcH  LIHuR AE HH9t?u!=   t        AE /vHIEH9uM>Ld$IGLIII;M'H
 IGIHPHHIHH@   AE /   IUAE L:M1H$H  dH+%(      HX  []A\A]A^A_ÅHH1   H=  PwAE=   "AED  =   =   =  uIEHHHIEfIUHBIE8H
   H5	  H=|> `[aAU   ATUSH   dH%(   H$   1Hl$ HH   fD$   IH  HHH  Hk   L  ( 1^Aą  IfA         L1L5 )$D$
L8HL$"HH@   H4$LD$(Ht$"I|5H|1L)I)̓r1ɉ΃I|5 I<09r:D  H@HL$"sjb  tA4$@t$"  AHÅ   DGjH$   dH+%(   i  Hĸ   []A\A]I4$Ht$"I|4H|1H|$(LH)H)H@    64$@t$"%AtftD  kSfH
   H5' H= YH
   H5' H=P X ۅH
 1   H5  H=  @ A4$t$"Att     4$t$"AttGAtftkAxbfH8HHdH%(   HL$(1H
  Ht8DAIހVw+LT IcLf)$H  fD  HT$(dH+%(     H8fHvOAAAA0AwDO0Dσ0@wAyAA	A	N  Et17  f)$)D$H{1;    DHA  A@U7DKH  HDHЉA	w0Dٸ\   f.        	   
   
   ߸    ظ	   Ѹ   HGDHЉA	,  DHAN  A7DOЉA	  DOA%  Ai7`	   Q"   2'   (     H
 m   H53 H=} V1HDHЉA	   DHA   A@7DHu$L$	ȋL$D$	u
A      x   nfD  W0D    W     		=   6fD  $L$	ȋL$D$	ȋL$	ȋL$	ȋL$	ȋL$	AD=     0    	   f0     OЉ	u7Eif     W     WyD@ 4@ AWEAVAAUATULSHˉHhH5
 H$   Ht$   AADHAH0  : H
! L% uL$   LLH D$   H5  H$E  Ht}  L  Ll uH-/ IIIER  H  D$   HD$HA HD$Ht; Lt  L
1 uHސ IIIH$   H|$XHt$PL\$HLD$@HL$8LT$0LL$(Ht$(ATATATHL$`QH$   HR   $   H$   V   AU|$`Wt$XL$   ASUL$   AR$   AW$   W$   L$   APL# SL$   AQPDAEPH$  1'H   HH=     Hh1[]A\A]A^A_ÐL%ď D$    Ld$Ld$fHt: H
" uH
 H$   HH5 D$    E1H4$I    H
\ H$   HIfD  H
1       H= KfD  ATAA˹   USH  dH%(   H$  1H$   L$  H$  HH=    ATHH߉AQDMEHH\$PHHl$pHD$XH3 HD$`HD$h   ]=g fHt$HD$xH  @  H$   HD$PHǄ$      HD$@    HD$ HD$(   )D$)D$0HX   YHxH$  dH+%(   uHĐ  []A\K  AU      ATUSH(dH%(   HD$1Ld$Hl$D$    MHD$   x|$   |$      Ll$A      L   D$   L   MH      D$   Ex!|$uHcD$H= f.     |$   u"A   L    ߾   D$   HD$dH+%(   u7H([]A\A]@ HcD$H= "D   D UH-F SH  HHH   dH%(   H$   1D$    su.=h    H$   dH+%(   -  HĘ   []ú   HHQ9HL$   H޿6}yz= t(uHl$1   HHH{H   H[H$   dH+%(      HĘ   []8T$Ǿ   }H VL
   L SH   @   1虻XZ=; L
Ɯ QL   S)f     ATUSHdH%(   HD$1D$ H   HI]^x.1HT$Hxt$g<w  HrHD$dH+%(   uRH[]A\fHD$dH+%(   u7HLH[]A\
D  H
   H5 2 H=j ILT@ AWAVAUATUSHdH%(   HD$1H$    H   IHIHH  L5# L-l  H*  D\  DA9#  Cw`H6 UE1LAVL  HH
  PH5  HD$P1
H x"H<$1Ҿv   肧xH<$LfH<$HtYHD$dH+%(      H[]A\A]A^A_    H=h H
z   H5q  )H<$HufD  H
Q   H5H  H=s  t@ H
)   H5   H=l  ѩL@ H
   H5  H=a  詩$H
   H5  H=  腩 [ff.     UHAVAUATSHdH%(   HE1HI  1I_tKL-  Le11LmLx,@ HEHL)H  8 t011LTyHEdH+%(     He[A\A]A^]LHHH@H=  @    HBHH)H\$H HtLH-D  HE    1LHc{HEH9n8/u9  1HLHPHy/8t5D  H
A C   H5A H=' HH
! .   H5A H=W@ HH
 7   H5A H=  Hff.     AVL5% AUIATUSH LcpHdH%(   HD$1H$    u?fD  HL9t'#tHS11HL=HuH<$ H$Ht/IE 1HD$dH+%(   u,H[]A\A]A^8     H=q Hu     UH dH%(   HD$1HD$    H   H@   H   H8  H   HT$
      HT$H   w3HD$dH+%(      H HH5 1]If     HD$dH+%(      HH HHH5K 1]	f     H|$H|$Af     HD$dH+%(   uDH ]f.     HD$dH+%(   u$H H
  g  H5|  H= ]錥g    U  HAWAVAUATLSHHh  HLH1dH%(   HE1FHHHǅ    ́$  HHT  H|HP
H  @   H$HHH)HD$HHHH/descripHHHriptors HH  H  1AŅ5    LIH  H=    HA   E11L  IFH@ HC	L9k  EZII    <Q  H9  HÀzuBDxL   D|L    PBPDJ1   HL7ZYHD|Dx^HHJHC	L9   ACE=     A6D  KH 0t
=   1E1HH
r L QHH       j j P1H0AD"THEdH+%(   w  He[A\A]A^A_]ED  Et, HfBfD  H t
=W y  1E1HH
ٍ LT Q  @   H j    j P1aH0N     H
9    H5X H="  BH t
= I  1E1HH
 L̼ Q  @   H j    j P1١H0HHD$HH    H
    H5 H= ABHL
  H@  H&HLH7H@  LHD  HL
  H@  HnHLHԃKH@  LH9/HL
C  H@  HHLH|{H@  LHi_3 AWAVAUATUSHHt$H*  D7IE  I1E1Tf.     Lc   L)L9   HD$LLHcJ< HM|HM|- E7E   HL]ÃA\tJAF<	v"D߃A<vAH=. Ht I   tmHD$F4 I        L)HvHHD$EH
 H   J< 1IFfI   t
Ld$HD$  H[]A\A]A^A_ff.     AUATUHSHHdH%(   HD$1= H$      HHH]  H,$L%z HuZ`  E1E111Ҿ   HAŅ   =7   HtHSH<$HHH   HHHXtDu= ~HH*   LPL
& Lø 1   1Y^끐= sHH%   LPL
ˉ L fD  =        =^ (HpHDHR PL
B 9   1L,    rXZ =    H<$HtHD$dH+%(   P  H[]A\A]fD  = HH4   L
B PL )f     HH1   L
 PL H @ H   L
Z    VLS H\ 1蕫A[A\HL
 1SL%    H)    _AYAZfD  = HL L1S        @L
 _AX    H
 7   H5 H=" <@ AUATUSHG(H   AHLo H7   A8   A)J|+0LH5̵ S Kt% H~    HAA%   D	AЁ   AD		ȉD0C$H{0	HHHȉD0H苃1f     ʉT HHuH[]A\A]fAx   A)GH
[ q   H59 H=N  HdH%(   HD$1Ht'H<$H>HD$dH+%(   u*HfD  H
 m   H54 H=T !;,ff.     AUATUSHHt9HHIIHHMHL[HH]A\A]O    H
 u   H5,4 H= :f     H   AUIATUSHHteHIHHu>D  HI$IH] Ht$LH@uHHH] HuI$    H[]A\A]@ H
Q s  H5{  H=e :ff.     @ USHHt=@8t`@މՉHtfD  @(HxHuH[]fD  H
   H5- H=  9f     H
   H5 H=3 a9UHSHdH%(   HE1f?u& t H_1l   H)HtH,HEdH+%(   u)H]HĀH޹   HD$H@l HHff.     @ USHAx-	tuH[]@ H   []fD   HH
ZQ 1   [H50  H=@  ]鐗ATUSHtWI;wr:k IT$XHHH4HH<A$~ډLcu[]A\f.     H
 V   H5/ H=X1 7H
 W   H5v/ H= 7ATUS= (H    uk   w   Hs
L   =$  G=  Gx+[]A\Fg uPw't    wyL= Pf    =  *D  = x #G=i _ G=P F ~F. :D  _ifD     v ǅx"L%& Lx)  <  yFG w= cF   u ǅxL= xl ff.     @ AWAVAAUATUSH   H$   H$LD$L$  LL$HD$dH%(   H$   1=    AA̓  DD=  ?  H- HLI; tSHHE1Ht  L`@ ~w  :  fH4$HDD~Mu=    DAH%H$   dH+%(     H   []A\A]A^A_ w  w   Hs% HD$1HL$@fHD$1    HD$ HD$8    HL$(D$P )D$@EfffdH%    HhE%H|$ E   1L1}       [H|$(      AL}    1HD$ HHD$`TH=M HD$hH|$p>HL$(HD$xHH$   $HH$   H$   = Ht$`   H$   H  H$   HǄ$      $HMF .  8!SDDDt$ LL$ LD$HT$Y^   t=  *C
 A   HD-yud
    HGf.     
 Qvl     =  B
Y ,   Hu 3fD  B"=  9BTf.     USHH  FH      uHItW=}    H[]fD  HL% 11WL
y    N  H* 胟E_AXt=" ~HQ  1   SL
 Lѩ 1H) CY^q@ E$$l= _HH) 11ST     L
Á Lt XZ+     H
y F  H5`) H=( q0AWIAVAUATUHSH(dH%(   HT$1Ҁ> HD$    
  Ht$IIE1H4$:fD  I>M   1LH#| I߾   [A? Ld$   L$11Ҿ   LS   H\$I>1MH{    HM 9 tI>H{    1HU HHT$/HT$HDHE I>MQH      IH= 9A? Ld$Nf.     HD$dH+%(   uH([]A\A]A^A_ff.     HtdUHSHm uN@ H}1=D  HHHH| #9  sH   HHt	H݃m tH[]fD  USHH  W8H1tD  HC0H<^;k8rH{0CHt 1    HC@H<.;kHrH{@H{PwH{xHu<@    H{xHt% uH
    H5w  H=< -H{hHt	11·Hk`HtH}HH   /H   /H   Ht   u*0H{ Ht	11hH       H1Ҿ   ĄHHuHt11H+Hǃ       H       H1Ҿ   |HHuHt11HHǃ       {0=HH[]fH
i }   H58  H=z ,H
    H5!  H=No  r,fSDNHE1H_(L_ f     M9s(K<HHHLHDD9xtLGM9r1[    I HA[f.     SH>  HHHtP  uH(  (H@  H   H   HH  HP  HX  H`  H  H  H{Ht	11ZH{8Ht	11HH{@Ht	116H{HHt	11$H{`Ht	11H{hHt	11 H   Ht	11H   Ht	11քH[D  H
a <   H5  H=S *f     H
  V   H5  H=Mm  q*HttuYf         HH
M  V   H5D  H=m  %*D  HG  ATUHS     fH}Ht	11Le0Mt%I<$LHt    #H{HHuLH}8Ht	11謃H}@Ht	11蚃H}HHt	11舃H}PHt	11vH}XHt	11dH}`Ht	11RH}hHt	11@H}pHt	11.H}xHt	11[H]A\`[]A\ H
 j   H58  H=k  (f     ff.     @ H  ATUHS`  ~(Ǉ`            1~H6HH   D\  A9   CwrHBxfH{H u#]D  H{H tQ1HH(x<Hy؃   Pq1w)H   H   @ HE    E u
[H]A\![]A\ H
9E b  H5n  H=۹  'f     H
 
  H5X H=  葆    H
ɟ 
  H50 H=!  i\@ H
   H5 H=i  'H+ ff.     @ H  USH蜶HH   H      Hh  Ht
1HDH(Hp  Hh  Ht
1HDH(H  Hp  Ht
1HrDH(Hx  H  Ht
1HMDH(H  Hx  Ht
1H(DH`(H  H  Ht%tou(H  H[]D  1@ H
)   H5 H=`C HH
   [H5 H=6  ]黄 H
    H5  H=Eh  i%f     Ht+H9wu-Gt.GH? uHG    ,D      2 HH
U O  H5
 H=0q $ff.     fH/  ATUS? HtGt$Gt<[]A\    [H]A\s2 H
ɜ T   H5 H= $HPH{XH{`H{hH   H   H   H   H   H   H{8{L   HC8    Mt!I<$LHt SH}HHuL>HHǃ       H[]A\        UHAUSH dH%(   HE1H   H   HG   Gt]>    HHuHuHPH  @    H)HH)Ll$IL;'   fo LfP Hl V1Ls PL
B LHj H
 1j  H HEdH+%(   uHe[A]]    H5n     H
 j  H5h	 H=@@ "H
 k  H5H	 H=  q"H
i p  H5(	 H=  Q"\ff.     AWI1AVL5n AUIATUHLSHHfn HXL$HL$HLİ  dH%(   HD$P1HD$     HD$(    HD$0    HD$8    HD$@    HD$H    j HD$PPH  PHD$XPHn PHD$`PH@  PHD$hPHW  P1LL$p質HPG  HT$AHtcHHT$HT$Hv
"  'u|'  HHT$9-HT$A     E1MtH|$ HtL1AąT  HtH|$(HtH輿Aą{  HtH|$0HtH蚿Aą  MtAHl$8Ht71L=5 D  HH"  I<HtHAuA] H<$ H\$@tHtH@xkH4$fD  H|$@vH|$8lH|$0bH|$(XH|$ NH|$DHD$HdH+%(     HX[]A\A]A^A_Ã= ~H5Yr SA1VH5 L1VL
}b     1ju踉H _=x HSq t$ E1PH: L   PL
1b  11jUoH c=/ xH:q t$(E1PH L   PL
a  11j\&H <= QH!q t$0E1PH L   PL
a  11jc݈H |"sD HD$HP`= H*p RE1PHD L   PL
;a  11jNyH I=9 Hp UE1PH L   PL
`  11jl3H H
C  l  H5  H=  fD  AWAVAUATUSHh: H|$$   HL$8DL$D'  IH׾=   ID̾HG    HHD$HHIAD  HAt
IAVu_  @ŉD$PÉD$TMT  Ld$0Lt$XHD$0H HD$ H4  HD$E1L8Mf     HD$MH@HD$H L(@  H\$ E1L@8+)  (   LD$IHt  LD$IvIF ANIVK|IwLIG HD$I?AOIWI>H8=HD$(Hd  H|$LHHD$HF  fH|$@LALIF     IANu  H|$MP  ANMNHt9Me  1@ H9s%HHHHL:@8   HH9rۿ(   MHIH   HD$ Nl(L Ld$LHI|$Hx[fHLE LHE     HE Ex.D$PHLPD$LPDL$dLD$HHL$XHT$h`XZE1LSHD$0     =   Hh[]A\A]A^A_@ @8sHpfHBHII    IHB, @HD$ MJ(yH
 !   H5pZ  H=8 JHD$ J(L=5 \H m AV   1PHϑ L
X  A  @P1h  L$dHT$X$H H|$(M>L6HHl    1t$PL
X  A  @AVPH\ P1h  L$tHT$h较H0Hh[]A\A]A^A_H
<   H55X  H=e \D$PLPD$LPDL$dLD$HHL$XHT$hH|$ 葱Y^7I1=AWAVAUATUHSH   dH%(   H$   1HT$(HD$(    7    Lt$(HIMHD$HD$`H$IH<$   HD$@    H4$Hl$HHD$HD$P1H趷   >h#H9D$`   HD$@A   HD$HT$1)@  nIŋ    At_   1.  TyAu H
] 1   H5^  H=^  w       Lt$(H$   dH+%(   "  H   L[]A\A]A^A_ õ8D  H
   H5F H=a aH  HD$H1Hu
I7HD$II9oH<$1   H4$HD$0    HHl$82>h#H9D$`E1Ll$01L*@Hŋ kA
1.     AfD  f)D$`)D$p)$   )$      H$1,@@rUH
[ 1   H5\  H=\  ,u    HD$`H$fE YH
f[ 1   H5\  H=\  t5H
   H5w H=0` 蝾ff.     fUHAWAVAUATSH8  dH%(   HE1H  HH  1I      L0H5 LHHHtHH5 H	u5= e  HEdH+%(   Q  He[A\A]A^A_]fD  1LH޿莴x %ٲD %E|  H%   =     =    mHzIH  0  TIH  1f   fvLHH M<$HAǄ$      I$   H  AǄ$   AǄ$  AǄ$  I$X  AǄ$`  I$  AǄ$  A$  A$  A$,  A$<  A$L  A$\  A$l  A$|  A$  A$  A$  A$  A$  A$  A$  A$  ݿIH  HɴHPH  @   HLHH)HL$HHH.d  Hf8H  Hf   HHf fHnfHnHf Hǅ    flHq fHnHǅ(    He ) fHnH H HflHH)诶  1   L1HH=5 Hǅ    LJ@HHHd  LLHձ;  tLLHL&  HMtPHLI2 LL腱  tH3LLݴ  HH;HuHHHHHtH91H  HIMH  fH )0)@)P)  HQ/@/1    Hp HH[H  HLHǅ    ǅHLDP/HLDD<7	  ;DHLAHHPHA  LILEHHLEL(;AA  AHtHKC/H5_1 DLHHTL<I7pILA@uJIH0AD$/<tIGH8H1DL_  DHSDk/HHD<78A2= HDL
$b 1SL    Ha    *}AZA[H
    H5a H=e H
    H5a H=k[ HL
P 11SL    Ha    |AXAYeHH   H9H  Hǅ    HAHHf{H{HHuHHDHQH tH11gLQ9H` <HHH511gHH  HIEHǅ    IT$Hj  B/  B S  Mt$`H M`  A$     I$  Hǅ    H   L1ɾ   LזAƅk  HL͖HAHt:H"HHHܺHHHi  ԽA  E  Hǅ    I<$Hǅ    H  A$  t.@tI$     tI$   t@A$  I$  Hǅ    LHǅ    MHA$  Hǅ    HHHH1Lf  LM  I6Ht
~ h	  AF  9  HLgHHt6=-   H{H3Ht
HtgH3HfH^HLH5- `  2H
C W  H5 H=7 
 LML= IE LIH   <    MuLLAǅ  AE@ǉA@A@8  AEE  1@8AEtt1ۅM  MIE wH
   H5 H=V 	IT$HtB/  B ID$Ht
H8 xID$ Ht
H8 dID$(Ht
H8 PID$0Ht
H8 <ID$8Ht
H8 (ID$@Ht
H8 ID$HHt
H8  ID$PHt
H8 IT$XHtB/m  B Mt$`Hl M+=ܶ H  1   SL
\ L H[ 1vH XZ@ PAuAuHLH=X oH  1   SL
\ L[ HC[ w    AEE   H
7   H5
[ H=(  ƃ=ȵ pHƹ     SL
2[ L~ 1HZ uY^<HHD$HHH
~   H5V  H=Z ZH
[~   H5` H=S ;LLH0LHDAI|$p = ASL
t[ $  1SL}    1HY 
uA^A_=   I~Ht
Ht1cI6HL޷LLH==N ~HL
[ Lh| 0  PV  @   H^ 1it_I6AXjH M  1   L
h\ L| HRRIRH P1$tH H
| }  H5  H=:R = >HL
Z D1A$  Lp|    HX    sAYAZ HHuL

C  L.|    1      H=X qs6@ HHMHxH
:{ *  H5 H=ܭ HL
Z Lz 6  PVHHHt	11^= Z  IE I$   HtL(  HMe IǄ$(      HY11HU^HH
z    H5DW H=P !M$  MHAƅxpH1H5P HH1<IH\  LHLL觪LA  ExHL蠍AHHHHt:HHHH衱HHH   虴L葴H腴At'Ey	= 1A$  HXL
@  Ly       D   1L
X Ly HU qHHHXLH=^O lAHH`AH
zy       H5XU 謑L蔳7P0  H9U 1SL
 Y    1L2y UpZYuI~H[^   L
?  1V  Lbx H	    H
pHAHt	11[E蟪HHH9H8HƲH
x       H5`T 贐Gff.     @ AWAVAUATUSH  H|$Ht$dH%(   H$  1D$h    HD$x    HǄ$       HǄ$       D$l    D$p    D$t    HǄ$       HǄ$       HǄ$       H,  LjHM
  M@  Mt
  1HL$lHT$hLLL$tLD$pH5>M ϧ=H AO  A   H E1PH+W ATPj j j Lv `  11H^=    I_H0H$   Ht  uH$  dH+%(     H  []A\A]A^A_f     H PHV ATE1Pj j j H< Lu `  1HD$XH¿   1^H0賰@  H|$Ld$xH5:L L HD$        =   HD$xE1E1Hn  1   PHK Lt P1j j AUHT$X%^H0H|$x
   L$   LGƅm	  H$   HD$ HuHD$x   DD$hL      H$   L$   HD$E  DD$lDL$p11H|$H
oK DD$tIEuH}~ DD$tH|$L11H
?K IHD$L@M  A8   H
 H|$L11IMuƅ    = 
  E1    H?  L-m?  LDS     H
 Ls HHH   HD$H'; H@H\$@ATHSHDt$0E1MME1P$   P$   P$   P$   PHT P1j j AVH$   K\H`H H5×  H$   |2  H$   H5J H$   踚ƅn  HEL$   HD$0H$   H  H$   Hl$HE1E1HD$8L    藟H|$8HL$   HǄ$       LHHͅ  蓭@	Y  H|$0H$   H5hI  8  H$   1H$   聭ƅ	  L$   IFH9  =Ʃ '
  1E1H  @   H
>T AVL=q Q<  j j PHT$X1ZH0      D$h    {f.     H|$  LD$ H
H b =9   1E1H
gS L(q    Q  j j PHT$H1TZL$   H MLרHǄ$       fD  HD$0L@  Mc  L#HtFfD  L$   x.D$   urPt.uex u_1HիLHuH|$01H$   H5v =SVLH$   HD$0H3fHX1H$   H:$   tHI11H
S H5G HHH  H$   H$   H螈)H$   L6HAIHl$Hݪ@	S  L$   H|$0H59  HǄ$       L;#  H$   H     H5F HN   s   HH   xc   x0   x4   =ۦ #  1E1H
3F 1   QLJn   j j PHT$H1WH @	@tH}u  ߩ@	@uY1=p H$   
  1E1HQ LWn   Sj j PHT$H1   1WH L腩1LxDD$hLm   L$   E\  H|$E11H
E DD$tHEuH};~ DD$tH|$H11H
D HHD$L@M  A8 w  H
 H|$H11SHHuE =`   1Ҁ} H8  H
5    LDHD$L
9  L2m H@HHDHҹ    LDH  AU1t$Pt$8P$   PAW$   PHP P1j j RH$   VH`fD  = HT$(1L
N Ll      d     HH
C 11MHD  H}H$   H5CC HǄ$       ,H$   81x D$pD$tf     L(8ƅx6M@  rfD  H5X  H
{  W  H={J TH]Ht
=   1E1ɐH
D  Lk    QH2 ]  j j P1TH v H
yk W  H52 H=39  If     =9 _  1E1fD  HiL r     SLk j j PHT$H1NTH HD  Hl$8   1M      L/B HȘ11Hڢ  D$h    Hl$HEH|$H
A 11hHHD$H@   B  HD$H@  @ HH}6  L@  ~f     Ht$(H
j .  H=ZA  H
x  V   H5W  H=6  HD$H@  H  A  H
? L
5  QH
J ATQj j PfD  HD$L@  MHH5L@  @ H|$LH5x@ L=M HǄ$         HT$x1E1HH
D@ 1   RLi Qz  j j PHT$X1PRH$   H0L
   wAą`  H$   HD$ >f.     H@  L
4  H	H߉t$LL$4t$H@  LL$HfHD$L
54  L@  HD$xMHH|$LL$p4LL$  HD$L@  HD$xMLDL$ 
@ =	   H$   1E1H9     PHHJ Lyg P1j j SHT$XQH0<I= MA;1H
I  MLg DQ     j j PHT$H1PH }HD$0H@  H  H!3  I H|$H$   4H$   HT$xL
2  HLDL$ H|$  LD$ H
3> sH
] L
2  QH
G ATQj j POHD$L
2  H@  HH\$t$ LL$H2t$ cH@  LL$HYI=u HǄ$          1E1H
G LXf D   Q~  j j PHT$H1OH$   HD$@H H|$A2HD$H@  AtgHH\
 H
F R1   ATL
1  Le Q`  j j PH- HHD$X1NH0AA@ H HuRH|$H$   ,3H$   HL
%1  HD$MH@  H	H\$t$Ll$HQ1t$H@  LL$H&= HǄ$          1E1HH
G ޿   t$@LYd QE  j j PHT$X1MH0HD$0L
^0  H@  HH\$0LL$PH0H@  LL$PHH|$0H$   1H$   HKL
/  DHD$0L
/  H@  H$   H H|$0LL$Xt$P0t$PLL$X  HD$0H@  H$   HLDHD$0L
w/  H@  HH\$0LL$8H/H@  LL$8HHD$xE1NH|$L1H$   L
/  HH|$Q/1҃= H$   #1E1H
E Lb Q  j j PH|$L0H$   L
.  HuH$   E1H
  
   H5[  H= H\$0H.H@  HH
,.  I AWAVAUATUSHHdH%(   HD$81HD$    HD$     HD$(    HD$0    H  HL|$(HzIHH5n9 Lz  LkMt
=̙   HD$(E1E1HL a    PH09 Pj j AVL-( 1   1LJH0H|$(1HT$ƅ  Lt$M   貜@%   H%   H?  L9svH[Ht
="   1E1    HL  @   H
`E AVL_` Q   j j P1-JH0  @ +@  LH57 Hy  H|$0M11L     H|$H
&8 L|$0TMD$H|$H$    MtA8 c  HH
i 11 Huƃ   =-   1ɀ   H+  HL$LDHL$H5'    L^_ HID$L%+  HHHDE1HMEH5 HAW   1Lt$PHTD AVP1j j Q   HH{HPH  H5 ex  =f L  H  E1E1HL^ L1PH3D       P1j j AVsHH0    HD$8dH+%(   E  HH[]A\A]A^A_D  H[Ht
=   1E1H
C L7^ L  @Q      j j P1GH fH|$(
   HT$ ƅ  HD$ =v H$  1E1HH
5 1Lt$L]    L  Q   j j P1~GL|$`H01H|$0M1   H
5 H|$MD$H|$MH<$ L$HH
5 11f     H{LH595 vLsMt
= -  HD$(E1E1HL\    PH4 Pj j AUH[Ht
=P   HD$(1E1H   L   PH7A L\ P1j j UcFH0f.     H
y\    H5H$ H=*  Hǃ      M@  HD$(L
(  MLL$(L$~  M@  1HD$(MLDf=y 	  1E1fD  H
@ L[ L   Q   j j P1EH     H@  HHH(H@  @ H@  L
'  HHL$
(H@  L$H@ H@  HD$(L
v'  H\HLL$4$'4$LL$  H@  1HD$(HLD"M@  HD$(L
 '  MLL$j'L$S  M@  1HD$(MLDL@  M   H  MH@  L
&  H	HL$'H@  L$HH@  L
s&  H2HLL$&H@  LL$HH@  L
-&  HHt$L$s&t$H@  L$HHD$(E1VH9&x7L@  E1H  MMEHD$(E1HD$(E1JH  E1lʌf.     AWAVAUATUSHH  dH%(   H$  1Hh  Ht$hIH  H?   H  IH  > D$J MtrHL$`Ht$hH|$HL$H$  Ht$Ll$ DD$K1   HHT$HH|$1HD$`    G	  uuIwGD$JMa  D$JA H$  dH+%(     HĨ  []A\A]A^A_D  HT$hIHHBHD$hS8 [뗐HD$D\$`HD$p    LM  HD$x    D$_ H$   AD  HV DHcHfD  H
aW   H5n  H= f     H
9W   H5n  H=Mt  H
W   H5n  H=#  H
V   H5jn  H=" H
V   H5Jn  H=#/ qH
V   H5*n  H=%/ QH$   LD\$(HǄ$       ,D\$(D$0y	Y  |$0E1x"H$   A<  HIE0A	Ht$_H
- 1D\$(L$   HLLD$_D\$(H$   H)  D$JA
t|$K tHHHHD$hHI)     HD$LL$(D$d    Lh M  $   ~  Ht$_L$   LD\$(HLLD\$(D$_H$   Yf     Ht$pLD\$(D\$(D$0  L$0  H|$pHt$xD\$(+D\$(D$0  T$0  HD$xD\$(Ht$_L$   HHPLLD$_D\$(H$   fD  Ht$_D\$(L$   HH #  f.     Ht$_D\$(L$   HHi  fHD$HPHw  Ht$_D\$(L$   Hd@ LD\$(LL$0[D\$(HHD$x
  Ht$_L|$8L$   L|$0L-)  Hl$0H< E1LHLL1ZD$_i  L[HD$xH|  L@H;$   uHLLLfD  $     HǄ$       LD$0= 	  1H! 1HfD  HHHk  D9uHH
 L1D  HHHB  D9uHH HHHY      QHEH8 R  PLR H/j  1j Ij Wt$`   <H0gHD$HxH  Ht$xD\$(o7D\$(D$0+  D$0xEHt$_D\$(HT$xL$   HffD  Ht$xLD\$(D\$(D$0yHD$H8HǄ$       HfD  HD$L`MN  I$@  H  Ht$_D\$(L$   HT$xHfD  Ht$xLD\$(N(D\$(D$0|$_@|$JH$    1mL$   1@   $   LD$d H      LHLL$0D\$(yD\$(LL$0@  Ll$xLL9t)Ht$_LLL$0H   D\$({LL$0D\$($   LtVD\$(L%  LL$0H\$8LHl$@LLH|HHDuHD\$(LL$0H\$8Hl$@ H5  LD\$(LL$0`D\$(I~e= LL$0HǄ$         1E1D\$(Hv  1H=p( ATLO WHvg     j j P19D\$XH0HL$dLLD\$(L$   LD$_D\$(uD$dH$       I@  HLD\$(LL$8VD\$(D$0ULL$8I@  @ I@     I8  HmL$_H$   L$J@ H
N    H5f  H= f     HD$Ll$ H(Ht
= 
  1E1HH=4 LN   AUH'f  W   j j P18H0e    HHT$xHLD\$(fD\$(D$0D\$(L|$8Hl$0H$   H94D$JD\$(L|$8Hl$0D$_Ht$dHD\$8D\$8LL$(D$0D$dH|$D$LLo AMa  L%	  LLL$8LD\$(yD\$(LL$8IŃ|$L?  AE D$(   tPHD\$8HLLL$@IfD  CHtLAyHtLD\$8LL$@IHHLLLL$@D\$8AyD\$8LL$@IAE   D$(L$L|$(9   HD\$8HLLL$@I{LHt$xD\$0LL$(#LL$(D\$0I@  HLD\$8LL$(lD\$8D$0kLL$(I@  |$LL%  t$0AE LL%  tBH\$0LD\$(f.     CHtLwHtHD\$(H\$0HLD$_LLL$   L)D\$(LD\$(\HT$xHLd$xLHD\$0LLL$(<eHT$xLL$(D\$0HHD$HxHI9LHLL$0D\$(dHT$xD\$(LL$0H=    |$L9|$(=˃ HǄ$       `1E1H
0 LJ 1   QHhb  I  j j P14L$H$   L$jH   111H$   L
H$   HtL
  |HH$   LH$   D\$(H3L
  ,LD\$8LL$(LL$(D\$8D$0|$0
D  HH HI  A A	LD\$(D\$(D$0I$@  H@  L
5  HHt$LL$zt$H@  LL$H@ D$_!H$   D\$H$   D\$|HH   H=`  5HD$T$0H8@ AUATUSHH1H(dH%(   HD$1HT$HD$    ~lH[HtcE1Ll$fD  HLd$H   }u;H}X t4H}1L~"Ht$H|$#uHEX        HuHD$dH+%(   uH([]A\A]|ff.     H   SHHH   H   HtH   H   H   HtqH   H   H{f   Ht   uyH{hH{pH{xHCHtH@(    H[餃@ H;XuZH   HPD      H
F    H5"  H=_  H
	V  V   H5 5  H=  H
F    H5  H=  H
y wHH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           udevadm Out of memory. ../src/udev/udevadm.c   %-12s  %s
 
See the %s for details.
 ../src/udev/udevadm-info.c ../src/udev/udevadm-control.c argc >= 0 argv el:sSRp:m:t:Vh Extraneous argument: %s /etc/udev /lib/udev ../src/udev/udevadm-hwdb.c ust:r:Vh hwdb.bin .hwdb ../src/shared/hwdb-util.c Reading file "%s" === trie in-memory === strings:          %8zu bytes === trie on-disk === size:             %8li bytes header:           %8zu bytes string store:     %8zu bytes strings start:    %8lu DRIVERS modalias resource driver parent    looking at %sdevice '%s':
     %s=="%s"
 module (not readable) ../src/basic/sort-util.h ATTRS ATTR     %s{%s}=="%s"
 SUBSYSTEM SUBSYSTEMS KERNEL KERNELS [0m [0;1;37m [0;1;32m [0;1;36m [0;1;35m [0;1;33m [0;1;38;5;100m %sP: %s%s%s
 %sM: %s%s%s
 %sR: %s%s%s
 %sU: %s%s%s
 %sT: %s%s%s
 block %sD: %s%c %u:%u%s
 %sI: %s%i%s
 /dev/ %sN: %s%s%s
 %sL: %s%i%s
 %sS: %s%s%s
 %sQ: %s%lu%s
 %sV: %s%s%s
 %sE: %s=%s
 datadir n/a array __unique_prefix__expr_9 enumerator No items. 
%zu items shown.
 /sys/ INFO_ DEVICE= ../src/basic/strv.c property symlink unknown query type Failed to scan devices: %m /run/udev/data /run/udev/links /run/udev/tags /run/udev/static_node-tags atced:n:p:q:rxP:w::Vh %sMAJOR=%u
%sMINOR=%u
 %u:%u
 action == ACTION_TREE Unknown device "%s": %m p->n_ref > 0 ../src/shared/udev-util.c Failed to acquire monitor: %m Failed to get subsystem: %m :initialization No device node found: %m Failed to get device path: %m %s%s='%s'
 ../src/udev/udevadm-lock.c *devnos || *n_devnos == 0 /sys/dev/block/%u:%u%s /partition /../dev [0;1;39m +hVd:b:t:p No arguments expected n_devnos > 0 /run/systemd/inaccessible/blk Failed to stat '%s': %m (timed-flock) sigemptyset(&ss) >= 0 sigaddset(&ss, SIGCHLD) >= 0 Timeout reached. r == SIGCHLD Failed to wait for child: %m si.si_pid == flock_pid ../src/basic/signal-util.h Refusing invalid fd: %d ../src/shared/fdset.c (lock) Failed to execute %s: %m Closing set fd %i (%s) UDEV ../src/udev/udevadm-monitor.c %-6s[%li.%06lu] %-8s %s (%s)
 pekus:t:Vh KERNEL - the kernel uevent Failed to run event loop: %m argc > 0 && !isempty(argv[0]) udevd ../src/udev/udevd.c systemd-udevd.service 252.38-1~deb12u1 c:de:Dt:N:hV Need to be root. ../src/basic/process-util.c Set children_max to %u ../src/basic/rlimit-util.c NOFILE ../src/basic/errno-util.h errno > 0 /run/udev LISTEN_PID LISTEN_FDS unsetenv("LISTEN_PID") == 0 unsetenv("LISTEN_FDS") == 0 LISTEN_FDNAMES Failed to listen on fds: %m Not invoked by PID1. /run/systemd/system/ _systemd systemd is not running. Failed to get cgroup: %m ../src/basic/cgroup-util.c trusted.delegate Created %s subcgroup. Failed to create manager: %m Failed to fork daemon: %m /run/udev/watch.old /run/udev/watch ../src/udev/udev-watch.c e = event_resolve(e) !event_pid_changed(e) WATCHDOG_USEC WATCHDOG_PID WATCHDOG=1 ../src/udev/udev-ctrl.c uctrl udev-ctrl e->state != SD_EVENT_FINISHED Failed to read udev rules: %m ../src/udev/udev-rules.c Event loop failed: %m +dhV ../src/shared/verbs.c argc >= optind Unknown command verb %s. Command verb required. Too few arguments. Too many arguments. SYSTEMD_OFFLINE ERRNO=%i ../src/udev/udevadm-settle.c /run/udev/queue environment kernel subsystem-match tag-match add change online offline unbind backing attribute-walk cleanup-db device-id-of-file export export-db export-prefix query wait-for-initialization no-pager |  |- `-    ,- * + <- -> ^ [LNK] :-] :-} :-) :-| :-( :-{ :-[ o-, ~ \ │  ├─ └─ ┌─ ┆ ‣ ● ○ × ↻ • μ ✓ ✗ ← → ↑ ↓ … ░ ▒ Σ [🡕] 😇 😀 🙂 😐 🙁 😨 🤢 🔐 👆 ♻️ ⤵️ ✨ update usr strict /etc/udev/hwdb.d /lib/udev/hwdb.d log-level log-priority stop-exec-queue start-exec-queue reload reload-rules children-max never late early debug exec-delay event-timeout resolve-names timeout-signal settle test-builtin wait Wait for pending udev events Control the udev daemon Test an event run Test a built-in command Lock a block device     %s [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS]

Send control commands or test the device manager.

Commands:
      Running in chroot, ignoring request.    This command expects one or more options.       Failed to parse log level '%s': %m      expect <KEY>=<value> instead of '%s'    Failed to extend environment: %m        Failed to parse maximum number of children '%s': %m     Failed to parse timeout value '%s': %m  %s control OPTION

Control the udev daemon.

  -h --help                Show this help
  -V --version             Show package version
  -e --exit                Instruct the daemon to cleanup and exit
  -l --log-level=LEVEL     Set the udev log level for the daemon
  -s --stop-exec-queue     Do not execute events, queue only
  -S --start-exec-queue    Execute events, flush queue
  -R --reload              Reload rules and databases
  -p --property=KEY=VALUE  Set a global property for all events
  -m --children-max=N      Maximum number of children
     --ping                Wait for udev to respond to a ping message
  -t --timeout=SECONDS     Maximum time to block for a reply
  Failed to initialize udev control: %m   Failed to send exit request: %m Failed to send request to set log level: %m     Failed to send request to stop exec queue: %m   Failed to send request to start exec queue: %m  Failed to send reload request: %m       Failed to send request to update environment: %m        Failed to send request to set number of children: %m    Failed to send a ping message: %m       Failed to wait for daemon to reply: %m  %s hwdb [OPTIONS]

  -h --help            Print this message
  -V --version         Print version of the program
  -u --update          Update the hardware database
  -s --strict          When updating, return non-zero exit value on any parsing error
     --usr             Generate in /lib/udev instead of /etc/udev
  -t --test=MODALIAS   Query database and print result
  -r --root=PATH       Alternative root path in the filesystem

NOTE:
The sub-command 'hwdb' is deprecated, and is left for backwards compatibility.
Please use systemd-hwdb instead.
      Either --update or --test must be used. Failed to enumerate hwdb files: %m      Failed to remove compiled hwdb database %s: %m  No hwdb files found, skipping.  No hwdb files found, compiled hwdb database %s removed. Match expected but got indented property "%s", ignoring line.   Property expected, ignoring record with no properties.  Property or empty line expected, got "%s", ignoring record.     nodes:            %8zu bytes (%8zu)     children arrays:  %8zu bytes (%8zu)     values arrays:    %8zu bytes (%8zu)     strings incoming: %8zu bytes (%8zu)     strings dedup'ed: %8zu bytes (%8zu)     nodes:            %8lu bytes (%8lu)     child pointers:   %8lu bytes (%8lu)     value pointers:   %8lu bytes (%8lu)     Failed to write database %s: %m sd_device_get_devpath(device, &str) >= 0        val = path_startswith(str, "/dev/")     Failed to open subdirectory '%s', ignoring: %m  Failed to get sysfs path of parent device: %m   Eliding tree below '%s', too deep.      Failed to get sysfs path of enumerated device: %m       Failed to get sysfs of child device: %m Failed to get sysfs path of device: %m  Failed to allocate device enumerator: %m        Failed to install parent enumerator match: %m   ../src/libsystemd/sd-device/device-enumerator.c Failed to enable enumeration of uninitialized devices: %m       Failed to scan for devices and subsystems: %m   Failed to add parent devices: %m        array = device_enumerator_get_devices(e, &n)    Failed to set allowing uninitialized flag: %m   Failed to parse timeout value: %m       %s info [OPTIONS] [DEVPATH|FILE]

Query sysfs or the udev database.

  -h --help                   Print this message
  -V --version                Print version of the program
  -q --query=TYPE             Query device information:
       name                     Name of device node
       symlink                  Pointing to node
       path                     sysfs device path
       property                 The device properties
       all                      All values
     --property=NAME          Show only properties by this name
     --value                  When showing properties, print only their values
  -p --path=SYSPATH           sysfs device path used for query or attribute walk
  -n --name=NAME              Node or symlink name used for query or attribute walk
  -r --root                   Prepend dev directory to path names
  -a --attribute-walk         Print all key matches walking along the chain
                              of parent devices
  -t --tree                   Show tree of devices
  -d --device-id-of-file=FILE Print major:minor of device containing this file
  -x --export                 Export key/value pairs
  -P --export-prefix          Export the key name with a prefix
  -e --export-db              Export the content of the udev database
  -c --cleanup-db             Clean up the udev database
  -w --wait-for-initialization[=SECONDS]
                              Wait for device to be initialized
     --no-pager               Do not pipe output into a pager
        Positional arguments are not allowed with -d/--device-id-of-file.       Failed to build argument list: %m       A device name or path is required       Only one device may be specified with -a/--attribute-walk and -t/--tree -x/--export or -P/--export-prefix cannot be used with --value   Bad argument "%s", expected an absolute path in /dev/ or /sys/ or a unit name: %m       ../src/libsystemd/sd-device/sd-device.c device || (subsystem && devlink)        sd_device_get_sysname(device, &data.sysname) >= 0 || devlink    Failed to get default event: %m Failed to add %s subsystem match to monitor: %m Failed to attach event to device monitor: %m    Failed to start device monitor: %m      Failed to add timeout event source: %m  Failed to wait for device to be initialized: %m ../src/libsystemd/sd-event/sd-event.c   ../src/libsystemd/sd-device/device-monitor.c    node = path_startswith(node, "/dev/")   devlink = path_startswith(devlink, "/dev/")     
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
        Failed to find whole block device for '%s': %m  Device %u:%u already listed for locking, ignoring.      %s [OPTIONS...] COMMAND
%s [OPTIONS...] --print

%sLock a block device and run a command.%s

  -h --help            Print this message
  -V --version         Print version of the program
  -d --device=DEVICE   Block device to lock
  -b --backing=FILE    File whose backing block device to lock
  -t --timeout=SECS    Block at most the specified time waiting for lock
  -p --print           Only show which block device the lock would be taken on

See the %s for details.
 Failed to make path '%s' absolute: %m   Failed to parse --timeout= parameter: %s        Too few arguments, command to execute.  No devices to lock specified, refusing. Failed to format block device path: %m  Path '%s' no longer refers to specified block device %u:%u: %m  Failed to lock device '%s': %m  Device '%s' is currently locked.        Device '%s' is currently locked, waiting%s      Device '%s' is currently locked, waiting %s%s   sigprocmask_many(SIG_BLOCK, &_t, 17, -1) >= 0   Failed to wait for SIGCHLD: %m  Unexpected exit status of file lock child.      Got SIGCHLD for other child, continuing.        sigprocmask(SIG_SETMASK, ss, NULL) >= 0 Successfully locked %s (%u:%u)%s        IN_SET(group, MONITOR_GROUP_UDEV, MONITOR_GROUP_KERNEL) clock_gettime(CLOCK_MONOTONIC, &ts) == 0        %s monitor [OPTIONS]

Listen to kernel and udev events.

  -h --help                                Show this help
  -V --version                             Show package version
  -p --property                            Print the event properties
  -k --kernel                              Print kernel uevents
  -u --udev                                Print udev events
  -s --subsystem-match=SUBSYSTEM[/DEVTYPE] Filter events by subsystem
  -t --tag-match=TAG                       Filter events by tag
    Failed to initialize event: %m  sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0     monitor will print the received events for:     UDEV - the event which udev sends out after rule processing     Failed to parse --children-max= value '%s', ignoring: %m        Failed to parse --exec-delay= value '%s', ignoring: %m  Failed to parse --timeout-signal= value '%s', ignoring: %m      Failed to parse --event-timeout= value '%s', ignoring: %m       Invalid --resolve-names= value '%s', ignoring.  %s [OPTIONS...]

Rule-based manager for device events and files.

  -h --help                   Print this message
  -V --version                Print version of the program
  -d --daemon                 Detach and run in the background
  -D --debug                  Enable debug output
  -c --children-max=INT       Set maximum number of workers
  -e --exec-delay=SECONDS     Seconds to wait before executing RUN=
  -t --event-timeout=SECONDS  Seconds to wait before terminating an event
  -N --resolve-names=early|late|never
                              When to resolve users and groups

See the %s for details.
 Failed to parse kernel command line, ignoring: %m       Failed to determine number of local CPUs, ignoring: %m  Failed at setting rlimit %lu for resource RLIMIT_%s. Will attempt setting value %lu instead.    Failed to set RLIMIT_NOFILE: %m Failed to create /run/udev: %m  ../src/libsystemd/sd-daemon/sd-daemon.c unsetenv("LISTEN_FDNAMES") == 0 Failed to check if systemd is running: %m       Dedicated cgroup not found: %m  The cgroup %s is not delegated to us.   Failed to read trusted.delegate attribute: %m   Failed to create %s subcgroup: %m       Failed to initialize udev control socket: %m    Failed to bind udev control socket: %m  Failed to initialize device monitor: %m Failed to set receive buffer size for device monitor, ignoring: %m      Failed to bind netlink socket: %m       Starting systemd-udevd version 252.38-1~deb12u1 Failed to redirect standard streams to /dev/null: %m    Failed to create socketpair for communicating with workers: %m  Failed to enable SO_PASSCRED: %m        Failed to create inotify descriptor: %m Failed to move watches directory '/run/udev/watch/'. Old watches will not be restored: %m       Failed to open old watches directory '/run/udev/watch.old/'. Old watches will not be restored: %m       Failed to create sd_device object from saved watch handle '%i', ignoring: %m    sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, SIGHUP, SIGCHLD, -1) >= 0    Failed to allocate event loop: %m       Failed to create SIGINT event source: %m        Failed to create SIGTERM event source: %m       Failed to create SIGHUP event source: %m        Failed to create watchdog event source: %m      Failed to attach event to udev control: %m      Failed to set IDLE event priority for udev control event source: %m     Failed to create inotify event source: %m       Failed to create worker event source: %m        Failed to create post event source: %m  Failed to apply permissions on static device nodes, ignoring: %m        STOPPING=1
STATUS=Shutting down...      Failed to parse $SYSTEMD_OFFLINE, ignoring: %m  Failed to check if we're running in chroot, assuming not: %m    Running in chroot, ignoring command '%s'        Failed to check the existence of "%s", ignoring: %m     Failed to check if udev queue is empty, ignoring: %m    Query sysfs or the udev database        Request events from the kernel  Listen to kernel and udev events        Wait for device or device symlink                               `bbbbbbbbbbbbbbbbbb`xbbb`bbbbbbbbbbbbbbbPbbb0bbbbaabb abb``ksssssssssssssssssssssskssssssssssssssssscksssssssssPkDk1k%k$|L<ܙѳLd2/:/:/:/:6/:/:/:/:/:/:/:/:/:r6/:/:/:/:/:/:/:a6/:/:/:/:/:/:/:/:/:/:/:/: 655/:/:]5/:/:/:/:/:/:/:/:/:/:/:5on_inotify              sd_event_source_get_event check parse_argv      monitor_main    monitor_main    sd_device_get_action            device_monitor_handler help     parse_argv      parse_argv      device_path_make_inaccessible   timespec_store  block_signals_reset     lock_device     lock_device     fdset_put       fdset_close     lock_main       lock_main       bsearch_safe    _qsort_safe     find_devno      find_devno      cleanup_dir             strv_split_and_extend_full      export_devices  sd_device_monitor_unref sd_event_unref          sd_device_get_is_initialized                    device_wait_for_initialization_internal                         device_wait_for_initialization_internal query_device    query_device            print_device_chain              sd_device_unref info_main       info_main       sd_device_enumerator_allow_uninitialized        print_tree      print_tree      special_glyph   output_tree_device              output_tree_device      draw_tree       draw_tree               cleanup_dirs_after_db_cleanup   cleanup_dirs_after_db_cleanup   sd_device_get_sysnum            sd_device_get_devtype           sd_device_get_ifindex           device_get_devlink_priority     sd_device_get_diskseq   print_record            sd_device_get_sysname           sd_device_get_sysattr_next      _qsort_safe     print_all_attributes            print_all_attributes            sysattr_compare parse_argv      trie_store      import_file     hwdb_update     hwdb_main       parse_argv      parse_argv      control_main help       parse_argv      parse_argv      must_be_root    negative_errno          setrlimit_closest               rlimit_nofile_bump      negative_errno  unsetenv_all            sd_device_monitor_set_receive_buffer_size       negative_errno  cg_get_xattr_bool               create_subcgroup        manager_new             udev_watch_restore              sd_event_set_watchdog           udev_ctrl_start udev_ctrl_get_event_source      sd_event_add_post               udev_rules_apply_static_dev_perms                               udev_rule_line_apply_static_dev_perms   main_loop       main_loop       run_udevd       parse_argv              running_in_chroot_or_offline    dispatch_verb   dispatch_verb main help         P                            worker->manager !event->worker !worker->event ../src/udev/udevadm-trigger.c __unique_prefix__expr_8 settle %s
 __unique_prefix__expr_18 ../src/udev/udevadm-util.c /sys Invalid action '%s'   %-14s  %s
 a:Vh __unique_prefix__expr_0 __unique_prefix__expr_1 Unknown command '%s' ../src/udev/udevadm-wait.c periodic-timer-event-source t:hV ../src/basic/path-util.c __unique_prefix__expr_24 timeout-event-source Failed to set up timeout: %m inotify-event-source Failed to set up inotify: %m ../src/basic/hashmap.c __unique_prefix__expr_15 Cleanup idle workers UDEV_WORKER_FAILED UDEV_WORKER_SIGNAL UDEV_WORKER_ERRNO UDEV_WORKER_ERRNO_NAME UDEV_WORKER_EXIT_STATUS UDEV_WORKER_SIGNAL_NAME __unique_prefix__expr_17 ../src/udev/udev-event.c ../src/udev/udevadm-test.c a:N:Vh syspath parameter missing. sigfillset(&mask) >= 0 run: '%s'
 DEVPATH_OLD Device is queued __unique_prefix__expr_25 Failed to receive message: %m event->manager event->manager->event retry-event __unique_prefix__expr_27 Failed to read inotify fd: %m __unique_prefix__expr_32 __unique_prefix__expr_33 __unique_prefix__expr_34 Worker [%i] exited. udev.log_level udev.log_priority ../src/basic/proc-cmdline.h ../src/basic/log.c udev.event_timeout udev.children_max udev.exec_delay udev.timeout_signal udev.blockdev_read_only udev. __unique_prefix__expr_10 udev-ctrl-connection Access denied ../src/basic/unit-name.c e = strrchr(n, '.') s = strrchr(name, '.') 0123456789abcdef bus = bus_resolve(bus) SysFSPath member_name_is_valid(member) !bus_pid_changed(bus) Get org.freedesktop.systemd1 /etc/udev/rules.d /run/udev/rules.d /usr/local/lib/udev/rules.d /usr/lib/udev/rules.d .rules Udev rules need reloading __unique_prefix__expr_31 drbd Failed to get sysname: %m Failed to get devname: %m __unique_prefix__expr_16 Processing device Failed to flock(%s): %m loop nbd zram Running built-in command "%s" Running command "%s" Device processed , ignoring Failed to open '%s'%s: %m Failed to create socket: %m __unique_prefix__expr_35 loop_event Device ready for processing sender (udev-worker) Failed to fork() worker: %m NOTIFY_SOCKET /proc/self/oom_score_adj pid > 1 *q > 0 *q < UINT_MAX kill-workers-event ../src/udev/udev-node.c .lock cgroup.threads __unique_prefix__expr_26 Invalid key format '%s' __unique_prefix__expr_30 userdata !uctrl->event udev-ctrl-wait-io udev-ctrl-wait-timeout Invalid path: %s t:E:Vhs:e:q systemd-udev-settle.service WantedBy RequiredBy OFFENDING_UNITS=%s /run/udev/control systemd-udevd is not running. subsystems Unknown type --type=%s Unknown action '%s' tag vnqt:c:s:S:a:A:p:g:y:b:wVh Failed to scan subsystems: %m *str _nn_ <= ALLOCA_MAX invalid substitution type attribute value missing uaccess Manage device node user ACL usb_id USB device properties path_id net_setup_link Configure network link net_id Network device properties kmod Kernel module loader input_id Input device properties Hardware database btrfs btrfs volume management blkid devnode tempnode sysfs number major minor result EPERM ENOENT ESRCH EINTR ENXIO E2BIG ENOEXEC ECHILD EAGAIN ENOMEM EACCES EFAULT ENOTBLK EBUSY EEXIST EXDEV ENODEV ENOTDIR EISDIR EINVAL ENFILE EMFILE ENOTTY ETXTBSY EFBIG ENOSPC ESPIPE EROFS EMLINK EPIPE EDOM ERANGE EDEADLK ENAMETOOLONG ENOLCK ENOSYS ENOTEMPTY ELOOP ENOMSG EIDRM ECHRNG EL2NSYNC EL3HLT EL3RST ELNRNG EUNATCH ENOCSI EL2HLT EBADE EBADR EXFULL ENOANO EBADRQC EBADSLT EBFONT ENOSTR ENODATA ETIME ENOSR ENONET ENOPKG EREMOTE ENOLINK EADV ESRMNT ECOMM EPROTO EMULTIHOP EDOTDOT EBADMSG EOVERFLOW ENOTUNIQ EBADFD EREMCHG ELIBACC ELIBBAD ELIBSCN ELIBMAX ELIBEXEC EILSEQ ERESTART ESTRPIPE EUSERS ENOTSOCK EDESTADDRREQ EMSGSIZE EPROTOTYPE ENOPROTOOPT EPROTONOSUPPORT ESOCKTNOSUPPORT EOPNOTSUPP EPFNOSUPPORT EAFNOSUPPORT EADDRINUSE EADDRNOTAVAIL ENETDOWN ENETUNREACH ENETRESET ECONNABORTED ECONNRESET ENOBUFS EISCONN ENOTCONN ESHUTDOWN ETOOMANYREFS ETIMEDOUT ECONNREFUSED EHOSTDOWN EHOSTUNREACH EALREADY EINPROGRESS ESTALE EUCLEAN ENOTNAM ENAVAIL EISNAM EREMOTEIO EDQUOT ENOMEDIUM EMEDIUMTYPE ECANCELED ENOKEY EKEYEXPIRED EKEYREVOKED EKEYREJECTED EOWNERDEAD ENOTRECOVERABLE ERFKILL EHWPOISON initialized removed added swap automount timer verbose dry-run quiet action subsystem-nomatch attr-match attr-nomatch property-match sysname-match parent-match initialized-match initialized-nomatch wait-daemon prioritized-subsystem exit-if-exists seq-start seq-end    Failed to get syspath of device event, ignoring: %m     Got uevent for unexpected device '%s', ignoring.        Got uevent without synthetic UUID for device '%s', ignoring: %m Got uevent not matching expected UUID for device '%s', ignoring.        settle %02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x
    Worker [%i] processing SEQNUM=%lu is taking a long time device is closed, synthesising 'change' on %s   Failed to trigger 'change' uevent: %m   action >= 0 && action < _SD_DEVICE_ACTION_MAX   ../src/udev/udevadm-test-builtin.c      %s test-builtin [OPTIONS] COMMAND DEVPATH

Test a built-in command.

  -h --help               Print this message
  -V --version            Print version of the program

  -a --action=ACTION|help Set action string
Commands:
        Expected two arguments: command string and device path. Failed to open device '%s': %m  Builtin command '%s' fails: %m  ../src/libsystemd/sd-netlink/sd-netlink.c       Failed to check if udev queue is empty, assuming empty: %m      Failed to check if device "%s" is %s, assuming not %s: %m       Failed to get sysname of received device, ignoring: %m  Failed to extract filename from "%s", ignoring: %m      Failed to get devname of received device, ignoring: %m  All requested devices popped up without receiving kernel uevents.       Failed to reset periodic timer event source, ignoring: %m       Failed to parse -t/--timeout= parameter: %s     Failed to parse --initialized= parameter: %s    %s wait [OPTIONS] DEVICE [DEVICE…]

Wait for devices or device symlinks being created.

  -h --help             Print this message
  -V --version          Print version of the program
  -t --timeout=SEC      Maximum time to wait for the device
     --initialized=BOOL Wait for devices being initialized by systemd-udevd
     --removed          Wait for devices being removed
     --settle           Also wait for all queued events being processed
       Too few arguments, expected at least one device path or device symlink. Device path cannot contain "..".        Specified path "%s" does not start with "/dev/" or "/sys/".     Failed to initialize sd-event: %m       udev-uevent-monitor-event-source        Failed to set up udev uevent monitor: %m        kernel-uevent-monitor-event-source      Failed to set up kernel uevent monitor: %m      Failed to set up periodic timer: %m     Timed out for waiting devices being %s. Unknown event result "%i", ignoring.    Failed to broadcast event to libudev listeners, ignoring: %m    Worker [%i] processing SEQNUM=%lu killed        --resolve-names= must be early, late or never   %s test [OPTIONS] DEVPATH

Test an event run.

  -h --help                            Show this help
  -V --version                         Show package version
  -a --action=ACTION|help              Set action string
  -N --resolve-names=early|late|never  When to resolve names
 This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
     sigprocmask(SIG_SETMASK, NULL, &sigmask_orig) >= 0      ../src/libsystemd/sd-device/device-private.c    sigprocmask(SIG_SETMASK, &mask, &sigmask_orig) >= 0     The command '%s' is truncated while substituting into '%s'.     manager->pid == getpid_cached() Failed to touch /run/udev/queue, ignoring: %m   Failed to insert device into event queue: %m    Ignoring worker message with invalid size %zi bytes     Ignoring worker message without valid PID       Worker [%i] returned, but is no longer tracked  Failed to get current time, skipping event (SEQNUM=%lu, ACTION=%s): %m  The underlying block device is locked by a process more than %s, skipping event (SEQNUM=%lu, ACTION=%s).        Failed to reset timer event source for retrying event, skipping event (SEQNUM=%lu, ACTION=%s): %m       Failed to create sd_device object from watch handle, ignoring: %m       Failed to get device node, ignoring: %m Received inotify event for %s.  ../src/fundamental/string-util-fundamental.c    Failed to re-read partition table, ignoring: %m Received invalid inotify event, ignoring.       Worker [%i] exited with return code %i. Worker [%i] terminated by signal %i (%s).       Missing argument for %s= kernel command line switch, ignoring.  level == LOG_NULL || (level & LOG_PRIMASK) == level     Failed to parse udev.blockdev-read-only argument, ignoring: %s  All physical block devices will be marked read-only.    Unknown udev kernel command line option "%s", ignoring. Failed to parse "%s=%s", ignoring: %m   Failed to accept ctrl connection: %m    Failed to receive credentials of ctrl connection: %m    Invalid sender uid %u, closing connection       Failed to set SO_PASSCRED, ignoring: %m Failed to create event source for udev control connection: %m   Failed to open connection to systemd, using unit name as syspath: %m    Failed to convert "%s" to a device path: %m     ../src/libsystemd/sd-bus/bus-convenience.c      org.freedesktop.systemd1.Device isempty(interface) || interface_name_is_valid(interface)        org.freedesktop.DBus.Properties org.freedesktop.DBus.Error.AccessDenied Failed to get SysFSPath= dbus property for %s: %s       READY=1
STATUS=Processing with %u children at max       Failed to send readiness notification, ignoring: %m     sd_event_now(manager->event, CLOCK_MONOTONIC, &now_usec) >= 0   Failed to get stats of udev rules, ignoring: %m RELOADING=1
STATUS=Flushing configuration...    Failed to read udev rules, using the previously loaded rules, ignoring: %m      Failed to get whole disk device: %m     Failed to open '%s', ignoring: %m       Failed to mark block device '%s' read-only: %m  Successfully marked block device '%s' read-only.        Failed to run built-in command "%s", ignoring: %m       Delaying execution of "%s" for %s.      Failed to execute '%s', ignoring: %m    Command "%s" returned %d (error), ignoring.     Failed to add inotify watch, ignoring: %m       Block device is currently locked, requeueing the event. Failed to process device, ignoring: %m  manager->worker_watch[WRITE_END] >= 0   Failed to send signal to main daemon, ignoring: %m      Failed to listen udev control socket: %m        Failed to disable event source for cleaning up idle workers, ignoring: %m       event->blocker_seqnum <= event->seqnum  loop_event->seqnum > event->blocker_seqnum && loop_event->seqnum < event->seqnum        SEQNUM=%lu blocked by SEQNUM=%lu        Failed to check dependencies for event (SEQNUM=%lu, ACTION=%s), assuming there is no blocking event, ignoring: %m       Worker [%i] did not accept message, killing the worker: %m      Maximum number (%u) of children reached.        Worker: Failed to enable receiving of device: %m        unsetenv("NOTIFY_SOCKET") == 0  sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, -1) >= 0     Failed to reset OOM score, ignoring: %m Failed to set SIGTERM event: %m Failed to attach event loop to device monitor: %m       Failed to create worker object: %m      Worker [%i] is forked for processing SEQNUM=%lu.        Failed to unlink /run/udev/queue, ignoring: %m  No events are queued, removing /run/udev/queue. Failed to open directory '/run/udev/links', ignoring: %m        Failed to remove '/run/udev/links/%s', ignoring: %m     STOPPING=1
STATUS=Starting shutdown...  Received invalid udev control message (SET_LOG_LEVEL, %i), ignoring.    Received udev control message (SET_LOG_LEVEL), setting log_level=%i     Received udev control message (STOP_EXEC_QUEUE) Received udev control message (START_EXEC_QUEUE)        Received udev control message (RELOAD)  Received udev control message (ENV), unsetting '%s'     Received udev control message (ENV), setting '%s=%s'    Received invalid udev control message (SET_MAX_CHILDREN, %i), ignoring. Received udev control message (SET_MAX_CHILDREN), setting children_max=%i       Received udev control message (PING)    Received udev control message (EXIT)    Received unknown udev control message, ignoring Failed to get size of message: %m       Failed to receive ctrl message: %m      No sender credentials received, ignoring message        Invalid sender uid %u, ignoring message Message magic 0x%08x doesn't match, ignoring message    %s settle [OPTIONS]

Wait for pending udev events.

  -h --help                 Show this help
  -V --version              Show package version
  -t --timeout=SEC          Maximum time to wait for events
  -E --exit-if-exists=FILE  Stop waiting if file exists
    Option -%c no longer supported. Failed to determine unit we run in, ignoring: %m        Failed to open connection to systemd, skipping dependency queries: %m   MESSAGE=systemd-udev-settle.service is deprecated. Please fix %s not to pull it in.     MESSAGE_ID=1c0454c1bd2241e0ac6fefb4bc631433     systemd-udev-settle.service is deprecated.      Failed to create control socket for udev daemon: %m     Failed to connect to udev daemon, ignoring: %m  Failed to check if /run/udev/control exists: %m Failed to get default sd-event object: %m       Failed to add inotify watch for /run/udev: %m   Failed to add timer event source: %m    Timed out for waiting the udev queue being empty.       Failed to add subsystem match '%s': %m  Failed to add negative subsystem match '%s': %m Failed to add sysattr match '%s=%s': %m Failed to add negative sysattr match '%s=%s': %m        Failed to add property match '%s=%s': %m        Failed to add tag match '%s': %m        Failed to add sysname match '%s': %m    Failed to open the device '%s': %m      Failed to add parent match '%s': %m     Failed to parse timeout value '%s', ignoring: %m        Failed to parse prioritized subsystem '%s': %m  Failed to add prioritized subsystem '%s': %m    %s trigger [OPTIONS] DEVPATH

Request events from the kernel.

  -h --help                         Show this help
  -V --version                      Show package version
  -v --verbose                      Print the list of devices while running
  -n --dry-run                      Do not actually trigger the events
  -q --quiet                        Suppress error logging in triggering events
  -t --type=                        Type of events to trigger
          devices                     sysfs devices (default)
          subsystems                  sysfs subsystems and drivers
  -c --action=ACTION|help           Event action value, default is "change"
  -s --subsystem-match=SUBSYSTEM    Trigger devices from a matching subsystem
  -S --subsystem-nomatch=SUBSYSTEM  Exclude devices from a matching subsystem
  -a --attr-match=FILE[=VALUE]      Trigger devices with a matching attribute
  -A --attr-nomatch=FILE[=VALUE]    Exclude devices with a matching attribute
  -p --property-match=KEY=VALUE     Trigger devices with a matching property
  -g --tag-match=TAG                Trigger devices with a matching tag
  -y --sysname-match=NAME           Trigger devices with this /sys path
     --name-match=NAME              Trigger devices with this /dev name
  -b --parent-match=NAME            Trigger devices with that parent device
     --initialized-match            Trigger devices that are already initialized
     --initialized-nomatch          Trigger devices that are not initialized yet
  -w --settle                       Wait for the triggered events to complete
     --wait-daemon[=SECONDS]        Wait for udevd daemon to be initialized
                                    before triggering uevents
     --uuid                         Print synthetic uevent UUID
     --prioritized-subsystem=SUBSYSTEM[,SUBSYSTEM…]
                                    Trigger devices from a matching subsystem first
  Failed to connect to udev daemon: %m    Failed to create device monitor object: %m      sd-device-enumerator: Failed to scan modules: %m        sd-device-enumerator: Failed to scan subsystems: %m     sd-device-enumerator: Failed to scan drivers: %m        Failed to scan devices and subsystems: %m       Failed to get syspath of enumerated devices, ignoring: %m       Failed to write '%s' to '%s/uevent'%s: %m       %02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x
   attribute value not a valid number      Compose persistent device path  Keyboard scan code to key mapping       Filesystem and partition probing                        8Phl#0%0%0%0%0%"0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%"0%0%0%0%0%0%0%0%0%0%0%0%0%0%4"0%0%#0%0%0%0%0%0%0%0%4"0%4""42,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,1,,,,,,,,,,,,,,,,,,,,t.//,,,,,,/1,,,,,,,,,,L0,,\0<0,,-.,,d.D2,,|-+++X+X+    safe_atou_optional_plus get_subst_type  udev_event_new  udev_ctrl_wait  udev_ctrl_send          udev_ctrl_event_handler         udev_ctrl_event_handler udev_ctrl_ref                           udev_ctrl_connection_event_handler                              udev_ctrl_connection_event_handler              udev_ctrl_attach_event          udev_ctrl_unref udev_ctrl_enable_receiving      udev_ctrl_enable_receiving      udev_ctrl_new_from_fd           proc_cmdline_value_missing      parse_proc_cmdline_item         parse_proc_cmdline_item         device_monitor_allow_unicast_sender     worker_main     worker_main             device_monitor_disconnect       sd_device_monitor_ref   worker_new      worker_spawn    event_run       event_run               event_is_blocked                event_is_blocked                event_queue_start               udev_node_cleanup       on_post on_post on_sigchld      on_sigchld      on_sighup       on_sigterm              synthesize_change       on_inotify      on_inotify              synthesize_change_one           hashmap_base_ensure_allocated   on_ctrl_msg     on_ctrl_msg     event_requeue   event_requeue   on_worker       on_worker       device_ensure_usec_initialized  sd_device_get_seqnum            event_queue_insert              event_queue_insert      on_uevent       on_uevent               worker_attach_event             on_event_timeout_warning        on_event_timeout_warning        on_event_timeout                on_event_timeout                worker_lock_whole_disk          worker_mark_block_device_read_only              udev_event_execute_run                          udev_event_process_inotify_watch                                udev_event_process_inotify_watch                worker_send_result              worker_device_monitor_handler   worker_device_monitor_handler   device_get_whole_disk           device_get_whole_disk           device_broadcast                device_broadcast                on_kill_workers_event           on_kill_workers_event           udev_rules_should_reload        manager_reload  manager_reload  notify_ready    manager_exit    entry_value     manager_kill_workers            manager_clear_for_worker        parse_argv      parse_argv      is_device_path  setup_timer     wait_main       on_periodic_timer               on_periodic_timer       check_and_exit          device_monitor_handler          device_monitor_handler  negative_errno check    parse_device_action             find_device_with_action         unit_name_to_type               unit_name_is_hashed     startswith              unit_name_path_unescape         bus_pid_changed sd_bus_get_property_string      find_device_from_unit                           sd_device_enumerator_add_match_tag              match_subsystem device_enumerator_scan_subsystems               sd_device_trigger       exec_list       trigger_main    trigger_main            sd_device_monitor_get_event     device_monitor_handler          device_monitor_handler  parse_argv      parse_argv              sd_netlink_unref        builtin_main            log_set_max_level       parse_argv      parse_argv      device_seal     test_main       test_main       parse_argv      parse_argv              emit_deprecation_warning        settle_main     /run/udev/controerr __unique_prefix__expr_13 '%s'(%s) '%s' Process '%s' succeeded. slink Failed to get device node: %m Failed to lstat() '%s': %m ../src/shared/label.c from %016lx /dev/disk/by-diskseq -part 0123456789 Failed to remove '%s': %m %i:%s node_fd >= 0 cannot stat() node %s: %m selinux ../src/shared/selinux-util.c /proc/self/fd/%i smack event->dev result || ressize == 0 Failed to split command: %m Invalid command '%s' Starting '%s' (spawn) Failed to get ACTION: %m IFINDEX MAJOR MINOR ID_RENAMING Failed to get ifindex: %m INTERFACE INTERFACE_OLD __unique_prefix__expr_20 Failed to get devnum: %m Failed to get devnode UID: %m Failed to get devnode GID: %m Cannot open node %s: %m dev_old Failed to open %s: %m Failed to stat %s: %m /run/udev/static_node-tags/ rule_line token op >= 0 && op < _OP_TYPE_MAX class *?[ empty value attribute %s:%u Invalid %s for %s. *line  	

,  	

={ +-!:  	

 ../src/basic/escape.c t >= ans l <= i - (str + 1) rule_file   fd == spawn->fd_stdout || fd == spawn->fd_stderr        !spawn->result || spawn->result_len < spawn->result_size        Failed to read stdout of '%s': %m       Truncating stdout of '%s' up to %zu byte.       Failed to split output from '%s'(%s), ignoring: %m      Failed to reactivate IO source of '%s'  Spawned process '%s' [%i] is taking longer than %s to complete  Spawned process '%s' [%i] timed out after %s, killing   Process '%s' failed with exit code %i.  Process '%s' terminated by signal %s.   Process '%s' failed due to unknown reason.      Conflicting inode '%s' found, symlink to '%s' will not be created.      Failed to create parent directory of '%s': %m   Failed to create symlink '%s' to '%s': %m       Successfully created symlink '%s' to '%s'       Failed to get sysnum, but symlink '%s' is requested, ignoring: %m       Unexpected by-diskseq symlink '%s' is requested, proceeding anyway.     Failed to get DISKSEQ property, but symlink '%s' is requested, ignoring: %m     Unexpected by-diskseq symlink '%s' is requested (DISKSEQ=%s), proceeding anyway.        Failed to build stack directory name for '%s': %m       Failed to open stack directory '%s': %m Failed to lock stack directory '%s': %m Failed to update stack directory '%s': %m       Failed to read '%s/%s', ignoring: %m    Failed to determine device node with the highest priority for '%s': %m  No reference left for '%s', removing    Failed to remove '%s', ignoring: %m     Setting permissions %s, uid=%u, gid=%u, mode=%#o        Failed to set owner/mode of %s to uid=%u, gid=%u, mode=%#o: %m  Preserve permissions of %s, uid=%u, gid=%u, mode=%#o    Failed to set SELinux security context %s on path %s: %m        SECLABEL: failed to set SELinux label '%s': %m  SECLABEL: set SELinux label '%s'        SECLABEL: failed to set SMACK label '%s': %m    SECLABEL: set SMACK label '%s'  SECLABEL: unknown subsystem, ignoring '%s'='%s' Failed to adjust timestamp of node %s: %m       Failed to create pipe for command '%s': %m      Failed to get device properties Failed to fork() to execute command '%s': %m    Failed to allocate sd-event object: %m  Failed to create timeout warning event source: %m       Failed to create timeout event source: %m       Failed to create stdio event source: %m Failed to enable stdio event source: %m Failed to create stderr event source: %m        Failed to enable stderr event source: %m        Failed to create sigchild event source: %m      Failed to set priority to sigchild event source: %m     Failed to wait for spawned command '%s': %m     Failed to read database under /run/udev/data/: %m       Failed to remove corresponding tag files under /run/udev/tag/, ignoring: %m     Failed to delete database under /run/udev/data/, ignoring: %m   Failed to remove inotify watch, ignoring: %m    Failed to remove/update device symlink '%s', ignoring: %m       Failed to clone sd_device object: %m    Failed to copy all tags from old database entry, ignoring: %m   Failed to remove 'ID_RENAMING' property: %m     Failed to apply udev rules: %m  Invalid network interface name, ignoring: %s    Failed to add 'ID_RENAMING' property: %m        Failed to update properties with new name '%s': %m      Failed to update database under /run/udev/data/: %m     ../src/libsystemd/sd-netlink/netlink-util.c     Failed to get alternative names on network interface %i, ignoring: %m   Failed to remove '%s' from alternative names on network interface %i: %m        Failed to restore '%s' as an alternative name on network interface %i, ignoring: %m     Network interface '%s' is already up, cannot rename to '%s'.    Failed to rename network interface %i from '%s' to '%s': %m     Network interface %i is renamed from '%s' to '%s'       Failed to get devnode mode: %m  Device node %s is missing, skipping handling.   Failed to apply devnode permissions: %m Removing/updating old device symlink '%s', which is no longer belonging to this device. Failed to create/update device symlink '%s', ignoring: %m       Failed to create device symlink '%s': %m        Failed to set initialization timestamp: %m      Failed to update tags under /run/udev/tag/: %m  %s is neither block nor character device, ignoring.     Failed to create parent directory for %s: %m    Failed to create symlink %s -> %s: %m   %s:%u Unknown %s '%s', ignoring %s:%u Failed to resolve %s '%s', ignoring: %m   IN_SET(op, OP_MATCH, OP_NOMATCH)        %s:%u Invalid value "%s" for %s (char %zu: %s), ignoring.       %s:%u Invalid attribute "%s" for %s (char %zu: %s), ignoring.   %s:%u: GOTO="%s" has no matching label, ignoring        %s:%u: The line takes no effect any more, dropping                              udev_rule_line_clear_tokens     rule_resolve_goto               rule_resolve_goto               cunescape_length_with_prefix    udev_rule_parse_value   parse_line              check_attr_format_and_warn      check_value_format_and_warn     rule_line_add_token             rule_line_append_token          rule_get_substitution_type      log_unknown_owner               static_node_apply_permissions   static_node_apply_permissions   format_proc_fd_path             mac_selinux_apply_fd            mac_selinux_apply_fd                            udev_node_apply_permissions_impl                                udev_node_apply_permissions_impl                device_get_devpath_by_devnum    link_update_diskseq                             ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_                stack_directory_read_one                        stack_directory_find_prioritized_devnode        link_update     link_update     negative_errno  path_make_relative              symlink_atomic_full_label       node_symlink    node_symlink    udev_node_remove                event_execute_rules_on_remove   udev_event_on_move      device_rename           rtnl_set_link_name              rtnl_set_link_name      rename_netif    rename_netif            udev_node_apply_permissions     udev_node_update                udev_node_update        update_devnode  update_devnode          device_set_is_initialized       udev_event_execute_rules        udev_event_execute_rules        device_get_properties_strv      spawn_wait      udev_event_spawn                udev_event_spawn                on_spawn_sigchld                on_spawn_sigchld                on_spawn_timeout_warning        on_spawn_timeout_warning        on_spawn_timeout                on_spawn_timeout        on_spawn_io     on_spawn_io             j@1D싮/token->value token->type < _TK_M_MAX /*/ !truncated %s:%u Running PROGRAM '%s' / $%?, %s:%u Failed to open '%s': %m %s:%u OWNER %s(%u) %s:%u GROUP %s(%u) %s:%u MODE %#o %s:%u OWNER %u %s:%u GROUP %u %s:%u SECLABEL{%s}='%s' ../src/basic/string-util.h %s:%u NAME '%s' /  %s:%u LINK '%s' %s:%u ATTR '%s' writing '%s' %s:%u RUN '%s' ACTION DEVLINKS DEVNAME DEVPATH DEVTYPE SEQNUM Skipping empty file: %s ../src/basic/fs-util.c Reading rules file: %s rules->current_file operator SYMLINK %k ENV CONST SYSCTL device/ ../ TEST PROGRAM IMPORT RESULT string_escape=none string_escape=replace db_persist nowatch static_node= link_priority= log_level= SECLABEL RUN GOTO %s:%u Invalid key '%s' *_head == _item __unique_prefix__expr_19 alpha arc-be arm64 arm64-be arm-be cris ia64 loongarch64 m68k mips mips64 mips64-le mips-le nios2 parisc parisc64 ppc ppc64 ppc64-le ppc-le riscv32 riscv64 s390 s390x sh64 sparc sparc64 tilegx x86 x86-64 amazon qemu bochs uml vmware oracle microsoft zvm parallels bhyve qnx acrn powervm apple sre google vm-other systemd-nspawn lxc-libvirt lxc openvz docker podman rkt wsl proot pouch container-other             ,(e`ǧ{{{`ر`HذȯPرȯذPppp`P`0p0x 8@ 0ػ                udev_rule_apply_parent_token_to_event           udev_rules_apply_to_event       free_and_strdup_warn            udev_rule_apply_token_to_event  udev_rule_apply_token_to_event  get_property_from_string        token_match_attr                token_match_attr                token_match_string      udev_rules_new  null_or_empty           fd_warn_permissions     sort_tokens     parse_token     parse_token     rule_add_line   rule_add_line           udev_rules_parse_file           udev_rules_load IN_SET(token->type, TK_M_ATTR, TK_M_PARENTS_ATTR)       %s:%u The sysfs attribute name '%s' is truncated while substituting into '%s', assuming the %s key does not match.      %s:%u Failed to get uevent action type: %m      %s:%u Failed to get devpath: %m %s:%u Failed to get sysname: %m %s:%u Failed to get subsystem: %m       %s:%u Failed to get driver: %m  %s:%u The sysctl entry name '%s' is truncated while substituting into '%s', assuming the SYSCTL key does not match.     %s:%u Failed to read sysctl '%s': %m    %s:%u The file name '%s' is truncated while substituting into '%s', assuming the TEST key does not match        %s:%u Failed to get syspath: %m %s:%u Failed to test for the existence of '%s': %m      %s:%u The command '%s' is truncated while substituting into '%s', assuming the PROGRAM key does not match.      %s:%u Failed to execute "%s": %m        %s:%u Command "%s" returned %d (error)  %s:%u Replaced %zu character(s) in result of "%s"       %s:%u The file name '%s' to be imported is truncated while substituting into '%s', assuming the IMPORT key does not match.      %s:%u Importing properties from '%s'    %s:%u Failed to read '%s', ignoring: %m %s:%u Failed to parse key and value from '%s', ignoring: %m     %s:%u Failed to add property %s=%s: %m  %s:%u The command '%s' is truncated while substituting into '%s', assuming the IMPORT key does not match.       %s:%u Importing properties from results of '%s' %s:%u Failed to execute '%s', ignoring: %m      %s:%u Command "%s" returned %d (error), ignoring        %s:%u Failed to extract lines from result of command "%s", ignoring: %m cmd >= 0 && cmd < _UDEV_BUILTIN_MAX     %s:%u Skipping builtin '%s' in IMPORT key       %s:%u The builtin command '%s' is truncated while substituting into '%s', assuming the IMPORT key does not match        %s:%u Importing properties from results of builtin command '%s' %s:%u Failed to run builtin '%s': %m    %s:%u Failed to get property '%s' from database: %m     %s:%u Failed to add property '%s=%s': %m        %s:%u Failed to read '%s' option from /proc/cmdline: %m %s:%u The property name '%s' is truncated while substituting into '%s', assuming the IMPORT key does not match. %s:%u Failed to import properties '%s' from parent: %m  The log level is changed to 'debug' while processing device     %s:%u The user name '%s' is truncated while substituting into '%s', refusing to apply the OWNER key.    %s:%u The group name '%s' is truncated while substituting into '%s', refusing to apply the GROUP key.   %s:%u The mode '%s' is truncated while substituting into %s, refusing to apply the MODE key.    %s:%u Failed to parse mode '%s', ignoring: %m   %s:%u The security label '%s' is truncated while substituting into '%s', refusing to apply the SECLABEL key.    %s:%u Failed to store SECLABEL{%s}='%s': %m     %s:%u Failed to remove property '%s': %m        %s:%u The buffer for the property '%s' is full, refusing to append the new value '%s'.  %s:%u The property value '%s' is truncated while substituting into '%s', refusing to add property '%s'. %s:%u Replaced %zu slash(es) from result of ENV{%s}%s="%s"      %s:%u The tag name '%s' is truncated while substituting into '%s',refusing to %s the tag.       abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_        %s:%u Invalid tag name '%s', ignoring   %s:%u Failed to add tag '%s': %m        %s:%u Only network interfaces can be renamed, ignoring NAME="%s".       %s:%u The network interface name '%s' is truncated while substituting into '%s', refusing to set the name.      %s:%u Replaced %zu character(s) from result of NAME="%s"        %s:%u The symbolic link path '%s' is truncated while substituting into '%s', refusing to add the device symbolic link.  %s:%u Replaced %zu character(s) from result of SYMLINK="%s"     %s:%u Failed to add devlink '%s': %m    %s:%u The path to the attribute '%s/%s' is too long, refusing to set the attribute.     %s:%u Could not find file matches '%s', ignoring: %m    %s:%u The attribute value '%s' is truncated while substituting into '%s', refusing to set the attribute '%s'    %s:%u Failed to write ATTR{%s}, ignoring: %m    %s:%u The sysctl entry name '%s' is truncated while substituting into '%s', refusing to set the sysctl entry.   %s:%u The sysctl value '%s' is truncated while substituting into '%s', refusing to set the sysctl entry '%s'    %s:%u SYSCTL '%s' writing '%s'  %s:%u Failed to write SYSCTL{%s}='%s', ignoring: %m     %s:%u The command '%s' is truncated while substituting into '%s', refusing to invoke the command.       %s:%u Failed to store command '%s': %m  resolve_name_timing >= 0 && resolve_name_timing < _RESOLVE_NAME_TIMING_MAX      Failed to enumerate rules files: %m     Failed to open %s, ignoring: %m Failed to stat %s, ignoring: %m Failed to save stat for %s, ignoring: %m        %s:%u: Line is too long, ignored        %s:%u Invalid key/value pair, ignoring. rules->current_file->current_line       %s:%u %s key takes '==', '!=', '=', or ':=' operator, assuming '='.     %s:%u Ignoring NAME="%%k", as it will take no effect.   %s:%u Ignoring NAME="", as udev will not delete any network interfaces. %s:%u %s key takes '==', '!=', '=', or '+=' operator, assuming '='.     %s:%u Invalid ENV attribute. '%s' cannot be set.        %s:%u "%s" must be specified as "subsystem".    %s:%u %s key takes '==', '!=', or '=' operator, assuming '='.   %s:%u 'device' link may not be available in future kernels.     %s:%u Direct reference to parent sysfs directory, may break in future kernels.  %s:%u Failed to parse mode '%s': %m     %s:%u Found builtin command '%s' for %s, replacing attribute    %s:%u Unknown builtin command: %s       %s:%u Failed to parse link priority '%s': %m    %s:%u Failed to parse log level '%s': %m        %s:%u Invalid value for OPTIONS key, ignoring: '%s'     %s:%u %s key takes '=' or ':=' operator, assuming '='.  %s:%u Failed to resolve user name '%s': %m      %s:%u User name resolution is disabled, ignoring %s=%s  %s:%u Failed to resolve group name '%s': %m     %s:%u Resolving group name is disabled, ignoring GROUP="%s"     %s:%u %s key takes '=' or '+=' operator, assuming '='.  %s:%u Unknown builtin command '%s', ignoring    %s:%u Contains multiple GOTO keys, ignoring GOTO="%s".  %s:%u The line takes no effect, ignoring.       Failed to read rules file %s, ignoring: %m Failed to get device ID: %m Invalid watch handle %i. virtio addr_assign_type hwdb needs reloading. %s raw kernel attribute: %s %s decoded bit map:   bit %4lu: %016lX
 Failed to get device name: %m KEYBOARD_KEY_ EVDEV_ABS_ POINTINGSTICK_SENSITIVITY Failed to set EVIOCGBIT Failed to call EVIOCGABS Failed to call EVIOCSABS serio sensitivity force_release ,%u usb_interface usb /sys/devices/ vif- X%u iflink phys_port_name /run/udev/watch/%d Adding watch on '%s' Removing watch handle %i. ../src/udev/udev-builtin.c ready Invalid arguments /dev/btrfs-control ID_BTRFS_READY MODALIAS usb_device idVendor idProduct usb:v%04Xp%04X:%s hwdb modalias key: "%s" f:d:s:p: Failed to look up hwdb: %m No entry found from hwdb. capabilities/ev id/bustype id/vendor id/product id/version ID_INPUT capabilities/abs capabilities/rel capabilities/key ID_INPUT_ACCELEROMETER ID_INPUT_POINTINGSTICK ID_INPUT_MOUSE ID_INPUT_TOUCHPAD ID_INPUT_TOUCHSCREEN ID_INPUT_JOYSTICK ID_INPUT_TABLET ID_INPUT_TABLET_PAD ID_INPUT_KEY ID_INPUT_KEYBOARD ID_INPUT_SWITCH ID_INPUT_WIDTH_MM ID_INPUT_HEIGHT_MM yes ethernet ethernet0 ABCDEFGHIJKLMNOPQRSTUVWXYZ wl ID_NET_NAMING_SCHEME %sx%s ID_NET_NAME_MAC OUI:%02X%02X%02X%02X%02X%02X of_node /proc/device-tree path_is_absolute(ofnode_path) aliases d%u ID_NET_NAME_ONBOARD ccwgroup ccw Device is CCW. Invalid bus_id: %s c%s ID_NET_NAME_PATH vio v%u ID_NET_NAME_SLOT platform a%s%xi%u netdevsim netdevsim%u i%un%s pci pcidev physfn virtfn ID_NET_LABEL_ONBOARD %s%s%s bcma bcma%*u:%u b%u success failure key_e key_k key_z key_o key_t key_p key_b btn_z key_tape key_break key_s key_ejectcd key_paste btn_b key_tab key_sat key_props key_back btn_top btn_east key_c key_dot btn_task btn_base key_cd key_sos key_d key_esc key_pc key_end btn_back key_ejectclosecd key_zoom btn_c key_prog2 key_sat2 key_sleep key_zoomreset key_2 btn_top2 key_close key_enter key_ro key_mode key_ok key_ab key_macro btn_base2 btn_2 key_archive key_m key_scale key_data key_msdos btn_mode key_compose key_a btn_tr key_closecd key_last key_radio btn_tr2 key_front key_addressbook key_setup key_slowreverse key_kbdillumup btn_a key_zoomout key_scrolllock key_documents key_comma key_scrollup key_r key_calc key_clear btn_tl2 btn_tl key_l key_fastreverse key_coffee key_f key_pause key_player key_restart key_stop key_memo key_dollar key_redo btn_tool_rubber key_undo key_forward key_f12 key_pausecd key_edit key_sound key_red btn_dead btn_forward key_phone key_blue key_media key_playcd key_iso key_reserved key_shop key_print key_bookmarks key_delete key_goto key_database btn_start key_unmute key_left key_stop_record key_mhp key_leftalt key_fn_e key_editor key_connect btn_left key_program key_fn_b key_angle key_leftbrace key_chat key_stopcd key_fn_s key_record key_grave btn_tool_lens key_games key_info key_fn_esc key_fn_d key_equal key_alterase key_fn_2 key_fn_f2 key_u key_macro9 key_backspace key_fn key_katakana key_playpause key_teen key_calendar key_capslock key_camera key_mail key_previous key_bassboost key_text key_macro12 btn_tool_mouse key_cancel key_slow btn_trigger key_leftshift key_fn_f key_scrolldown key_left_up key_save key_send key_email key_tv2 key_dvd key_cut key_power key_forwardmail key_camera_left key_rfkill key_shuffle key_kbdillumtoggle key_mute key_move btn_thumb btn_base5 key_vod key_i key_home key_channel key_macro_preset_cycle key_leftmeta key_euro key_macro_record_stop btn_west key_backslash key_macro_preset2 key_title key_audio key_unknown key_taskmanager key_macro5 key_uwb key_pvr key_dashboard key_deletefile key_g key_media_repeat key_camera_up key_kbd_layout_next btn_thumbr key_screenlock key_time key_macro_record_start btn_side key_slash key_9 key_touchpad_toggle key_n btn_thumbl key_brl_dot2 key_previous_element key_vcr2 key_green btn_9 key_prog3 key_wordprocessor key_select btn_gear_up key_volumeup key_twen key_channelup key_config key_del_eos key_x key_pause_record key_pageup key_vcr btn_select btn_base3 key_list key_fn_f9 key_kbd_lcd_menu2 key_search btn_x key_macro30 key_computer key_help key_images btn_base6 key_language key_insert key_menu key_macro8 btn_tool_doubletap btn_touch key_xfer btn_middle btn_south key_attendant_toggle key_camera_focus key_macro19 key_rewind key_macro7 key_macro6 key_messenger key_frameforward key_clearvu_sonar key_down btn_trigger_happy32 key_wakeup key_del_eol key_first key_file key_camera_access_toggle key_camera_zoomin key_spellcheck key_w key_f2 key_macro3 key_next key_sport key_frameback key_zoomin key_sysrq key_f19 key_kpdot key_kpplus key_prog1 key_homepage key_refresh key_macro2 key_macro22 key_assistant key_f22 key_cyclewindows key_fn_f5 key_numlock key_wlan key_space key_news key_battery key_attendant_off key_apostrophe key_touchpad_off key_als_toggle key_tv key_kp2 key_logoff key_kbdillumdown key_root_menu key_copy key_screensaver key_camera_zoomout key_aspect_ratio key_hanja btn_tool_finger key_controlpanel key_tuner key_kbdinputassist_prevgroup key_katakanahiragana key_presentation key_appselect key_macro15 key_subtitle key_nav_chart key_audio_desc btn_extra key_v key_kpenter btn_north key_semicolon btn_tool_pencil key_screen key_sidevu_sonar key_again key_5 key_kbdinputassist_accept key_digits key_brightnessup key_h key_onscreen_keyboard key_media_top_menu key_f1 key_minus key_prog4 key_play key_right btn_5 key_macro10 key_brightness_cycle key_camera_right key_fn_f8 btn_pinkie key_leftctrl key_3d_mode key_volumedown btn_trigger_happy9 key_brightness_zero key_kpminus key_hanguel btn_right key_up key_fn_f3 btn_base4 key_finance key_rotate_lock_toggle key_vendor key_suspend key_kbdinputassist_cancel key_emoji_picker key_fn_f7 key_fn_f6 key_fastforward btn_tool_quadtap btn_trigger_happy12 key_del_line key_find btn_trigger_happy39 key_macro18 btn_dpad_left key_dictate btn_tool_pen key_macro4 key_f8 btn_dpad_up key_reply key_switchvideomode key_camera_access_disable key_macro13 key_hangeul key_rotate_display key_attendant_on key_video key_micmute key_ins_line key_camera_down key_0 key_macro17 key_previoussong key_macro16 key_brightness_toggle key_kpcomma key_open btn_tool_tripletap key_camera_access_enable btn_0 key_exit key_fn_f12 key_j key_macro29 key_f9 key_f15 btn_tool_airbrush key_kbd_lcd_menu5 key_kpplusminus btn_stylus key_linefeed btn_trigger_happy5 key_privacy_screen_toggle key_channeldown key_wwan key_macro_preset3 key_power2 key_kpequal btn_stylus2 key_context_menu key_fn_1 key_fn_f1 key_rightctrl btn_tool_quinttap key_journal key_left_down key_brl_dot9 key_voicecommand key_bluetooth key_kpasterisk key_next_element btn_trigger_happy35 key_kbdinputassist_next btn_trigger_happy40 key_traditional_sonar key_kbdinputassist_nextgroup key_8 key_kprightparen key_displaytoggle key_all_applications btn_dpad_right key_aux key_macro1 key_macro11 btn_8 key_sendfile key_new key_3 key_f5 key_f10 key_hp key_rightalt btn_trigger_happy30 btn_thumb2 key_rightmeta btn_3 key_macro25 key_touchpad_on btn_trigger_happy8 key_kbd_lcd_menu3 key_rightshift key_nav_info key_pickup_phone key_accessibility key_7 key_right_up key_fn_right_shift key_kpslash key_keyboard btn_trigger_happy19 key_6 key_fn_f4 key_zenkakuhankaku btn_tool_brush btn_trigger_happy7 btn_trigger_happy6 btn_7 key_macro_preset1 key_mark_waypoint btn_trigger_happy38 key_lights_toggle key_brightness_max btn_6 key_do_not_disturb key_macro20 btn_trigger_happy3 btn_trigger_happy33 key_kbdinputassist_prev key_refresh_rate_toggle btn_gear_down key_voicemail btn_trigger_happy37 key_macro14 key_wimax key_f7 btn_trigger_happy36 key_pagedown key_video_next key_f18 key_epg key_display_off key_favorites btn_trigger_happy2 btn_trigger_happy22 key_brightness_auto key_macro28 key_kp9 key_videophone key_f6 key_macro23 key_f13 key_direction key_macro27 key_kbd_lcd_menu1 key_macro26 btn_trigger_happy15 key_dual_range_radar key_f17 key_full_screen key_f16 key_yellow key_fn_f11 key_spreadsheet key_brl_dot5 key_fishing_chart key_hangup_phone btn_trigger_happy31 key_single_range_radar btn_trigger_happy10 key_fn_f10 key_f4 key_q key_www key_buttonconfig key_selective_screenshot key_brightnessdown key_hiragana key_option key_graphicseditor key_kbd_lcd_menu4 btn_trigger_happy18 key_1 key_yen key_macro21 btn_trigger_happy4 key_rightbrace key_right_down btn_trigger_happy13 key_autopilot_engage_toggle btn_1 key_notification_center btn_trigger_happy17 btn_trigger_happy16 key_y btn_trigger_happy34 key_wps_button key_brightness_menu btn_trigger_happy29 btn_y key_f3 key_muhenkan key_102nd key_henkan key_kp5 key_macro24 btn_dpad_down btn_stylus3 key_brl_dot8 key_f11 key_brightness_min btn_trigger_happy1 btn_trigger_happy11 key_brl_dot3 key_nextsong btn_trigger_happy25 key_f20 key_brl_dot7 key_brl_dot6 key_kp0 key_radar_overlay key_next_favorite key_4 key_kpjpcomma key_brl_dot10 btn_trigger_happy20 btn_4 key_numeric_b key_numeric_c key_numeric_d btn_trigger_happy14 key_numeric_2 key_numeric_12 key_video_prev key_numeric_a btn_trigger_happy28 btn_trigger_happy23 key_kp8 btn_trigger_happy27 key_f23 btn_trigger_happy26 key_kpleftparen key_kp3 key_directory key_f14 key_numeric_star key_kp7 key_kp6 key_mp3 key_numeric_pound key_brl_dot1 btn_trigger_happy21 key_numeric_9 btn_trigger_happy24 key_10channelsup key_f21 key_numeric_5 key_kp1 key_brl_dot4 key_numeric_0 key_numeric_8 key_numeric_3 key_numeric_7 key_numeric_6 key_f24 key_kp4 key_question key_numeric_1 key_numeric_11 key_numeric_4 key_10channelsdown lookup-prefix        Failed to read symlink '/run/udev/watch/%s': %m Failed to parse watch handle from symlink '/run/udev/watch/%s': %m      Symlink '/run/udev/watch/%s' is owned by another device '%s'.   Failed to remove '/run/udev/watch/%s', ignoring: %m     ../src/udev/udev-builtin-net_id.c       Not generating MAC name for infiniband device.  Not generating MAC name for device with MAC address of length %zu.      Failed to read addr_assign_type: %m     Failed to parse addr_assign_type: %m    addr_assign_type=%u, MAC address is not permanent.      ../src/udev/udev-builtin-hwdb.c ../src/udev/udev-builtin-input_id.c     xsprintf: text[] must be big enough     Ignoring %s block which failed to parse: %m     Ignoring %s block %lX which is larger than maximum size ../src/udev/udev-builtin-keyboard.c     Failed to parse scan code from "%s", ignoring: %m       Failed to parse key identifier '%s': %m keyboard: mapping scan code %u (0x%x) to key code %u (0x%x)     Failed to call EVIOCSKEYCODE with scan code 0x%x, and key code %u: %m   Failed to parse EV_ABS code from "%s", ignoring: %m     EVDEV_ABS override set but no EV_ABS present on device  Failed to parse EV_ABS override '%s'    keyboard: %x overridden with %i/%i/%i/%i/%i     Failed to get serio parent: %m  Failed to parse POINTINGSTICK_SENSITIVITY '%s': %m      POINTINGSTICK_SENSITIVITY %d outside range [0..255]     Failed to write 'sensitivity' attribute: %m     Failed to get force-release attribute: %m       Failed to set force-release attribute: %m       keyboard: updating force-release list with '%s' sd_device_get_parent_with_subsystem_devtype() failed: %m        sd_device_get_sysname() failed: %m      sysname "%s" does not have '-' in the expected place.   sysname "%s" does not have ':' in the expected place.   sysname "%s" does not have '.' in the expected place.   Generated USB name would be too long.   USB name identifier: ports=%.*s config=%s interface=%s %s %s    Failed to parse 'address' sysattr, ignoring: %m Failed to create and open '/run/udev/watch/': %m        Failed to watch device node '%s': %m    Failed to create symlink '/run/udev/watch/%s' to '%s': %m       Failed to open '/run/udev/watch/': %m   Failed to add property '%s%s%s' ../src/udev/udev-builtin-btrfs.c        Failed to open /dev/btrfs-control: %m   Failed to call BTRFS_IOC_DEVICES_READY: %m      Failed to create sd_device object '%s': %m      Input device has %zu joystick buttons and %zu axes but also %zu keyboard key sets, assuming this is a keyboard, not a joystick. test_key: no EV_KEY capability  test_key: checking bit block %zu for any keys; found=%s test_key: Found key %x in high block    ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789    /sys/devices/platform/%4s%4x:%2x/net/eth%u      /sys/devices/platform/%3s%4x:%2x/net/eth%u      xsprintf: str[] must be big enough      Could not get index of alias %s: %m     Ethernet alias conflict: ethernet and ethernet0 both exist      sd_device_get_parent() failed: %m       sd_device_get_subsystem() failed: %m    Generated CCW name would be too long.   CCW identifier: ccw_busid=%s %s "%s"    Parent device is in the vio subsystem.  sd_device_get_syspath() failed: %m      /sys/devices/vio/%4x%4x/net/eth%u       Vio slot identifier: slotid=%u %s %s    Parent device is in the platform subsystem.     Syspath "%s" is too short for a valid ACPI instance.    Platform vendor contains invalid characters: %s Platform identifier: vendor=%s model=%u instance=%u %s %s       sd-device: failed to enumerate child devices: %m        BCMA core identifier: core=%u %s "%s"   Parsing bcma device information from sysname "%s": %s   Parsing platform device information from syspath "%s": %s       Parsing vio slot information from syspath "%s": %s      MAC address identifier: hw_addr=%s %s %s                        /etc/systemd/hwdb/hwdb.bin /etc/udev/hwdb.bin /usr/lib/systemd/hwdb/hwdb.bin /lib/systemd/hwdb/hwdb.bin /lib/udev/hwdb.bin  8)**''**'''''|'|'|'&&&''    ieee_oui        dev_devicetree_onboard          dev_devicetree_onboard  names_ccw       names_ccw       names_vio       ascii_strlower  names_platform          sd_device_get_child_next        sd_device_get_child_first       sd_device_get_child_first       get_virtfn_info names_bcma      builtin_net_id  builtin_net_id  get_link_info   get_link_info   names_xen       names_mac       names_mac       names_usb       names_usb       is_pci_multifunction            KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKs \2       
  
 KKKKKKKKKKKKKKKKKKKKKKKKKKKKK!-  K U   	b      -  k

 < '  F 
 
 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKmap_keycode     override_abs    set_trackpoint_sensitivity      set_trackpoint_sensitivity      install_force_release           install_force_release           builtin_keyboard        test_pointers              :   E   n   q                  test_key                builtin_input_id        get_cap_mask    get_cap_mask    timespec_load           builtin_hwdb_should_reload      builtin_hwdb    udev_builtin_hwdb_search        udev_builtin_hwdb_search        builtin_btrfs   udev_builtin_add_property       udev_builtin_add_property       udev_builtin_run                udev_builtin_lookup     negative_errno  udev_watch_end  udev_watch_end          udev_watch_begin                udev_watch_begin                udev_watch_clear                udev_watch_clear                udev_rule_line_free ../src/udev/net/link-config.c hw_addr->length == ETH_ALEN /etc/systemd/network /run/systemd/network /usr/lib/systemd/network .link Failed to query %s: %m Failed to parse %s "%s": %m Device has %s=%u nvme /devices/virtual/ rbc atapi floppy scsi hid printer hub disk optical Failed to get syspath: %m bInterfaceNumber bInterfaceClass Failed to parse if_class: %m bInterfaceSubClass scsi_device %d:%d:%d:%d Invalid SCSI device model manufacturer bcdDevice serial ID_BUS ID_MODEL ID_MODEL_ENC ID_MODEL_ID ID_SERIAL ID_SERIAL_SHORT ID_VENDOR ID_VENDOR_ENC ID_VENDOR_ID ID_REVISION ID_TYPE ID_INSTANCE ID_USB_MODEL ID_USB_MODEL_ENC ID_USB_MODEL_ID ID_USB_SERIAL ID_USB_SERIAL_SHORT ID_USB_VENDOR ID_USB_VENDOR_ENC ID_USB_VENDOR_ID ID_USB_REVISION ID_USB_TYPE ID_USB_INSTANCE ID_USB_INTERFACES ID_USB_INTERFACE_NUM ID_USB_DRIVER if_class:%u protocol:%i  to  tx-scatter-gather link->config ../src/shared/ethtool-util.c ifname INTERFACE= ethtool_fd >= 0 n_features > 0 gfeatures feature tx-checksum- static ctx rtnl name_assign_type m->hdr m->n_containers > 0 ID_NET_DRIVER Config file %s is applied ID_PATH Failed to get link config: %m link->device Using static MAC address. ../src/shared/netif-util.c Applying %s MAC address: %s !m->sealed ID_NET_LINK_FILE ID_NET_NAME iscsi_session targetname :0 iscsi_connection persistent_address persistent_port ip-%s:%s-iscsi-%s-%s scsi_host scsi-%i:%i:%i:%i device_id vmbus-%s-%s nvme-subsystem scsi_tape lma nst%c ieee1394_id ieee1394-0x%s /rport- scsi_target fc_transport fc-%s-%s /end_device- sas_device sas_port num_phys sas_address sas-%s-%s phy_identifier sas-exp%s-phy%s-%s sas-phy%s-%s /session /ata %u:%u:%u:%u ata_port port_no ata-%s.%u.0 ata-%s.%u ata-%s /vmbus_ /VMBUS cciss c%ud%u%*s cciss-disk%u usb-0:%s bcma-%u serio-%s pci-%s platform-%s acpi acpi-%s xen-%s scm scm-%s ccw-%s ccwgroup-%s ap_functions ap-%s-%s ap-%s iucv iucv-%s nsid nvme-%s spi cs-%s ID_PATH_TAG ID_PATH_ATA_COMPAT aui mii fibre bnc mdi mdi-x tx-checksum-ipv4 tx-checksum-ip-generic tx-checksum-ipv6 highdma tx-scatter-gather-fraglist tx-vlan-hw-insert rx-vlan-hw-parse rx-vlan-filter tx-vlan-stag-hw-insert rx-vlan-stag-hw-parse rx-vlan-stag-filter vlan-challenged tx-generic-segmentation tx-lockless netns-local rx-gro rx-gro-hw rx-lro tx-tcp-segmentation tx-gso-robust tx-tcp-ecn-segmentation tx-tcp-mangleid-segmentation tx-tcp6-segmentation tx-fcoe-segmentation tx-gre-segmentation tx-gre-csum-segmentation tx-ipxip4-segmentation tx-ipxip6-segmentation tx-udp_tnl-segmentation tx-udp_tnl-csum-segmentation tx-gso-partial tx-sctp-segmentation tx-esp-segmentation tx-udp-segmentation tx-gso-list tx-checksum-fcoe-crc tx-checksum-sctp fcoe-mtu rx-ntuple-filter rx-hashing rx-checksum tx-nocache-copy loopback rx-fcs rx-all l2-fwd-offload hw-tc-offload esp-hw-offload esp-tx-csum-hw-offload rx-udp_tunnel-port-offload tls-hw-record tls-hw-tx-offload tls-hw-rx-offload rx-gro-list macsec-hw-offload rx-udp-gro-forwarding hsr-tag-ins-offload hsr-tag-rm-offload hsr-fwd-offload hsr-dup-offload persistent        hw_addr->length == INFINIBAND_ALEN      /usr/local/lib/systemd/network  failed to enumerate link files: %m      Created link configuration context.     ../src/udev/udev-builtin-net_setup_link.c       Unloaded link configuration context.    Failed to get stats of .link files, ignoring: %m        Link configuration context needs reloading.     ../src/udev/udev-builtin-path_id.c      ../src/udev/udev-builtin-usb_id.c       Failed to access usb_interface: %m      Failed to get bInterfaceClass attribute: %m     Failed to find parent 'usb' device      Unable to find parent SCSI device       Failed to get SCSI vendor attribute: %m Failed to get SCSI model attribute: %m  Failed to get SCSI type attribute: %m   Failed to get SCSI revision attribute: %m       Failed to get idVendor attribute: %m    Failed to get idProduct attribute: %m   ID_BUS property is already set, setting only properties prefixed with "ID_USB_".        ethtool: autonegotiation is enabled, ignoring speed, duplex, or port settings.  ethtool: setting speed, duplex, or port, disabling autonegotiation.     ethtool: Cannot get device settings for %s: %m  ethtool: setting MDI not supported for %s, ignoring.    ethtool: Cannot set device settings for %s: %m  Could not %s auto negotiation, ignoring: %m     Could not set advertise mode, ignoring: %m      Could not set speed to %luMbps, ignoring: %m    Could not set duplex to %s, ignoring: %m        Could not set port to '%s', ignoring: %m        Could not set MDI-X to '%s', ignoring: %m       Network interface %s does not support requested Wake on LAN options "%s", ignoring.     Could not set WakeOnLan%s%s, ignoring: %m       ethtool: could not get ethtool feature strings: %m      ethtool: could not get ethtool features for %s: %m      ethtool: could not set feature %s for %s, ignoring: %m  ethtool: could not set ethtool features for %s  Could not set offload features, ignoring: %m    Could not set channels, ignoring: %m    Could not set ring buffer, ignoring: %m Could not set flow control, ignoring: %m        Could not set coalesce settings, ignoring: %m   This program takes no arguments.        Failed to get "name_assign_type" attribute, ignoring: %m        Failed to get "addr_assign_type" attribute, ignoring: %m        ../src/libsystemd/sd-netlink/netlink-message-rtnl.c     rtnl_message_type_is_link(m->hdr->nlmsg_type)   ../src/libsystemd/sd-netlink/netlink-message.c  m->n_containers < (NETLINK_CONTAINER_DEPTH - 1) ../src/libsystemd/sd-netlink/netlink-types.c    policy_set_union->match_attribute != 0  Failed to get permanent hardware address, ignoring: %m  Failed to get driver, ignoring: %m      Link vanished while getting information, ignoring.      Failed to get link information: %m      Config file %s is applied to device based on potentially unpredictable interface name.  No matching link configuration found, ignoring device.  Skipping to apply .link settings on '%s' uevent.        MAC address on the device already set by userspace.     MAC address on the device already set based on another device.  Unknown addr_assign_type %u, ignoring   MAC address on the device already matches policy "%s".  No stable identifying information found Using "%s" as stable identifying information    Could not generate persistent MAC address: %m   Could not generate valid persistent MAC address: %m     Specified MAC address with invalid length (%zu, expected %zu), refusing.        Specified MAC address is null, refusing.        Specified MAC address is broadcast, refusing.   Specified MAC address has the multicast bit set, clearing the bit.      ib_hw_addr->length == INFINIBAND_ALEN   Only the last 8 bytes of the InifniBand MAC address can be changed, ignoring the first 12 bytes.        The last 8 bytes of the InfiniBand MAC address cannot be null, refusing.        Unsupported interface type %s%u to set MAC address, refusing.   Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: %m        Link vanished while applying configuration, ignoring.   Could not apply link configuration, ignoring: %m        tx-tunnel-remcsum-segmentation          PPPPՑPɑPPPPQ-H?Q6{{7{{{{{{{        hw_addr_is_valid        get_gset        set_sset                ethtool_set_glinksettings       ethtool_set_glinksettings       ethtool_set_wol get_stringset   get_features    set_features_bit                ethtool_set_features    negative_errno          link_apply_ethtool_settings     link_apply_ethtool_settings     device_unsigned_attribute       link_parse_wol_password builtin_usb_id  builtin_usb_id          builtin_path_id find_real_nvme_parent           handle_scsi_hyperv              handle_scsi_default             handle_scsi_iscsi       skip_subsystem  path_prepend            link_config_should_reload                       builtin_net_setup_link_should_reload            builtin_net_setup_link_exit     link_config_load                builtin_net_setup_link_init     ethtool_get_driver              ethtool_get_permanent_hw_addr   sd_rtnl_message_link_get_type                   policy_set_union_get_match_attribute            policy_get_type sd_netlink_message_enter_container                              sd_netlink_message_read_string_strdup                           sd_netlink_message_exit_container               rtnl_get_link_info      link_new        link_new        strv_find               link_get_config link_get_config net_verify_hardware_address     net_verify_hardware_address     sd_device_get_property_value    net_get_unique_predictable_data net_get_unique_predictable_data link_generate_new_hw_addr       link_generate_new_hw_addr       netlink_message_append_hw_addr  rtnl_set_link_properties        link_apply_rtnl_settings        link_apply_rtnl_settings        link_apply_config               link_apply_config               builtin_net_setup_link                        HKLס.lvalue rvalue ../src/basic/fileio.c Duplicate entry, ignoring: %s Loading kernel module index. Unload kernel module index. o:H:R ../src/basic/parse-util.c Invalid offset %li: %m PTTYPE ID_PART_GPT_AUTO_ROOT_UUID FSSIZE FSLASTBLOCK ID_FS_TYPE ID_FS_USAGE ID_FS_VERSION ID_FS_UUID ID_FS_UUID_ENC ID_FS_UUID_SUB ID_FS_UUID_SUB_ENC ID_FS_LABEL ID_FS_LABEL_ENC FSBLOCKSIZE ID_FS_ ID_PART_TABLE_TYPE PTUUID ID_PART_TABLE_UUID ID_PART_ENTRY_NAME ID_PART_ENTRY_TYPE PART_ENTRY_ ID_ ID_FS_SYSTEM_ID ID_FS_PUBLISHER_ID ID_FS_APPLICATION_ID ID_FS_BOOT_SYSTEM_ID ID_FS_VOLUME_ID ID_FS_LOGICAL_VOLUME_ID ID_FS_VOLUME_SET_ID ID_FS_DATA_PREPARER_ID gpt PART_ENTRY_UUID ID_PART_GPT_AUTO_ROOT ../src/basic/utf8.c seat0 /run/systemd/seats/ ID_SEAT /run/systemd/seats session- /run/systemd/sessions ACTIVE_UID ACTIVE Failed to apply ACL: %m ../src/shared/condition.c c->parameter expression !<=>$ Invalid SMBIOS field name Failed to read %s: %m uname(&u) >= 0 Failed to parse parameter: %m c->type == CONDITION_MEMORY Failed to parse size '%s': %m c->type == CONDITION_CPUS c->type == CONDITION_USER nobody @system c->type == CONDITION_GROUP not in private-users /proc/self/uid_map /proc/self/gid_map /proc/self/setgroups /proc/self/setgroups: %m ../src/basic/virt.c deny native c->type == CONDITION_FIRMWARE /sys/firmware/devicetree/ device-tree-compatible( uefi /proc/device-tree/compatible s || l <= 0 i == c smbios-field( c->type == CONDITION_HOST fnmatch() failed. c->type == CONDITION_AC_POWER power_supply USB typec power_role [source] [sink] Battery present Discharging net.ifnames keep ID_NET_NAME_FROM_DATABASE Policy *%s* yields "%s". ../src/shared/netif-sriov.c device/sriov_numvfs device/sriov_totalvfs link->ifindex > 0 req ../src/shared/blockdev-util.c sysfs_path dm/uuid CRYPT- slaves ../src/shared/btrfs-util.c /dev/root ../src/shared/bus-util.c name=systemd ../src/shared/cgroup-setup.c pid >= 0 threaded invalid type >= 0 || !head Match.Type SR-IOV.Trust SR-IOV.VLANId Link.TxChannels SR-IOV.LinkState Link.TxBufferSize Link.TxCoalesceSec Link.Name Link.RxChannels Match.Credential Link.RxBufferSize Link.RxCoalesceSec Link.WakeOnLan Link.NamePolicy Link.NTupleFilter Link.TxFlowControl SR-IOV.VLANProtocol Link.Alias Link.TxCoalesceLowSec SR-IOV.VirtualFunction Link.RxFlowControl Match.Virtualization Link.RxCoalesceLowSec Link.RxJumboBufferSize Match.OriginalName Link.TransmitQueues Match.Kind Match.Architecture Link.TransmitQueueLength Match.Path Link.CombinedChannels Link.TCPSegmentationOffload Match.Property Link.AlternativeName Link.ReceiveVLANCTAGFilter Link.TCP6SegmentationOffload Link.Port Link.AlternativeNamesPolicy Link.MTUBytes SR-IOV.MACSpoofCheck Match.MACAddress SR-IOV.QualityOfService Match.KernelVersion Link.RxMiniBufferSize SR-IOV.MACAddress Link.BitsPerSecond Link.Advertise Link.AutoNegotiation Link.GenericReceiveOffload Link.SR-IOVVirtualFunctions Link.ReceiveQueues Link.TxCoalesceHighSec Link.OtherChannels Link.MACAddress Link.RxCoalesceHighSec Match.Host Link.CoalescePacketRateLow Link.CoalescePacketRateHigh Link.TransmitChecksumOffload Link.TxMaxCoalescedLowFrames Match.Firmware Link.MACAddressPolicy Match.Driver Link.RxMaxCoalescedLowFrames Link.LargeReceiveOffload Link.Description Link.TxMaxCoalescedIrqFrames Link.TxMaxCoalescedHighFrames Link.TxMaxCoalescedFrames Link.RxMaxCoalescedIrqFrames Link.RxMaxCoalescedHighFrames Link.RxMaxCoalescedFrames Link.Duplex Link.UseAdaptiveTxCoalesce Match.PermanentMACAddress Link.UseAdaptiveRxCoalesce Link.TxCoalesceIrqSec Match.KernelCommandLine Link.RxCoalesceIrqSec Link.ReceiveChecksumOffload Link.MDI Link.WakeOnLanPassword Link.UDPSegmentationOffload offset hint noraid onboard mac        Failed to parse %s=, ignoring assignment: %s.   Invalid %s=, ignoring assignment: %s.   Interface alias is not ASCII clean, ignoring assignment: %s     Interface alias is too long, ignoring assignment: %s    %s has %04o mode that is too permissive, please adjust the ownership and access mode.   Failed to parse MAC address policy, ignoring: %s        Failed to parse interface name policy, ignoring: %s     Failed to parse alternative names policy, ignoring: %s  ../src/udev/udev-builtin-kmod.c %s: expected: load [module…]  Failed to read property "MODALIAS".     Kernel module index needs reloading.    ../src/udev/udev-builtin-blkid.c        Failed to create blkid prober: %m       Failed to use '%s' probing hint: %m     Failed to parse '%s' as an integer: %m  Failed to set device to blkid prober: %m        Probe %s with %sraid and offset=%li     Failed to probe superblocks: %m Failed to get number of probed values: %m       LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f       %02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x    Failed to open block device %s%s: %m    ../src/udev/udev-builtin-uaccess.c      abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789  Failed to determine active user on seat %s: %m  c->type == CONDITION_KERNEL_COMMAND_LINE        c->type == CONDITION_CREDENTIAL c->type == CONDITION_KERNEL_VERSION     Failed to parse condition string "%s": %m       Unexpected end of expression: %s        c->type == CONDITION_OS_RELEASE Failed to parse parameter, key/value format expected: %m        Failed to parse os-release: %m  Failed to determine CPUs in affinity mask: %m   Failed to parse number of CPUs: %m      c->type == CONDITION_CONTROL_GROUP_CONTROLLER   Failed to determine supported controllers: %m   Failed to parse cgroup string: %s       c->type == CONDITION_VIRTUALIZATION     /proc/self/setgroups contains "%s", %s user namespace   c->type == CONDITION_ARCHITECTURE       Unexpected error when checking for /sys/firmware/devicetree/: %m        Malformed ConditionFirmware=%s  Failed to open() '%s', assuming machine is incompatible: %m     %s has zero length, assuming machine is incompatible    %s is in an unknown format, assuming machine is incompatible    Malformed ConditionFirmware=%s: %m      Unsupported Firmware condition "%s"     Failed to read 'type' sysfs attribute, ignoring device: %m      Failed to read 'power_role' sysfs attribute, ignoring: %m       The USB type-C port is in power source mode.    The USB type-C port is in power sink mode.      The USB type-C device has at least one port in power sink mode. The USB type-C device has no port in power source mode, assuming the device is in power sink mode.      All USB type-C ports are in power source mode.  Failed to determine the current power role, ignoring device: %m USB power supply is in source mode, ignoring device.    Failed to read 'scope' sysfs attribute, ignoring: %m    The power supply is a device battery, ignoring device.  Failed to read 'present' sysfs attribute, assuming the battery is present: %m   The battery is not present, ignoring the power supply.  Failed to read 'status' sysfs attribute, assuming the battery is discharging: %m        The battery status is '%s', assuming the battery is not used as a power source of this machine. The power supply is a battery and currently discharging.        Failed to parse '%s' attribute: %m      Failed to query 'online' sysfs attribute, ignoring device: %m   The power supply is currently %s.       Found at least one online non-battery power supply, system is running on AC.    Found at least one discharging battery and no online power sources, assuming system is running from battery.    No power supply reported online and no discharging battery found, assuming system is running on AC.     Skipping to apply Name= and NamePolicy= on '%s' uevent. Device already has a name given by userspace, not renaming.     Failed to parse net.ifnames= kernel command line option, ignoring: %m   Network interface NamePolicy= disabled on kernel command line.  Policy *%s*: keeping predictable kernel name    Policy *%s*: keeping existing userspace name    Policies didn't yield a name, using specified Name=%s.  Policies didn't yield a name and Name= is not given, not renaming.      Failed to get alternative names, ignoring: %m   Could not set AlternativeName= or apply AlternativeNamesPolicy=, ignoring: %m   Failed to get the current number of SR-IOV virtual functions: %m        Failed to write device/sriov_numvfs sysfs attribute, ignoring: %m       Failed to parse device/sriov_totalvfs sysfs attribute '%s': %m  Specified number of virtual functions is out of range. The maximum allowed value is %u. Failed to read device/sriov_totalvfs sysfs attribute: %m        Failed to write device/sriov_numvfs sysfs attribute: %m device/sriov_numvfs sysfs attribute set to '%s'.        Failed to set the number of SR-IOV virtual functions, ignoring: %m      Failed to get the number of SR-IOV virtual functions, ignoring [SR-IOV] sections: %m    No SR-IOV virtual function exists, ignoring [SR-IOV] sections: %m       SR-IOV virtual function %u does not exist, ignoring.    Failed to configure SR-IOV virtual function %u, ignoring: %m    unix:path=/run/systemd/private  ../src/libsystemd/sd-bus/sd-bus.c       bus->input_fd == bus->output_fd Failed to create compat systemd cgroup %s: %m   Failed to attach %i to compat systemd cgroup %s: %m     Link.GenericSegmentationOffload Link.GenericSegmentOffloadMaxBytes      Link.GenericSegmentOffloadMaxSegments   Link.ReceiveVLANCTAGHardwareAcceleration        SR-IOV.QueryReceiveSideScaling  Link.TransmitVLANCTAGHardwareAcceleration       Link.GenericReceiveOffloadHardware      Link.AutoNegotiationFlowControl Link.TransmitVLANSTAGHardwareAcceleration       Link.CoalescePacketRateSampleIntervalSec        Link.StatisticsBlockCoalesceSec                  a````H`pa j jhgggf        device_is_power_sink            battery_is_discharging          device_get_sysattr_unsigned_full        on_ac_power             condition_test_ac_power         condition_test_host             condition_test_host             strv_parse_nulstr               condition_test_firmware_devicetree_compatible   condition_test_firmware         condition_test_firmware                         condition_test_firmware_smbios_field                            condition_test_firmware_smbios_field            condition_test_architecture     running_in_userns               condition_test_virtualization   condition_test_group                            condition_test_control_group_controller                         condition_test_control_group_controller         condition_test_user             condition_test_cpus             condition_test_cpus             condition_test_memory           condition_test_memory           condition_test_osrelease        condition_test_osrelease        condition_test_kernel_version   condition_test_kernel_version   negative_errno  condition_test_credential       condition_test_kernel_command_line              condition_free_list_type        cg_attach       cg_attach       negative_errno  cg_create       bus_check_peercred      sd_bus_get_fd   sd_bus_unref            btrfs_ioctl_search_args_set     btrfs_ioctl_search_args_inc     btrfs_qgroup_find_parents       btrfs_subvol_get_id_fd  is_fs_type              btrfs_get_block_device_fd       partition_enumerator_new        readdir_no_dot  blockdev_is_encrypted           block_device_is_whole_disk                       UPKKA-#   #   ( 
d2  cg_path_get_session             builtin_uaccess safe_atolli     utf16_to_utf8   YBbRuoqr*s(ҺK >;builtin_blkid   builtin_kmod_should_reload      builtin_kmod_exit               builtin_kmod_init       builtin_kmod    builtin_kmod            config_parse_alternative_names_policy                           config_parse_alternative_names_policy           config_parse_name_policy        config_parse_name_policy                        config_parse_mac_address_policy config_parse_mac_address_policy warn_file_is_world_accessible   config_parse_wol_password       config_parse_wol_password       config_parse_txqueuelen         config_parse_rx_tx_queues       ascii_is_valid  free_and_strdup_warn            config_parse_ifalias            config_parse_ifalias            sr_iov_set_num_vfs              sr_iov_set_netlink_message      sr_iov_configure                link_apply_sr_iov_config        link_apply_sr_iov_config        link_apply_alternative_names    link_apply_alternative_names    enable_name_policy              link_generate_new_name          link_generate_new_name                  /sys/class/dmi/i      latest lahf_lm abm constant_tsc s1 /run/systemd/first-boot /proc/self/status CapBnd: %llx ../src/shared/conf-parser.c table ret_func ret_ltype ret_data /usr/ TIMESTAMP_NSEC sr_iov state __unique_prefix__expr_45 __unique_prefix__expr_22 __unique_prefix__expr_40 __unique_prefix__expr_41 __unique_prefix__expr_54 __unique_prefix__expr_46 "'\ __unique_prefix__expr_51 __unique_prefix__expr_52 ../src/shared/net-condition.c __unique_prefix__expr_11 __unique_prefix__expr_12 Invalid syntax, ignoring: %s __unique_prefix__expr_14 __unique_prefix__expr_56 __unique_prefix__expr_57 ../src/shared/creds-util.c ret CREDENTIALS_DIRECTORY __unique_prefix__expr_21 straight mdix crossover StatisticsBlockCoalesceSec ../src/basic/env-util.h l > 0 Invalid SR-IOV VLANId: %u 802.1Q 802.1ad QueryReceiveSideScaling some ../src/shared/psi-util.c ../src/basic/string-util.c avg10= avg60= avg300= total= /proc/pressure/cpu /proc/pressure/io /proc/pressure/memory /proc/pressure -.slice /init.scope 10sec 1min 5min ‱ ‰ Failed to parse permyriad: %s dropin_dirname net.naming-scheme cache cat FRSXMK utf-8 ../src/shared/pager.c SYSTEMD_PAGER COLUMNS LINES SYSTEMD_LESS  +G (pager) SYSTEMD_LESSCHARSET SYSTEMD_PAGERSECURE SUDO_UID LESSSECURE (built-in) ../src/shared/copy.c k <= z Internal pager failed: %m exe_name_fd >= 0 (null) ../src/shared/rm-rf.c dfd >= 0 disabled Won't talk to audit: %m c->type == CONDITION_SECURITY /sys/fs/smackfs/ apparmor audit ../src/basic/audit-util.c ima /sys/kernel/security/ima/ tomoyo uefi-secureboot ../src/basic/efivars.c tpm2 /sys/class/tpmrm ../src/shared/tpm2-util.c ../src/shared/efi-api.c SELinux reload %d atfd >= 0 || atfd == AT_FDCWD atfd >= 0 || inode_path label_path path_is_absolute(label_path) abspath path_is_absolute(abspath) ../src/shared/mkdir-label.c sockfs shiftfs gfs2 smbfs smackfs ncp proc ncpfs cramfs ppc-cmm configfs selinuxfs securityfs devpts debugfs devtmpfs v9fs pvfs2 dmabuf secretmem erofs devmem tracefs efivarfs nsfs fusectl ecryptfs cpuset fuseblk afs affs vboxsf iso9660 bpf vfat apparmorfs squashfs coda rpc_pipefs pstore orangefs fuse openpromfs resctrl reiserfs ntfs ocfs2 autofs adfs pidfs qnx6 jffs2 cifs xenfs nilfs2 bdev mqueue usbdevfs nfs4 balloon-kvm udf hpfs hostfs ext2 zonefs anon_inodefs btrfs_test_fs smb3 dax f2fs cgroup2 ceph hugetlbfs exfat binfmt_misc qnx4 zsmalloc minix binder ntfs3 ext4 z3fold ext3 more v238 v239 v240 v241 v243 v245 v247 v249 v250 v251 v252 phy unicast multicast broadcast arp magic secureon 10baset-half 10baset-full 100baset-half 100baset-full 1000baset-half 1000baset-full autonegotiation 10000baset-full asym-pause 2500basex-full backplane 1000basekx-full 10000basekx4-full 10000basekr-full 10000baser-fec 20000basemld2-full 20000basekr2-full 40000basekr4-full 40000basecr4-full 40000basesr4-full 40000baselr4-full 56000basekr4-full 56000basecr4-full 56000basesr4-full 56000baselr4-full 25000basecr-full 25000basekr-full 25000basesr-full 50000basecr2-full 50000basekr2-full 100000basekr4-full 100000basesr4-full 100000basecr4-full 100000baselr4-er4-full 50000basesr2-full 1000basex-full 10000basecr-full 10000basesr-full 10000baselr-full 10000baselrm-full 10000baseer-full 2500baset-full 5000baset-full fec-none fec-rs fec-baser 50000basekr-full 50000basesr-full 50000basecr-full 50000baselr-er-fr-full 50000basedr-full 100000basekr2-full 100000basesr2-full 100000basecr2-full 100000baselr2-er2-fr2-full 100000basedr2-full 200000basekr4-full 200000basesr4-full 200000baselr4-er4-fr4-full 200000basedr4-full 200000basecr4-full 100baset1-full 1000baset1-full 400000basekr8-full 400000basesr8-full 400000baselr8-er8-fr8-full 400000basedr8-full 400000basecr8-full fec-llrs 100000basekr-full 100000basesr-full 100000baselr-er-fr-full 100000basecr-full 100000basedr-full 200000basekr2-full 200000basesr2-full 200000baselr2-er2-fr2-full 200000basedr2-full 200000basecr2-full 400000basekr4-full 400000basesr4-full 400000baselr4-er4-fr4-full 400000basedr4-full 400000basecr4-full 100basefx-half 100basefx-full syscall rdtscp bmi1 avx2 bmi2 rdseed adx sha_ni fpu pse msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 pni pclmul ssse3 fma3 cx16 sse4_1 sse4_2 movbe popcnt aes osxsave avx f16c rdrand CAP_BPF CAP_SETFCAP CAP_SYS_BOOT CAP_SYS_RAWIO CAP_SYS_CHROOT CAP_SYS_RESOURCE CAP_SYS_TIME CAP_SYS_ADMIN CAP_DAC_READ_SEARCH CAP_SETUID CAP_NET_RAW CAP_SYS_NICE CAP_SYS_TTY_CONFIG CAP_FSETID CAP_NET_BROADCAST CAP_NET_ADMIN CAP_SYS_MODULE CAP_NET_BIND_SERVICE CAP_IPC_LOCK CAP_MAC_ADMIN CAP_AUDIT_READ CAP_AUDIT_WRITE CAP_SETPCAP CAP_AUDIT_CONTROL CAP_SYS_PACCT CAP_SYS_PTRACE CAP_SETGID CAP_DAC_OVERRIDE CAP_BLOCK_SUSPEND CAP_KILL CAP_CHOWN CAP_SYSLOG CAP_CHECKPOINT_RESTORE CAP_IPC_OWNER CAP_MKNOD CAP_PERFMON CAP_LEASE CAP_FOWNER CAP_MAC_OVERRIDE CAP_LINUX_IMMUTABLE CAP_WAKE_ALARM c->type == CONDITION_CPU_FEATURE        c->type == CONDITION_FILE_NOT_EMPTY     c->type == CONDITION_FILE_IS_EXECUTABLE c->type == CONDITION_DIRECTORY_NOT_EMPTY        c->type == CONDITION_PATH_EXISTS        c->type == CONDITION_FIRST_BOOT Failed to check if /run/systemd/first-boot exists, assuming no: %m      c->type == CONDITION_CAPABILITY c->type == CONDITION_PATH_IS_READ_WRITE c->type == CONDITION_NEEDS_UPDATE       systemd.condition-needs-update  Failed to parse systemd.condition-needs-update= kernel command line argument, ignoring: %m      We are in an initrd, not doing any updates.     Specified condition parameter '%s' is not absolute, assuming an update is needed.       Failed to determine if '%s' is read-only, ignoring: %m  Failed to stat() '%s', assuming an update is needed: %m Failed to stat() /usr/, assuming an update is needed: %m        Failed to parse timestamp file '%s', using mtime: %m    No data in timestamp file '%s', using mtime.    Failed to parse timestamp value '%s' in file '%s', using mtime: %m      c->type == CONDITION_ENVIRONMENT        c->type == CONDITION_PATH_EXISTS_GLOB   c->type == CONDITION_PATH_IS_DIRECTORY  c->type == CONDITION_PATH_IS_SYMBOLIC_LINK      c->type == CONDITION_PATH_IS_MOUNT_POINT        c->type == CONDITION_PATH_IS_ENCRYPTED  Failed to determine if '%s' is encrypted: %m    Failed to parse boolean value for %s=, ignoring: %s     Support for option %s= has been disabled at compile time and it is ignored      Support for option %s= has been removed and it is ignored       Support for option %s= has not yet been enabled and it is ignored       Failed to parse duplex setting, ignoring: %s    Failed to parse Port setting, ignoring: %s      Failed to parse uint32 value, ignoring: %s      Failed to parse %s=, ignoring: %s       Invalid %s= value, ignoring: %s Failed to parse %s=, ignoring assignment: %s    The number of SR-IOV virtual functions is too large. It must be equal to or smaller than 2147483647. Ignoring assignment: %u    Failed to parse size value '%s', ignoring: %m   Maximum transfer unit (MTU) value out of range. Permitted range is %u…%u, ignoring: %s        Failed to parse MTU value '%s', ignoring: %m    Specified string contains unsafe characters, ignoring: %s       Specified string contains invalid ASCII characters, ignoring: %s        Interface name is not valid or too long, ignoring assignment: %s        Failed to extract interface name, ignoring assignment: %s       Failed to split wake-on-lan modes '%s', ignoring assignment: %m Unknown wake-on-lan mode '%s', ignoring.        Failed to parse interface name list, ignoring: %s       Not a valid hardware address, ignoring assignment: %s   Not a valid hardware address, ignoring: %s      ENCRYPTED_CREDENTIALS_DIRECTORY Failed to split advertise modes '%s', ignoring assignment: %m   Failed to parse advertise mode, ignoring: %s    Failed to parse %s= setting, ignoring assignment: %s    Failed to parse coalesce setting value, ignoring: %s    Too large %s= value, ignoring: %s       CoalescePacketRateSampleIntervalSec     Invalid property or value, ignoring assignment: %s      Failed to parse SR-IOV '%s=', ignoring assignment: %s   Invalid SR-IOV virtual function: %u     Invalid SR-IOV '%s=', ignoring assignment: %s   Failed to parse '%s=', ignoring: %s     IN_SET(c->type, CONDITION_MEMORY_PRESSURE, CONDITION_CPU_PRESSURE, CONDITION_IO_PRESSURE)       Pressure Stall Information (PSI) is not supported, skipping.    Failed to parse condition parameter %s: %m      Failed to determine whether the unified cgroups hierarchy is used: %m   PSI condition check requires the unified cgroups hierarchy, skipping.   Failed to get supported cgroup controllers: %m  Cgroup %s controller not available, skipping PSI condition check.       Cannot determine slice "%s" cgroup path: %m     Failed to get root cgroup path: %m      Error getting cgroup pressure path from %s: %m  "%s" not found, skipping PSI check.     Error parsing pressure from %s: %m      Failed to initialize SELinux labeling handle: %m        Successfully loaded SELinux database in %s, size on heap is %zuK.       ethtool: could not create control socket: %m    Using interface naming scheme '%s'.     ../src/shared/netif-naming-scheme.c     Unknown interface naming scheme '%s' requested, ignoring.       Using default interface naming scheme '%s'.     Pager invoked from wrong thread.        Failed to create pager pipe: %m Failed to create exe_name pipe: %m      Failed to duplicate file descriptor to STDIN: %m        Failed to set environment variable LESS: %m     Failed to set environment variable LESSCHARSET: %m      sd_pid_get_owner_uid() failed, enabling pager secure mode: %m   Unable to parse $SYSTEMD_PAGERSECURE, assuming true: %m Failed to adjust environment variable LESSSECURE: %m    Failed to write pager name to socket: %m        Failed to execute '%s', using fallback pagers: %m       Failed to execute '%s', will try '%s' next: %m  Failed to duplicate pager pipe: %m      Failed to create FILE object: %m        Failed to read from socket: %m  Pager executable is "%s", options "%s", quit_on_interrupt: %s   SELinux enabled state cached to: %s     Failed to make request on audit fd, ignoring: %m        /sys/module/apparmor/parameters/enabled /sys/kernel/security/tomoyo/version     SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c Error reading SecureBoot EFI variable, assuming not in SecureBoot mode: %m      Unable to test whether /sys/class/tpmrm/ exists and is populated, assuming it is not: %m        /sys/firmware/acpi/tables/TPM2  Unable to test whether /sys/firmware/acpi/tables/TPM2 exists, assuming it doesn't: %m   Failed to open SELinux status page: %m  selinux_status_open() with netlink fallback failed, not checking for policy reloads: %m selinux_status_open() failed to open the status page, using the netlink fallback.       Failed to get SELinux policyload from status page: %m   Unable to lookup intended SELinux security context of %s: %m    Unable to fix SELinux security context of %s: %m        Failed to determine SELinux security context for %s: %m Failed to set SELinux security context %s for %s: %m            ramfs tmpfs                     selinux_create_file_prepare_abspath                             selinux_create_file_prepare_abspath     selinux_fix_fd  selinux_fix_fd          mac_selinux_fix_full            mac_selinux_maybe_reload        mac_selinux_reload              mac_selinux_init        open_label_db           mac_selinux_use patch_dirfd_mode                                _P (#

 Z A 
2  - 7AA_       negative_errno  fopen_unlocked  first_word              read_resource_pressure          running_with_escalated_privileges       negative_errno          copy_bytes_full pager_fallback  no_quit_on_interrupt            no_quit_on_interrupt    pager_open              config_parse_sr_iov_num_vfs     config_parse_sr_iov_num_vfs     config_parse_sr_iov_mac         config_parse_sr_iov_mac         config_parse_sr_iov_boolean     config_parse_sr_iov_boolean     config_parse_sr_iov_link_state  config_parse_sr_iov_link_state  config_parse_sr_iov_vlan_proto  config_parse_sr_iov_vlan_proto  config_parse_sr_iov_uint32      config_parse_sr_iov_uint32      sr_iov_get_num_vfs              sr_iov_compare_func             sr_iov_hash_func        naming_scheme   naming_scheme   sc_arg_max              config_parse_match_property     config_parse_match_property     config_parse_match_ifnames      config_parse_match_ifnames      config_parse_match_strv         config_parse_match_strv condition_new           config_parse_net_condition      config_parse_net_condition      negative_errno  mkdirat_label   _qsort_safe     config_parse_coalesce_sec       config_parse_coalesce_u32       config_parse_wol                config_parse_wol                config_parse_ring_buffer_or_channel                             config_parse_ring_buffer_or_channel             config_parse_mdi                config_parse_mdi                config_parse_advertise          config_parse_advertise          set_slinksettings               ethtool_connect config_parse_port               config_parse_port               config_parse_duplex             config_parse_duplex             get_credentials_dir_internal    config_parse_hw_addrs           config_parse_hw_addrs           config_parse_hw_addr            config_parse_hw_addr            config_parse_mtu                config_parse_mtu                config_parse_ifnames            config_parse_ifnames            config_parse_ifname             config_parse_ifname             config_parse_warn_compat        cescape         free_and_strdup_warn            config_parse_string             config_parse_string             config_parse_tristate           config_parse_tristate           config_parse_si_uint64          config_parse_si_uint64          config_parse_iec_size           config_parse_iec_size           config_parse_uint32             config_parse_uint32             config_get_dropin_files         hashmap_put_stats_by_path       config_item_perf_lookup         store_loadavg_fixed_point       condition_test_psi              condition_test_psi                              condition_test_file_is_executable               condition_test_file_not_empty                   condition_test_directory_not_empty                              condition_test_path_is_encrypted                                condition_test_path_is_encrypted                condition_test_cpufeature                       condition_test_path_is_read_write                               condition_test_path_is_mount_point                              condition_test_path_is_symbolic_link                            condition_test_path_is_directory                                condition_test_path_exists_glob condition_test_path_exists      condition_test_environment      condition_test_first_boot       condition_test_first_boot       condition_test_needs_update     condition_test_needs_update     KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK   # K
K

K   KKKKKKK K   # K
K

K   KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~condition_test_capability       use_audit       is_efi_secure_boot      efi_has_tpm2    tpm2_support            condition_test_security ../src/libsystemd/sd-bus/bus-message.c  ../src/libsystemd/sd-bus/bus-track.c    ../src/fundamental/macro-fundamental.h  The interface %s is invalid as it contains special character    ../src/libsystemd/sd-bus/bus-internal.c data->sysname || data->devlink  %s%s(SEQNUM=%lu, ACTION=%s%s%s) ../src/libsystemd/sd-bus/bus-control.c  (mask & ~SD_BUS_CREDS_AUGMENT) <= _SD_BUS_CREDS_ALL     ../src/libsystemd/sd-bus/bus-creds.c    m->n_ref > 0 || m->n_queued > 0 ../src/libsystemd/sd-bus/bus-error.c    org.freedesktop.DBus.Error.NoMemory     org.freedesktop.DBus.Error.Disconnected org.freedesktop.DBus.Error.InvalidArgs  org.freedesktop.DBus.Error.UnixProcessIdUnknown org.freedesktop.DBus.Error.FileNotFound org.freedesktop.DBus.Error.FileExists   org.freedesktop.DBus.Error.IOError      org.freedesktop.DBus.Error.NotSupported org.freedesktop.DBus.Error.BadAddress   org.freedesktop.DBus.Error.LimitsExceeded       org.freedesktop.DBus.Error.AddressInUse org.freedesktop.DBus.Error.InconsistentMessage  org.freedesktop.DBus.Error.Timeout      org.freedesktop.DBus.Error.Failed       type < _SD_BUS_MESSAGE_TYPE_MAX interface_name_is_valid(interface)      !destination || service_name_is_valid(destination)      !interface || interface_name_is_valid(interface)        call->header->type == SD_BUS_MESSAGE_METHOD_CALL        munmap(part->mmap_begin, part->mapped) == 0     Failed to process message type=%s sender=%s destination=%s path=%s interface=%s member=%s cookie=%lu reply_cookie=%lu signature=%s error-name=%s error-message=%s: %s   m->header->type == SD_BUS_MESSAGE_METHOD_CALL   !(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED)     Got message type=%s sender=%s destination=%s path=%s interface=%s member=%s cookie=%lu reply_cookie=%lu signature=%s error-name=%s error-message=%s     Reply message contained file descriptors which I couldn't accept. Sorry.        Failed to process track handler: %m m->containers track c->array_size ISPOWEROF2(ali) m->body_end !part->sealed align > 0 sz < 8 !part->data part->memfd < 0 !data->device , UUID= #+-.:=@_ string value '[%s/%s]%s' is '%s' path '[%s/%s]%s' is '%s' ../src/shared/acl-util.c acl uid_is_valid(uid) reply->bus !bus_pid_changed(reply->bus) c->n_ref > 0 System.Error. ../src/basic/errno-list.c sc->id > 0 m->code > 0 !bus_error_is_dirty(e) Out of memory Disconnected Invalid argument No such process File not found File exists Input/output error Not supported Address not available Limits exceeded Address in use Inconsistent message Timed out Operation failed m->n_containers == 0 org.freedesktop.DBus.Local m->n_ref > 0 object_path_is_valid(path) call->sealed call->bus->state != BUS_UNSET !m->poisoned ../src/basic/memfd-util.c ../src/basic/memory-util.c align > 0 && k > 0 l >= 1 l >= 2 bus_type_is_basic(type) sz > 0 sd_bus_error_is_set(e) call->bus !bus_pid_changed(call->bus) method_call method_return types !bus_error_is_dirty(error) !bus_error_is_dirty(dest) l >= 3 type != 0 || !contents r != 0 mask == 0 || creds service_name_is_valid(name) org.freedesktop.DBus GetConnectionUnixUser /org/freedesktop/DBus track->handler EDEADLOCK EWOULDBLOCK ENOTSUP !$= <> <= >= < != gt              @`x      PUPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPBPPPPPPPPPPPPPPPPPPPP/PP	PPaaaPPPP:8888,:9888888t98888PPLQOPQOuOcbbbbb[c4cbbbbcbbcbbb4cbbbc            sd_bus_track_ref        track_free              sd_bus_track_unref              bus_track_dispatch              bus_track_dispatch              bus_track_remove_from_queue     ALIGN_TO        sd_bus_message_read_strv        message_skip_fields             message_peek_fields             sd_bus_message_skip             sd_bus_message_readv            sd_bus_message_peek_type        sd_bus_message_exit_container   sd_bus_message_enter_container  sd_bus_message_read_basic       message_peek_body       find_part               message_end_of_array            message_end_of_signature        page_size                       bus_body_part_map               bus_body_part_unmap     memfd_set_size          memfd_set_sealed        negative_errno          sd_bus_message_seal             sd_bus_message_appendv          sd_bus_message_close_container  sd_bus_message_open_container   ybnqiuxtdsogh                                                             message_append_basic    part_zero               message_extend_body             part_make_space message_append_part             sd_bus_message_is_method_call   bus_message_ref_queued          sd_bus_message_unref    sd_bus_ref              bus_message_set_sender_local                    sd_bus_message_new_method_error message_new_reply               sd_bus_message_new_method_call  sd_bus_message_new_signal       sd_bus_message_new              message_append_reply_cookie     message_append_field_string     message_reset_containers        message_free    message_get_last_container      sd_bus_reply_method_errno       bus_maybe_reply_error           bus_maybe_reply_error           interface_name_is_valid         sd_bus_error_set_errno          sd_bus_error_setfv                              GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG n GGGGGGGGGGGGG F A 
 
 i #   G 2 P        #    i s Z GGGGGGG F A 
 
 i #   G 2 P        #    i s Z GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGerrno_from_name bus_error_name_to_errno parse_caps              sd_bus_creds_ref                sd_bus_message_ref      bus_creds_done          sd_bus_reply_method_errorfv     sd_bus_reply_method_error       bus_read_message                sd_bus_error_copy               sd_bus_error_set                sd_bus_message_get_sender       sd_bus_message_get_destination  sd_bus_message_get_path         sd_bus_message_get_interface    sd_bus_message_get_member       sd_bus_call     sd_bus_call     sd_bus_call_methodv             sd_bus_message_send             sd_bus_get_owner_creds  memcpy_safe             sd_bus_get_name_creds   acl_find_uid            udev_resolve_subsys_kernel      udev_resolve_subsys_kernel      udev_replace_chars              udev_replace_whitespace         log_device_uevent               device_for_action               device_monitor_handler  u g 	u a v ) (     Sent message type=%s sender=%s destination=%s path=%s interface=%s member=%s cookie=%lu reply_cookie=%lu signature=%s error-name=%s error-message=%s    sd_device_get_devpath(*(sd_device**) a, &devpath_a) >= 0        sd_device_get_devpath(*(sd_device**) b, &devpath_b) >= 0        ../src/libsystemd/sd-device/device-filter.c     b->match_callbacks.type == BUS_MATCH_ROOT       pthread_mutex_destroy(&b->memfd_cache_mutex) == 0       pthread_mutex_init(&b->memfd_cache_mutex, NULL) == 0    Bus %s: changing state %s %s %s Processing of bus failed, closing down: %m      Preparing of bus events failed, closing down: %m        IN_SET(bus->state, BUS_RUNNING, BUS_HELLO)      IN_SET(bus->state, BUS_HELLO, BUS_CLOSING)      s->event->state != SD_EVENT_FINISHED    ../src/libsystemd/sd-bus/bus-socket.c   sd-bus: starting bus%s%s with %s%s      ../src/libsystemd/sd-bus/bus-container.c        sd-bus: connecting bus%s%s to machine %s...     sd-bus: connecting bus%s%s to namespace of PID %i...    Failed to open namespace of PID %i: %m  Failed to create a socket pair: %m      Skipping setgroups(), /proc/self/setgroups is set to 'deny'     Failed to create namespace for (sd-buscntr): %m Failed to read error status from (sd-buscntr): %m       Read error status of unexpected length %zd from (sd-buscntr): %m        Got unexpected error status from (sd-buscntr): %m       (sd-buscntr) failed to connect to D-Bus socket: %m      sd-bus: starting bus%s%s on fds %d/%d (%s, %s)...       hashmap_remove(enumerator->devices_by_syspath, syspath) == devices[i]   sd-device-enumerator: Failed to open directory '%s': %m sd-device-enumerator: Failed to scan /sys/bus: %m       sd-device-enumerator: Failed to scan /sys/class: %m     sd-device-monitor(%s): Failed to update filter: %m      sd-device-monitor(%s): Failed to set socket option SO_PASSCRED: %m      sd-device-monitor(%s): Failed to bind monitoring socket: %m     sd-device-monitor(%s): Failed to set address: %m        sd-device-monitor(%s): The udev service seems not to be active, disabling the monitor.  sd-device-monitor(%s): Failed to create socket: %m      sd-device-monitor(%s): Failed to set netlink address: %m        sd-device-monitor(%s): Unable to get network namespace of udev netlink socket, unable to determine if we are in host netns, ignoring: %m        sd-device-monitor(%s): Failed to stat netns of udev netlink socket: %m  sd-device-monitor(%s): No permission to stat PID1's netns, unable to determine if we are in host netns, ignoring: %m    sd-device-monitor(%s): Failed to stat PID1's netns, ignoring: %m        sd-device-monitor(%s): Netlink socket we listen on is not from host netns, we won't see device events.  sd-device-monitor(%s): Failed to increase receive buffer size, ignoring: %m     sd-device-monitor(%s): Failed to get device properties: %m      sd-device-monitor(%s): Length of device property nulstr is too small to contain valid device information.       sd-device-monitor(%s): Failed to get device subsystem: %m       sd-device-monitor(%s): Passed to netlink monitor.       sd-device-monitor(%s): Failed to send device to netlink monitor: %m     sd-device-monitor(%s): Passed %zi byte to netlink monitor. *p devices || n == 0 /block/md /block/dm- *a *b devpath_a devpath_b /sound/card /controlC sysname sysattr ../src/basic/strv.h DBUS_STARTER_BUS_TYPE DBUS_STARTER_ADDRESS !b->track_queue !b->tracks s->floating hashmap_isempty(b->nodes) bus->state == BUS_UNSET Connected /org/freedesktop/DBus/Local bus->state < BUS_HELLO i < bus->rqueue_size bus->inotify_fd >= 0 s->type != SOURCE_EXIT !event_pid_changed(s->event) bus-input bus->output_fd >= 0 bus-output bus-inotify SYSTEMD_BUS_TIMEOUT bus = m->bus b->input_fd < 0 b->output_fd < 0 b->busexec_pid == 0  	

"\`$*?['()<>|&;! "\`$ "" (sd-busexec) b->nspid > 0 || b->machine Failed to create a socket: %m (sd-buscntrns) /proc/self/ns/user allow ../src/basic/user-util.c Failed to join namespace: %m (sd-buscntr) tcp: abstract guid unixexec: family x-machine-unix: ??? b->input_fd >= 0 b->output_fd >= 0 Hello !m->event sd-device-monitor /proc/self/mountinfo  -  /proc/1/ns/net WATCH_BIND OPENING AUTHENTICATING RUNNING CLOSING CLOSED                  P``Psd_device_monitor_filter_update device_monitor_send_device      device_monitor_send_device      device_monitor_free             device_monitor_enable_receiving device_monitor_enable_receiving sd_device_monitor_set_description               sd_device_monitor_attach_event  sd_device_monitor_start         device_monitor_event_handler    device_monitor_new_full         monitor_set_nl_address          device_match_parent             device_match_sysattr            strv_fnmatch_or_empty           device_match_sysattr_value      hashmap_update  update_match_strv               device_enumerator_get_next      device_enumerator_get_first     device_enumerator_scan_devices_and_subsystems                   device_enumerator_scan_devices_and_subsystems                   sd_device_enumerator_get_device_next                            sd_device_enumerator_get_device_first           device_enumerator_scan_devices  enumerator_scan_devices_all                     enumerator_scan_devices_children                parent_crawl_children           parent_crawl_children           enumerator_scan_devices_tags    enumerator_scan_devices_tag     enumerator_scan_devices_tag     enumerator_scan_dir             enumerator_scan_dir                             enumerator_scan_dir_and_add_devices                             enumerator_scan_dir_and_add_devices             enumerator_add_parent_devices   test_matches    match_sysname   device_enumerator_add_device    enumerator_sort_devices         sound_device_compare    device_compare          devpath_is_late_block           sd_device_enumerator_add_match_parent                           device_enumerator_add_match_parent_incremental                  device_enumerator_add_match_sysname                             sd_device_enumerator_add_match_property                         sd_device_enumerator_add_match_sysattr                          sd_device_enumerator_add_match_subsystem                        device_enumerator_unref_devices device_unref_many               bus_socket_connect              maybe_setgroups negative_errno  namespace_fork  bus_container_connect_socket    bus_container_connect_socket    strcpy_backslash_escaped        bus_socket_exec bus_socket_exec sd_bus_get_method_call_timeout  bus_attach_inotify_event        sd_event_source_set_prepare     bus_attach_io_events            prepare_callback                prepare_callback        io_callback     io_callback     bus_poll        process_match   process_filter          sd_bus_get_timeout              sd_bus_get_events       sd_bus_wait             bus_ensure_running      calc_elapse             sd_bus_can_send sd_bus_send     rqueue_drop_one bus_rqueue_make_room            dispatch_wqueue bus_write_message               bus_write_message               bus_seal_synthetic_message      bus_message_remarshal           bus_remarshal_message           bus_enter_closing       sigterm_wait            sd_bus_open_with_description    bus_start_fd    bus_start_fd    bus_start_address       sd_bus_start            bus_reset_parsed_address        skip_address_key                parse_address_key               bus_start_running       hello_callback  bus_set_state   bus_set_state           synthesize_connected_signal     sd_bus_set_address      sd_bus_new      bus_free                bus_reset_queues                bus_close_inotify_fd            bus_close_io_fds                bus_detach_io_events                     /var/run/dbus/system_bus_socket /run/udev/tags/ "       (   ../src/libsystemd/sd-hwdb/sd-hwdb.c     a >= 0 && a < _SD_DEVICE_ACTION_MAX     sd-device: Failed to chase symlinks in "%s".    sd-device: Failed to get target of '%s': %m     sd-device: Failed to chase symlink /sys: %m     sd-device: Canonicalized path '%s' does not starts with sysfs mount point '%s'  sd-device: the syspath "%s" is not a directory. sd-device: cannot find uevent file for %s: %m   sd-device: failed to check if syspath "%s" is a directory: %m   Failed to parse $SYSTEMD_DEVICE_VERIFY_SYSFS value: %m  sd-device: failed to check if syspath "%s" is backed by sysfs.  sd-device: the syspath "%s" is outside of sysfs, refusing.      sd-device: Syspath '%s' is not a subdirectory of /sys   devpath = startswith(syspath, "/sys")   sd-device: "/sys" alone is not a valid device path.     sd-device: Failed to add "DEVPATH" property for device "%s": %m path_startswith(device->syspath, "/sys/")       sd-device: Failed to read uevent file '%s': %m  sd-device: Invalid uevent line '%s', ignoring   sd-device: Failed to handle uevent entry '%s=%s', ignoring: %m  sd-device: Failed to set 'MAJOR=%s' or 'MINOR=%s' from '%s', ignoring: %m       path_startswith(device->devname, "/dev/")       sd-device: Failed to read subsystem for %s: %m  sd-device: Failed to set subsystem for %s: %m   sd-device: readlink("%s") failed: %m    sd-device: Failed to set driver "%s": %m        sd-device: Failed to set syspath to '%s': %m    sd-device: Failed to set subsystem to '%s': %m  sd-device: Failed to set devtype to '%s': %m    sd-device: Failed to set devname to '%s': %m    sd-device: Failed to parse timestamp '%s': %m   sd-device: Failed to set usec-initialized to '%s': %m   sd-device: Failed to set driver to '%s': %m     sd-device: Failed to set ifindex to '%s': %m    sd-device: Failed to set devmode to '%s': %m    sd-device: Failed to set devuid to '%s': %m     sd-device: Failed to set devgid to '%s': %m     sd-device: Failed to set action to '%s': %m     sd-device: Failed to set SEQNUM to '%s': %m     sd-device: Failed to set DISKSEQ to '%s': %m    sd-device: Failed to add devlink '%s': %m       sd-device: Failed to add tag '%s': %m   sd-device: Failed to parse udev database version '%s': %m       sd-device: Failed to add property '%s=%s': %m   sd-device: Unknown key '%c' in device db, ignoring      sd-device: Failed to read db '%s': %m   sd-device: Invalid db entry with key '%c', ignoring     sd-device: Failed to handle db entry '%c:%s', ignoring: %m      sd-device: Created %s file '%s' for '%s'        sd-device: Failed to create %s file '%s' for '%s'       sd-device: failed to cache attribute '%s' with NULL, ignoring: %m       sd-device: failed to cache attribute '%s' with '%s'%s: %m       sd-device: failed to cache attribute '%s' with '%s', ignoring: %m       sd-device: Failed to access %s/uevent, ignoring sub-directory %s: %m    hwdb.bin does not exist, please run 'systemd-hwdb update'       Failed to recognize the format of %s    rtnl_message_type_is_link(nlmsg_type)   size >= sizeof(struct nlmsghdr) NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len buf->len >= count vdup == NULL || r > 0 devtype devname _devmode DEVMODE _syspath SYSTEMD_DEVICE_VERIFY_SYSFS /sys/bus/ /sys/class/ /sys/module/ /drivers /drivers/ /sys/firmware/ suffix device->devpath device->devpath[0] == '/' n <= len /sys/dev/%s/%u:%u /run/systemd/inaccessible/chr /dev/block/ /dev/char/ IN_SET(type, 'b', 'c') devlink USEC_INITIALIZED DEVUID DEVGID CURRENT_TAGS UDEV_DATABASE_VERSION %c%u:%u n%u device->driver_subsystem +drivers: /run/udev/tags/ empty S:%s
 L:%i
 I:%lu
 E:%s=%s
 G:%s
 Q:%s
 V:1
 i == num SYNTH_UUID ID_IGNORE_DISKSEQ Trying to open "%s"... File %s is too short: %m Failed to map %s: %m tool version:          %lu file size:        %8li bytes header size       %8lu bytes strings           %8lu bytes nodes             %8lu bytes KSLPHHRH hwdb->f policy_set !data || data_length > 0 policy_set->policies                  ?p>>p>?p>p>?p>p>p>p>>p>?p>p>h?>UDEV_DATABASE_VERSION=1     /etc/systemd/hwdb/hwdb.bin /etc/udev/hwdb.bin /usr/lib/systemd/hwdb/hwdb.bin /lib/systemd/hwdb/hwdb.bin /lib/udev/hwdb.bin              netlink_message_read_hw_addr                    sd_netlink_message_close_container                              sd_netlink_message_open_container               sd_netlink_message_append_data  sd_netlink_message_append_u32                   sd_netlink_message_append_string                policy_set_get_policy           policy_get_size message_attribute_has_type      add_rtattr      message_new_empty               sd_rtnl_message_get_family      message_new_full        message_new             sd_rtnl_message_new_link        sd_hwdb_enumerate       sd_hwdb_seek    sd_hwdb_unref   hwdb_new        linebuf_rem             hwdb_add_property       device_opendir  sd_device_open          sd_device_trigger_with_uuid     sd_device_set_sysattr_value     sd_device_set_sysattr_value     device_remove_cached_sysattr_value              device_get_sysattr_int          sd_device_get_sysattr_value     sd_device_get_sysattr_value     device_cache_sysattr_value      sd_device_get_trigger_uuid      sd_device_has_tag               sd_device_get_sysattr_first                     device_sysattrs_read_all_internal                               device_sysattrs_read_all_internal               sd_device_get_property_next     sd_device_get_property_first    device_properties_prepare       sd_device_get_devlink_next      sd_device_get_devlink_first     sd_device_get_tag_next          sd_device_get_tag_first                         device_read_db_internal_filename                device_read_db_internal         device_get_device_id    handle_db_line  handle_db_line          device_set_usec_initialized     device_add_devlink      device_add_tag          device_set_sysname_and_sysnum   sd_device_get_devname           sd_device_get_devpath           sd_device_get_driver            sd_device_get_driver            device_set_driver               sd_device_get_devnum            sd_device_get_parent_with_subsystem_devtype     sd_device_get_subsystem         sd_device_get_subsystem         device_set_drivers_subsystem    device_set_subsystem            sd_device_get_parent            sd_device_new_child                             device_enumerate_children_internal              sd_device_get_syspath           sd_device_new_from_devnum       format_ifname_full              sd_device_new_from_device_id    handle_uevent_line              device_read_uevent_file         device_read_uevent_file         device_set_diskseq              device_set_devnum               device_set_devmode              device_set_devname      parse_ifindex           device_set_ifindex              device_set_devtype              sd_device_new_from_path         sd_device_new_from_subsystem_sysname            device_strjoin_new              device_new_from_main_ifname     device_new_from_syspath         device_set_syspath              device_set_syspath              device_add_property_aux sd_device_ref           device_delete_db                device_update_db                device_update_db        device_tag              device_update_properties_bufs   device_amend    device_amend    device_set_action               device_add_property             _hashmap_put_strdup_full                        sd_device_monitor_filter_add_match_subsystem_devtype            /sys/class/net/ /run/udev/data/ d->wakeup == WAKEUP_CLOCK_DATA  Failed to remove source %s (type %s) from epoll, ignoring: %m   sigdelset(&d->sigset, sig) >= 0 Failed to unset signal bit, ignoring: %m        EVENT_SOURCE_USES_TIME_PRIOQ(s->type)   prioq_remove(d->earliest, s, &s->earliest_index) > 0    Failed to remove watch descriptor %i from inotify, ignoring: %m hashmap_remove(d->inotify_data->wd, INT_TO_PTR(d->wd)) == d     hashmap_remove(d->inotify_data->inodes, d) == d sd-netlink: message parse - overwriting repeated attribute      IN_SET(policy->type, NETLINK_TYPE_NESTED_UNION_BY_STRING, NETLINK_TYPE_NESTED_UNION_BY_FAMILY)  policy->type == NETLINK_TYPE_NESTED     sd-netlink: Failed to enable NETLINK_EXT_ACK option, ignoring: %m       sd-netlink: Failed to enable NETLINK_GET_STRICT_CHK option, ignoring: %m        ../src/libsystemd/sd-netlink/netlink-socket.c   m->n_containers < NETLINK_CONTAINER_DEPTH       ../src/libsystemd/sd-id128/sd-id128.c   k == SD_ID128_UUID_STRING_MAX - 1       /proc/sys/kernel/random/boot_id !a || EVENT_SOURCE_USES_TIME_PRIOQ(a->type)     !b || EVENT_SOURCE_USES_TIME_PRIOQ(b->type)     b && b->enabled != SD_EVENT_OFF d = event_get_clock_data(s->event, s->type)     prioq_remove(s->event->pending, s, &s->pending_index)   s->inotify.inode_data->inotify_data     s->inotify.inode_data->inotify_data->n_pending > 0      enabled == SD_EVENT_OFF || ratelimited  s->event->n_online_child_sources > 0    enabled != SD_EVENT_OFF || !ratelimited hashmap_remove(e->inotify_data, &d->priority) == d      Failed to remove inotify fd from epoll, ignoring: %m    Event loop profiling enabled. Logarithmic histogram of event loop iterations in the range 2^0 %s 2^63 us will be logged every 5s.       Failed to reset signal set, ignoring: %m        Failed to add signal %i to signal mask, ignoring: %m    Failed to unblock signal %i, ignoring: %m       inotify_data = inode_data->inotify_data Failed to kill process %i via pidfd_send_signal(), re-trying via kill(): %m     Failed to kill process %i via kill(), ignoring: %m      d = event_get_clock_data(e, type)       event_source_is_offline(s) == !s->io.registered !(events & ~(EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLPRI|EPOLLERR|EPOLLHUP|EPOLLET))   old = hashmap_get(s->event->signal_data, &s->priority)  !s || EVENT_SOURCE_USES_TIME_PRIOQ(s->type)     Event source %p (%s) left rate limit state.     Ratelimit expiry callback of event source %s (type %s) returned error, %s: %m   sd_event_source_set_enabled(s, SD_EVENT_OFF) >= 0       event_source_time_prioq_put(s, &s->event->monotonic) >= 0       s->child.options & (WSTOPPED|WCONTINUED)        s->pending || s->type == SOURCE_EXIT    Event source %p (%s) entered rate limit state.  event_source_time_prioq_put(s, event_get_clock_data(s->event, s->type)) >= 0    d = s->inotify.inode_data->inotify_data d->buffer_filled >= offsetof(struct inotify_event, name)        Event source %s (type %s) returned error, %s: %m        !e->default_event_ptr || e->tid == gettid()     Prepare callback of event source %s (type %s) returned error, %s: %m    ../src/libsystemd/sd-bus/bus-kernel.c   munmap(address, PAGE_ALIGN(size)) >= 0  ../src/libsystemd/sd-bus/bus-match.c    node->type < _BUS_MATCH_NODE_TYPE_MAX   hashmap_isempty(node->compare.children) x->pending y->pending x->prepare y->prepare s->rate_limit.begin != 0 s->rate_limit.interval != 0 s->type == SOURCE_IO enabled != SD_EVENT_OFF s->type == SOURCE_CHILD d->fd >= 0 !d->event_sources sz <= d->buffer_filled %u  Event loop iterations: %s policy policy_set_union policy_set_union->elements nlctrl nl->fd >= 0 /etc/machine-id a <= b sigaddset(&ss_copy, sig) >= 0 s->inotify.inode_data hashmap_isempty(d->inodes) hashmap_isempty(d->wd) e->n_sources == 0 SD_EVENT_PROFILE_DELAYS s->event->n_sources > 0 inotify_data->n_pending > 0 EVENT_SOURCE_IS_TIME(s->type) e->watchdog_fd >= 0 exiting disabling e->state == SD_EVENT_ARMED revents == EPOLLIN !s->ratelimited d->buffer_filled >= sz e->state == SD_EVENT_INITIAL s->prepare e->state == SD_EVENT_PENDING !p || p->type == SOURCE_EXIT node->parent !node->child node->type != BUS_MATCH_ROOT node->prev->next == node node->parent->child == node node->type == BUS_MATCH_VALUE bitwise cmp fib lookup masq nat payload bridge bareudp batadv bond geneve ip6erspan ip6gre ip6gretap ip6tnl ipoib ipip ipvlan ipvtap macsec macvlan macvtap sit tun veth vrf vti vti6 vxcan vxlan xfrm cake drr ets fq_codel fq_pie gred hhf htb qfq sfb tbf fou l2tp NLBL_UNLBL nl80211 wireguard realtime bootime monotonic realtime-alarm boottime-alarm defer post watchdog   ppppppتxX'D$PЬ̸̸̸̸̸l,|?D     ?[((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((xfoXX                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         0                                                                                                                                                                                    0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      $                                                                                                                                                                                      $                                                                                                                                                                                                                                                           ,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     	                                                                                                                                                                 	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     value_node_test bus_match_run   bus_match_node_free     ALIGN_TO                close_and_munmap                event_source_timer_candidate    sd_event_now    sd_event_exit   dispatch_exit   sd_event_dispatch       event_prepare   event_prepare           event_close_inode_data_fds      sd_event_prepare        sd_event_run    sd_event_loop           event_log_delays        process_signal          event_inotify_data_read process_epoll   process_child   sd_event_wait   negative_errno  arm_watchdog            event_next_pending              event_source_enter_ratelimited  event_source_enter_ratelimited  source_dispatch source_dispatch event_inotify_data_drop         event_source_leave_ratelimit    event_source_leave_ratelimit    process_timer   flush_timer     event_arm_timer sleep_between   sd_event_source_set_time        sd_event_source_set_enabled     event_source_online             event_source_offline            sd_event_source_set_priority    sd_event_source_set_io_events   event_source_is_offline         sd_event_source_set_io_fd       sd_event_source_set_description sd_event_source_unref           inotify_exit_callback           event_gc_inode_data             event_gc_inotify_data           event_free_inode_data           event_free_inode_data           inode_data_hash_func            inode_data_compare              event_free_inotify_data         event_free_inotify_data         generic_exit_callback           child_exit_callback             signal_exit_callback                                   sd_event_add_time               event_source_time_prioq_put     event_setup_timer_fd            setup_clock_data                time_exit_callback              sd_event_add_io io_exit_callback        source_new              source_set_pending      source_free     source_free             source_disconnect               source_disconnect               event_source_time_prioq_remove                  event_source_time_prioq_reshuffle                               event_source_pp_prioq_reshuffle                 event_gc_signal_data            event_unmask_signal_data        event_unmask_signal_data        event_make_signal_data          event_get_clock_data            source_child_pidfd_register     source_child_pidfd_unregister   source_child_pidfd_unregister   source_io_register              source_io_unregister            source_io_unregister            event_pid_changed       sd_event_ref    sd_event_new    sd_event_new    event_free              free_clock_data time_event_source_latest        time_event_source_next          prepare_prioq_compare           pending_prioq_compare   sd_is_socket            sd_id128_from_string            0123456789abcdef                sd_id128_to_uuid_string sd_netlink_ref  negative_errno          broadcast_groups_get            sd_netlink_open_fd              sd_netlink_open_fd              sd_netlink_message_append_strv                  rtnl_update_link_alternative_names              sd_netlink_message_read_strv                    rtnl_get_link_alternative_names policy_set_union_get_policy_set_by_family                       policy_set_union_get_policy_set_by_string       policy_get_policy_set                           netlink_get_policy_set_and_header_size          policy_get_policy_set_union     netlink_container_parse                                 <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
          <annotation name="org.freedesktop.systemd1.Explicit" value="true"/>
    <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const"/>
    <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="invalidates"/>
      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
    <annotation name="org.freedesktop.systemd1.Privileged" value="true"/>
       ../src/libsystemd/sd-bus/bus-objects.c  hashmap_remove(b->nodes, n->path) == n  ../src/fundamental/string-util-fundamental.h    OK %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x
   ../src/libsystemd/sd-bus/bus-slot.c     signature_is_single(v->x.property.signature, false)     bus_type_is_basic(v->x.property.signature[0])   org.freedesktop.DBus.Introspectable     org.freedesktop.DBus.ObjectManager      b->state == BUS_AUTHENTICATING  Got unexpected auxiliary data with level=%d and type=%d Failed to determine peer security context: %m   Failed to determine peer's group list: %m       ../src/libsystemd/sd-netlink/netlink-slot.c     sd-netlink: kernel receive buffer overrun       sd-netlink: ignoring message from PID %u        Received invalid message from connection %s, dropping.  b->sockaddr.sa.sa_family == AF_UNIX     b->sockaddr.un.sun_path[0] != 0 Failed to add inotify watch on /: %m    Added inotify watch for %s on bus %s: %i        Failed to add inotify watch on %s: %m   b->sockaddr.sa.sa_family != AF_UNSPEC   salen >= sizeof(sa->sa.sa_family)       sd-bus: starting bus%s%s by connecting to %s... (sd_bus_creds_get_augmented_mask(creds) & SD_BUS_CREDS_EFFECTIVE_CAPS) == 0     (sd_bus_creds_get_augmented_mask(creds) & (SD_BUS_CREDS_UID|SD_BUS_CREDS_EUID)) == 0    Access to %s.%s() not permitted.        Invalid arguments '%s' to call %s.%s(), expecting '%s'. Expected interface and member parameters        Property '%s' is not writable.  org.freedesktop.DBus.Error.PropertyReadOnly     Incorrect signature when setting property '%s', expected 'v', got '%c'. org.freedesktop.DBus.Error.InvalidSignature     Incorrect parameters for property '%s', expected '%s', got '%s'.        org.freedesktop.DBus.Error.UnknownInterface     <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"https://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="org.freedesktop.DBus.Peer">
  <method name="Ping"/>
  <method name="GetMachineId">
   <arg type="s" name="machine_uuid" direction="out"/>
  </method>
 </interface>
 <interface name="org.freedesktop.DBus.Introspectable">
  <method name="Introspect">
   <arg name="xml_data" type="s" direction="out"/>
  </method>
 </interface>
 <interface name="org.freedesktop.DBus.Properties">
  <method name="Get">
   <arg name="interface_name" direction="in" type="s"/>
   <arg name="property_name" direction="in" type="s"/>
   <arg name="value" direction="out" type="v"/>
  </method>
  <method name="GetAll">
   <arg name="interface_name" direction="in" type="s"/>
   <arg name="props" direction="out" type="a{sv}"/>
  </method>
  <method name="Set">
   <arg name="interface_name" direction="in" type="s"/>
   <arg name="property_name" direction="in" type="s"/>
   <arg name="value" direction="in" type="v"/>
  </method>
  <signal name="PropertiesChanged">
   <arg type="s" name="interface_name"/>
   <arg type="a{sv}" name="changed_properties"/>
   <arg type="as" name="invalidated_properties"/>
  </signal>
 </interface>
         <interface name="org.freedesktop.DBus.ObjectManager">
  <method name="GetManagedObjects">
   <arg type="a{oa{sa{sv}}}" name="object_paths_interfaces_and_properties" direction="out"/>
  </method>
  <signal name="InterfacesAdded">
   <arg type="o" name="object_path"/>
   <arg type="a{sa{sv}}" name="interfaces_and_properties"/>
  </signal>
  <signal name="InterfacesRemoved">
   <arg type="o" name="object_path"/>
   <arg type="as" name="interfaces"/>
  </signal>
 </interface>
  ../src/libsystemd/sd-bus/bus-introspect.c         <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <property name="%s" type="%s" access="%s">
   set_interface_name(i, NULL) >= 0 ../src/basic/memory-util.h haystack OK  AGREE_UNIX_FD i == n p[0] == ' ' IN_SET(b->auth_index, 0, 1) src AUTH ANONYMOUS REJECTED
 DATA
 AUTH EXTERNAL AUTH REJECTED EXTERNAL ANONYMOUS
 CANCEL ERROR BEGIN ERROR
 NEGOTIATE_UNIX_FD AGREE_UNIX_FD
  </interface>
  <interface name="%s">
 name=unified controller name= sv oa{sa{sv}} org.freedesktop.DBus.Peer sa{sv} node->type == BUS_MATCH_LEAF !b->ucred_valid !b->label b->n_groups == SIZE_MAX ../src/basic/socket-util.c n % sizeof(gid_t) == 0 idx !m->iovec n == m->n_iovec group > 0 uninitialized
 ../src/basic/alloc-util.c l == 0 || p bus->rbuffer_size >= size buffer || message_size <= 0 fds || n_fds <= 0 b->watch_bind % %u.%u.%u.%u:%u [%s]:%u%s%s <unnamed> @ vsock::%u vsock:%u:%u ../src/basic/architecture.c SIT ASH ATM AX25 ADAPT PPP FCAL FCPL IEEE80211_PRISM IRDA FCPP FCFABRIC IEEE80211_RADIOTAP IP6GRE FDDI NETROM HIPPI FRAD BIF PHONET PHONET_PIPE CSLIP NETLINK IEEE802 CHAOS DDCMP RSRVD METRICOM 6LOWPAN IPGRE TUNNEL TUNNEL6 IEEE802_TR CAN IEEE80211 PRONET HWX25 CAIF EETHER IPDDP ECONET PIMREG DLCI APPLETLK IEEE1394 RAWHDLC CISCO NONE VOID VSOCKMON MCTP INFINIBAND IEEE802154 IEEE802154_MONITOR RAWIP ROSE LAPB ARCNET CSLIP6 LOCALTLK EUI64 LOOPBACK SKIP sessionid /proc/%i/%s loginuid /proc/sys/kernel/cap_last_cap c->capability readwrite read Set GetAll Expected interface parameter Unknown interface '%s'. Introspect Expected no parameters interface_name   <method name="%s">
   </method>
   </property>
   <signal name="%s">
   </signal>
  <node name="%s"/>
 </node>
 GetManagedObjects {oa{sa{sv}}} pl <= BUS_PATH_SIZE_MAX /sys/fs/cgroup /cgroup.procs /sys/fs/cgroup/ x86_64 i686 i586 i486 i386                            PC<0pXxhXXXXXXXXXXHXXXXX(XXXX4$TD(HHhxxhX((((((((((((H8(((((((((((((((XH8(    negative_errno          controller_is_v1_accessible     controller_to_dirname           uname_architecture      greedy_realloc memdup   socket_recv_message             socket_recv_message             broadcast_group_leave           sd_netlink_slot_unref           netlink_slot_disconnect         sockaddr_pretty bus_socket_connect              bus_socket_read_message         bus_socket_read_message         message_from_header             bus_socket_make_message         bus_socket_make_message         bus_socket_read_message_need    append_iovec    bus_message_setup_iovec         bus_socket_write_message        bus_socket_inotify_setup        bus_socket_inotify_setup        getpeersec      getpeergroups   bus_get_peercred                bus_get_peercred        BEGIN
 NEGOTIATE_UNIX_FD
              AUTH EXTERNAL
DATA
                           AUTH ANONYMOUS 616e6f6e796d6f7573
            bus_socket_start_auth           bus_socket_setup                bus_socket_read_auth            bus_socket_read_auth            bus_socket_write_auth           bus_socket_auth_verify_server   bus_socket_auth_write_ok        memcpy_safe     bus_socket_auth_write           verify_external_token           verify_anonymous_token  memmem_safe             memory_startswith               bus_socket_auth_verify_client   sd_bus_slot_unref               sd_bus_slot_ref bus_match_remove                bus_slot_disconnect     bus_node_gc             vtable_method_convert_userdata  vtable_property_get_userdata    invoke_property_set             introspect_finish               introspect_write_child_nodes    introspect_write_interface                      object_manager_serialize_path_and_fallbacks     object_find_and_run             object_manager_serialize_path   bus_node_exists sd_bus_message_sensitive        vtable_property_convert_userdata                vtable_append_all_properties    sd_bus_message_append_strv      invoke_property_get     has_cap sd_bus_creds_has_effective_cap  sd_bus_query_sender_creds                       sd_bus_creds_get_augmented_mask sd_bus_creds_get_euid           sd_bus_creds_get_uid            sd_bus_query_sender_privilege   check_access    add_subtree_to_set              node_vtable_get_userdata        bus_match_free               notify_on_release release_agent tasks .host UTF-8 POSIX LC_ALL LC_CTYPE LANG ../src/basic/devnum-util.c ../src/basic/dirent-util.c ../src/basic/extract-word.c r >= 1 JOURNAL_STREAM ../src/basic/fd-util.c close_nointr(fd) != -EBADF fds || n_fd <= 0 fclose_nointr(f) != -EBADF n_fdset == 0 || fdset ../src/basic/fd-util.h copy > 2 /dev/kmsg controller_str  (deleted) /system.slice /system cgroup.controllers fd >= 0 || fd == AT_FDCWD ../src/basic/hash-funcs.c e->p.b.key == i->next_key i->idx > 0 e->key == i->next_key !h->has_indirect ../src/basic/mempool.c mp->at_least > 0 idx < n_buckets(h) ../src/basic/hexdecoct.c p || l == 0 ../src/basic/in-addr-util.c 0123456789abcdefABCDEF hexoff >= hex x < 16 ../src/basic/io-util.c (size_t) k <= nbytes /run/systemd/journal/socket target >= 0 target < _LOG_TARGET_MAX Code should not be reached from != to dibs[idx] != DIB_RAW_FREE left != right dib != 0 n_rehashed == n_entries(h) n_entries(h) < n_buckets(h) h->n_direct_entries == 0 is_main_thread() needle /dev/null fd[i] > 2 MESSAGE= _k < ELEMENTSOF(_argtypes) USER_UNIT=%s MESSAGE=%s:%u: %s CONFIG_LINE=%u CONFIG_FILE=%s MESSAGE=%s: %s MESSAGE=%s ../src/basic/chase-symlinks.c /sys/firmware/efi/ ../src/basic/env-file.c #; n_except == 0 || except end >= start /proc/self/fd /proc/sys/fs/nr_open ../src/basic/limits-util.c sc > 0 memory.max memory.limit_in_bytes systemd.log_target systemd.log_level systemd.log_color systemd.log_location systemd.log_tid systemd.log_time SYSTEMD_EXEC_PID SYSTEMD_LOG_TARGET SYSTEMD_LOG_LEVEL SYSTEMD_LOG_COLOR SYSTEMD_LOG_LOCATION SYSTEMD_LOG_TIME SYSTEMD_LOG_TID /proc/self/fdinfo/%i 
mnt_id: err < 0 console console-prefixed journal-or-kmsg syslog syslog-or-kmsg cpuacct blkio pids bpf-firewall bpf-devices bpf-foreign bpf-socket-bind 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ Assertion '%s' failed at %s:%u, function %s(). Aborting.        FLAGS_SET(sx.stx_mask, STATX_TYPE)      ../src/basic/ether-addr-util.c  addr->length <= HW_ADDR_MAX_SIZE        max_size <= READ_VIRTUAL_BYTES_MAX || max_size == SIZE_MAX      ungetc((unsigned char) c, f) != EOF     mp->tile_size >= sizeof(void*)  pthread_once(&once, shared_hash_key_initialize) == 0    expected_len <= HW_ADDR_MAX_SIZE || expected_len == SIZE_MAX    ../src/basic/mountpoint-util.c  %s at %s:%u, function %s(). Aborting. 💥      old_dibs[idx] != DIB_RAW_REHASH old_tail->iterate_next == IDX_NIL       hashmap_put_robin_hood(h, idx, swap) == false   Assertion '%s' failed at %s:%u, function %s(). Ignoring.        MESSAGE_ID=c772d24e9a884cbeb9ea12625c306c01     Specified path '%s' is outside of specified root directory '%s', refusing to resolve.   Unable to test whether /sys/firmware/efi/ exists, assuming EFI not available: %m        %s:%u: invalid UTF-8 in key '%s', ignoring.     %s:%u: invalid UTF-8 value for key %s: '%s', ignoring.  Refusing to loop over %d potential fds. Failed to read /proc/sys/fs/nr_open, ignoring: %m       Failed to parse /proc/sys/fs/nr_open value '%s', ignoring: %m   Failed to determine root cgroup, ignoring cgroup memory limit: %m       Failed to determine root unified mode, ignoring cgroup memory limit: %m Failed to read memory.max cgroup attribute, ignoring cgroup memory limit: %m    Failed to read memory.limit_in_bytes cgroup attribute, ignoring cgroup memory limit: %m Failed to parse cgroup memory limit '%s', ignoring: %m  Failed to parse log target '%s'. Ignoring.      Failed to parse log level '%s'. Ignoring.       Failed to parse log color setting '%s'. Ignoring.       Failed to parse log location setting '%s'. Ignoring.    Failed to parse log tid setting '%s'. Ignoring. Failed to parse log time setting '%s'. Ignoring.        Failed to parse "SYSTEMD_EXEC_PID=%s", ignoring: %m     Failed to parse log color '%s'. Ignoring.       Failed to parse log location '%s'. Ignoring.    Failed to parse log time '%s'. Ignoring.        Failed to parse log tid '%s'. Ignoring. (flags & ~(AT_SYMLINK_FOLLOW|AT_EMPTY_PATH)) == 0       bpf-restrict-network-interfaces                         


(
8
H
X




















h




x
            fd_is_mount_point                               is_name_to_handle_at_fatal_error                                filename_possibly_with_slash_suffix             fd_fdinfo_mnt_id                name_to_handle_at_loop  negative_errno          invoked_by_systemd              log_parse_environment_variables proc_cmdline_value_missing      parse_proc_cmdline_item         log_struct_internal    log_set_target          physical_memory physical_memory loop_read       in_addr_from_string     unhexmem_full           hashmap_free_no_clear   set_fnmatch             set_fnmatch_one hashmap_replace set_put hashmap_put             base_bucket_scan        resize_buckets          hashmap_base_put_boldly ALIGN_TO                mempool_alloc_tile              hashmap_base_new                reset_direct_storage            hashmap_iterate_in_internal_order                               hashmap_iterate_in_insertion_order              base_remove_entry               bucket_at_virtual               bucket_move_entry       path_hash_func          format_proc_fd_path     readlink_value          readlinkat_malloc       read_line_full          fflush_and_check                read_virtual_file_fd            read_one_line_file      read_nr_open            rearrange_stdio fd_move_above_stdio             format_proc_fd_path             close_all_fds_frugal    close_all_fds   fd_in_set       negative_errno  fd_cloexec      safe_fclose     close_many      safe_close      close_nointr            extract_first_word              parse_ether_addr                parse_hw_addr_one_field         parse_hw_addr_full              hw_addr_hash_func               hw_addr_compare hw_addr_to_string_full  cescape_length          check_utf8ness_and_warn is_efi_boot             readdir_ensure_type             dirent_ensure_type      parse_devnum    chase_symlinks  chase_symlinks          cg_mask_from_string             cg_path_get_unit        cg_unescape             cg_pid_get_path \a\b\f\n\r\t\v\\\"\'../src/basic/siphash24.c ../src/basic/uid-range.c true false IN_SET(base, 1000, 1024) 0b 0o 0B 0O !q || q >= path ../src/basic/prioq.c j < q->n_items k < q->n_items ../src/basic/proc-cmdline.c pid >= 1 stat  %c i >= last_char_width[k] RTMIN+%d Failed to wait for %s: %m %s succeeded. %s terminated by signal %s. sigfillset(&ss) >= 0 Failed to set signal mask: %m Failed to fork off '%s': %m PR_SET_NAME failed: %m mmap() failed: %m n_fds == 0 || fds RTMIN RTMAX ../src/basic/stat-util.c filea Cannot stat %s: %m /proc/ p == nr + l !(flags & ~_IFNAME_VALID_ALL) default i <= q ../src/basic/strxcpyx.c dest ../src/basic/sync-util.c ../src/basic/terminal-util.c  %*c %*d %*d %*d %lu  dumb SYSTEMD_COLORS 256 NO_COLOR COLORTERM truecolor 24bit ../src/basic/time-util.c range ../src/basic/unit-def.c nogroup 65534 ../src/basic/util.c CLASS LEADER SYSTEMD_IN_INITRD /etc/initrd-release /proc/vz /proc/bc /proc/sys/kernel/osrelease Microsoft WSL TracerPid  	 /run/host/container-manager /run/systemd/container /proc/self/ns/cgroup /sys/fs/cgroup/cgroup.events /sys/fs/cgroup/cgroup.type /sys/kernel/cgroup/features /sys/fs/cgroup/systemd oci SYSTEMD_PROC_CMDLINE w >= 0 /proc/cmdline %u %u %u
 Failed to parse %s: %m %s has a full 1:1 mapping SYSTEMD_IGNORE_CHROOT /proc/1/root  not .metal /proc/cpuinfo vendor_id	:  User Mode Linux /proc/xen %lx /proc/xen/capabilities control_d /sys/hypervisor/type Found VM virtualization %s ../src/basic/xattr-util.c /dev/urandom postfix /./ // ../src/basic/sysctl-util.c Setting '%s' to '%s' TMPDIR /tmp XXXXXX TEMP TMP ../src/basic/tmpfile-util.c pattern lost+found aquota.user aquota.group rpmnew rpmsave rpmorig dpkg-old dpkg-new dpkg-tmp dpkg-dist dpkg-bak dpkg-backup dpkg-remove ucf-new ucf-old ucf-dist swp /sys/class/dmi/id/sys_vendor /sys/class/dmi/id/bios_vendor KVM OpenStack KubeVirt Amazon EC2 QEMU VMware VMW innotek GmbH VirtualBox Oracle Corporation Xen Bochs Parallels BHYVE Hyper-V Apple Virtualization Google Compute Engine /run/.containerenv /.dockerenv emerg alert crit warning notice HUP INT QUIT TRAP ABRT FPE USR1 SEGV USR2 STKFLT CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH PWR  /sys/firmware/dmi/entries/0-0/raw       Unable to read /sys/firmware/dmi/entries/0-0/raw, using the virtualization information found in DMI vendor table, ignoring: %m  Only read %zu bytes from /sys/firmware/dmi/entries/0-0/raw (expected 20). Using the virtualization information found in DMI vendor table.       DMI BIOS Extension table indicates virtualization.      DMI BIOS Extension table does not indicate virtualization.      Checking if %s exists failed, ignoring: %m      SAFE_ATO_MASK_FLAGS(base) <= 16 !q->items[j].idx || *(q->items[j].idx) == j     !q->items[k].idx || *(q->items[k].idx) == k     Failed to query RLIMIT_NOFILE: %m       Failed to lower RLIMIT_NOFILE's soft limit to %lu: %m   Failed to acquire process name of %i, ignoring: %m      %s failed with exit status %i.  %s failed due to unknown reason.        Successfully forked off '%s' as PID %i. Skipping PR_SET_MM, as we don't have privileges.        PR_SET_MM_ARG_START failed: %m  PR_SET_MM_ARG_START failed, attempting PR_SET_MM_ARG_END hack: %m       PR_SET_MM_ARG_END hack failed, proceeding without: %m   PR_SET_MM_ARG_START still failed, proceeding without: %m        PR_SET_MM_ARG_END failed, proceeding without: %m        Failed to rename process, ignoring: %m  Failed to set death signal: %m  Failed to reset signal handlers: %m     Failed to reset signal mask: %m Failed to restore signal mask: %m       Parent died early, raising SIGTERM.     Failed to close all file descriptors: %m        Failed to turn off O_CLOEXEC on file descriptors: %m    Failed to connect stdin/stdout to /dev/null: %m Failed to connect stdout to stderr: %m  Failed to lower RLIMIT_NOFILE's soft limit to 1K: %m    Failed to query /proc/self/fd/%d%s: %m  clock_gettime(map_clock_id(clock_id), &ts) == 0 /org/freedesktop/systemd1/unit/ @0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-_.\    /etc/systemd/dont-synthesize-nobody     Failed to parse $SYSTEMD_IN_INITRD, ignoring: %m        Failed to check if /etc/initrd-release exists, assuming it does not: %m Failed to check if /proc/vz exists, ignoring: %m        Failed to check if /proc/bc exists, ignoring: %m        Failed to read /proc/sys/kernel/osrelease, ignoring: %m Failed to read our own trace PID, ignoring: %m  Failed to parse our own tracer PID, ignoring: %m        Failed to read %s, ignoring: %m Failed to read /run/host/container-manager: %m  Failed to read /run/systemd/container: %m       Failed to read $container of PID 1, ignoring: %m        Failed to check whether /proc/self/ns/cgroup is available, assuming not: %m     /sys/fs/cgroup/systemd/release_agent    Failed to detect cgroup namespace: %m   Found container virtualization %s.      encoded_len > 0 && (size_t) encoded_len <= length       %s is empty, we're in an uninitialized user namespace   Mapping found in %s, we're in a user namespace  /sys/class/dmi/id/product_name  Virtualization %s found in DMI (%s)     No virtualization found in DMI vendor table.    Can't read /sys/class/dmi/id/product_name, assuming virtualized: %m     DMI product name has '.metal', assuming no virtualization       /proc/cpuinfo not found, assuming no UML virtualization.        UML virtualization found in /proc/cpuinfo       UML virtualization not found in /proc/cpuinfo.  Virtualization XEN not found, /proc/xen does not exist  Virtualization XEN found (/proc/xen exists)     /sys/hypervisor/properties/features     Virtualization XEN, found %s with value %08lx, XENFEAT_dom0 (indicating the 'hardware domain') is%s set.        Virtualization XEN, found %s, unhandled content '%s'    Virtualization XEN because /proc/xen/capabilities does not exist        Virtualization XEN DomU found (/proc/xen/capabilities)  Virtualization XEN Dom0 ignored (/proc/xen/capabilities)        Virtualization found, CPUID=%s  Unknown virtualization with CPUID=%s. Add to vm_table[]?        No virtualization found in CPUID        Virtualization %s found in /sys/hypervisor/type This platform does not support /proc/device-tree        This platform does not support /proc/sysinfo    /sys/class/dmi/id/board_vendor  /sys/class/dmi/id/product_version       %Gendswith                        /BD7q۵[V9Y?^[1$}Ut]rހܛtiGƝ̡$o,-tJܩ\ڈvRQ>m1'YGQcg))
'8!.m,M
8STs
e
jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄǌlPxqformat_proc_fd_path             getxattr_at_malloc      detect_vm_zvm           detect_vm_device_tree           detect_vm_hypervisor                            XenVMMXenVMM       KVMKVMKVM          Linux KVM Hv       TCGTCGTCGTCG       VMwareVMware       Microsoft Hv    	   bhyve bhyve        QNXQVMBSQG      
   ACRNACRNACRN       SRESRESRESRE       Apple VZ               detect_vm_cpuid detect_vm_xen_dom0      detect_vm_xen   detect_vm_uml           detect_vm_dmi_vendor    truncate_nl     detect_vm_dmi   detect_vm_dmi   detect_vm               userns_has_mapping              cg_ns_supported detect_container                detect_container_files          detect_vm_smbios        in_initrd               container_get_leader            utf8_encoded_valid_unichar      utf8_escape_invalid             utf8_encoded_to_unichar parse_uid               unit_dbus_path_from_name        _qsort_safe     uid_range_entry_intersect       uid_range_coalesce              uid_range_entry_compare mkostemp_safe   negative_errno          fdopen_unlocked now     get_ctty_devnr  sysctl_read     sysctl_write    sysctl_write    negative_errno          fsync_directory_of_file         fsync_directory_of_file strscpyl_full   strpcpyl_full   strpcpy_full    strnpcpy_full           strv_split_full strv_extend_strv        strv_find_case          free_and_strdup                 strextend_with_separator_internal       bsearch_safe    files_same      files_same              path_is_read_only_fs    is_symlink      getpeercred             ifname_valid_full       siphash24               siphash24_compress      siphash24_init  sipround                rlimit_nofile_safe      ALIGN_TO        update_argv     rename_process                                                                                                                                                                 negative_errno          fd_cloexec_many safe_fork_full  safe_fork_full  wait_for_terminate_and_check    wait_for_terminate_and_check    negative_errno  wait_for_terminate      cellescape              get_process_comm                get_process_state               proc_cmdline_key_startswith     cmdline_get_key proc_cmdline_key_streq          utf8_is_printable_newline                          _  )#  *#  .  .  .  .   /  /  /  /   0  >0  A0  0  0  0  1  -1  11  1  1  1  1  1  1  2   2  G2  P2  2   3  M   N      Ƥ  `  |                0  R  T  f  h  k    `             : @ H P Q   g         utf8_escape_non_printable_full  prioq_reshuffle find_item       remove_item     prioq_put swap  skip_slash_or_dot_backward      path_startswith_full            path_make_absolute_cwd          parse_loadavg_fixed_point       safe_atollu_full        safe_atoi       safe_atou_full  mangle_base     parse_size      parse_mode      parse_pid             $@      C..\x    uespemosmodnarodarenegylsetybdet/run/systemd/macg	jgrn<:ORQhك[systemd fallback random bytes v1/etc/os-release SYSTEMD_OS_RELEASE /usr/lib/os-release  in section [ Invalid section header '%s' Missing '=', ignoring line. X- libudev @/ DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR _-/. unix:path=%s/bus DBUS_SYSTEM_BUS_ADDRESS sr_iov_by_section section_line > 0 ../src/basic/hostname-util.c (none) SYSTEMD_DEFAULT_HOSTNAME localhost ../src/basic/percent-util.c (size_t) n <= m ../src/shared/devnode-acl.c Reading EFI variable %s. open("%s") failed: %m fstat("%s") failed: %m Reading from "%s" failed: %m n <= st.st_size - 4 Failed to fstat(%s): %m %s:%u: Line too long conf_file SYSTEMD_PIDFD !netlink_pid_changed(nl) !message->sealed nl->rbuffer Failed to attach event: %m RemoveMatch !bus->current_message !bus->current_slot b->inotify_fd >= 0 Got inotify event on bus %s. Method call timed out Ping GetMachineId m->path m->member Unknown object '%s'. Connection terminated                  Match Link SR-IOV   L\DD<            sd_bus_reply_method_returnv     get_child_nodes                 bus_message_new_synthetic_error bus_exit_now    bus_track_close bus_process_object              process_message dispatch_rqueue process_timeout process_running bus_socket_process_watch_bind   bus_socket_process_watch_bind   bus_process_internal            sd_bus_call_async               sd_bus_call_method_asyncv       unit_name_to_prefix     fd_nonblock     find_device             sd_device_monitor_filter_add_match_tag  setup_monitor           event_add_inotify_fd_internal   sd_netlink_get_events           message_get_serial              sd_netlink_message_rewind       netlink_rqueue_make_room        netlink_rqueue_partial_make_room                socket_read_message             socket_read_message             sd_netlink_message_is_error     sd_netlink_message_get_errno    sd_netlink_read netlink_seal_message            socket_write_message            message_get_serial              sd_netlink_send sd_netlink_call netlink_message_read_internal   sd_event_add_child              sd_event_source_ref             sd_event_source_set_floating    sd_event_source_set_userdata    sd_event_source_set_time_accuracy                            	               sd_event_source_get_time_clock  sd_event_source_get_enabled     event_reset_time                event_reset_time_relative       event_reset_time_relative       setup_monitor   device_add_propertyf            dropins_get_stats_by_path       cg_read_pid     next_assignment next_assignment parse_line      parse_line      config_parse    config_parse                    net_get_unique_predictable_data_from_name       get_glinksettings               efi_get_variable                efi_get_variable        devnode_acl             dir_is_empty_at                 parse_parts_value_with_hundredths_place                         parse_parts_value_with_tenths_place             parse_parts_value_whole         extract_many_words              get_default_hostname            gethostname_full                sr_iov_new_static               bus_set_address_system                          sd_bus_open_system_with_description             bus_set_address_user            bus_set_address_user                            sd_bus_open_user_with_description       passes_filter   device_append   device_append   device_verify           device_new_from_nulstr          device_new_from_nulstr          check_sender_uid                device_monitor_receive_device   device_monitor_receive_device   String is not UTF-8 clean, ignoring assignment: %s      Bad characters in section header '%s'   Unknown section '%s'. Ignoring. Assignment outside of section. Ignoring.        Missing key name before '=', ignoring line.     Unknown key '%s'%s%s%s, ignoring.       sd-device-monitor(%s): Failed to get the received message size: %m      sd-device-monitor(%s): Failed to receive message: %m    sd-device-monitor(%s): Received truncated message, ignoring message.    sd-device-monitor(%s): Invalid message length (%zi), ignoring message.  sd-device-monitor(%s): Unicast netlink message ignored. sd-device-monitor(%s): Multicast kernel netlink message from PID %u ignored.    sd-device-monitor(%s): No sender credentials received, ignoring message.        sd-device-monitor(%s): Failed to load UID ranges mapped to the current user namespace, ignoring: %m     sd-device-monitor(%s): Sender uid=%u, message ignored.  sd-device-monitor(%s): Received message without NUL, ignoring message.  sd-device-monitor(%s): Invalid message signature (%x != %x).    sd-device-monitor(%s): Invalid offset for properties (%u > %zi).        sd-device-monitor(%s): Invalid message header.  sd-device-monitor(%s): Invalid message length.  sd-device: Failed to parse nulstr       sd-device: Not a key-value pair: '%s'   sd-device: Failed to set devnum %s:%s: %m       sd-device: Device created from strv or nulstr lacks devpath, subsystem, action or seqnum.       sd-device-monitor(%s): Failed to create device from received message: %m        sd-device-monitor(%s): Failed to check received device passing filter: %m       sd-device-monitor(%s): Received device does not pass filter, ignoring.  sd-bus: $XDG_RUNTIME_DIR not set, cannot connect to user bus.   unix:path=/run/dbus/system_bus_socket   Invalid hostname in $SYSTEMD_DEFAULT_HOSTNAME, ignoring: %s     Failed to parse os-release, ignoring: %m        Invalid hostname in os-release, ignoring: %s    EFI variable %s is shorter than 4 bytes, refusing.      EFI variable %s is ridiculously large, refusing.        EFI variable %s is uncommitted  Read %zi bytes from EFI variable %s, expected %zu.      Failed to read value of EFI variable %s: %m     Detected slow EFI variable read access on %s: %s        Failed to open configuration file '%s': %m      %s:%u: Error while reading configuration file: %m       %s:%u: Continuation line too long       %s:%u: Failed to parse file: %m ../src/libsystemd/sd-event/event-util.c sd-event: Failed to get the current time: %m    sd-event: Failed to query whether event source "%s" is enabled or not: %m       sd-event: Failed to get clock id of event source "%s": %m       sd-event: Current clock id %i of event source "%s" is different from specified one %i.  sd-event: Failed to set time for event source "%s": %m  sd-event: Failed to set accuracy for event source "%s": %m      sd-event: Failed to enable event source "%s": %m        sd-event: Failed to create timer event "%s": %m sd-event: Failed to set priority for event source "%s": %m      sd-event: Failed to set description for event source "%s": %m   ../src/libsystemd/sd-netlink/netlink-internal.h sd-netlink: ignored message with unknown type: %i       sd-netlink: message is shorter than expected, dropping  sd-netlink: discarding %zu bytes of incoming message    sd-netlink: exhausted the read queue size (%d)  sd-netlink: exhausted the partial read queue size (%d)  Failed to create netlink socket: %m     Failed to apply subsystem filter '%s%s%s': %m   Failed to apply tag filter '%s': %m     !m->sealed || (!!callback == !(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED))       org.freedesktop.DBus.Error.NoReply      prioq_pop(bus->reply_callbacks_prioq) == c      Reply message contained file descriptor Message contains file descriptors, which I cannot accept. Sorry.        Unknown method '%s' on interface '%s'.  org.freedesktop.DBus.Error.UnknownMethod        Unknown interface %s or property %s.    org.freedesktop.DBus.Error.UnknownProperty      Unknown method %s or interface %s.      Unprocessed message call sender=%s object=%s interface=%s member=%s     org.freedesktop.DBus.Error.UnknownObject        Bus connection disconnected, exiting.           /sys/firmware/efare/efi/efivars/exe subvolume ../src/basic/namespace-util.c ns/mnt ns/pid !BUS_MESSAGE_NEED_BSWAP(m) m->rindex >= c->before service_name_is_valid(sender) source->sealed user- ../src/shared/smack-util.c security.SMACK64 dfd >= 0 || dfd == AT_FDCWD inotify_data path_fd >= 0 ../src/basic/conf-files.c *username atfd >= 0 || path .# ../src/basic/mkdir.c _mkdirat != mkdirat e > p *e == '/' s >= path IN_SET(s[n], '/', '\0') SYSTEMD_EFI_OPTIONS c->allocated PPid: Uid: %lu %lu %lu %lu Gid: Groups: %lu%n CapEff: CapPrm: CapInh: attr/current /proc/%i/task/%i/comm /dev/pts/%u environ /sys/fs/cgroup/unified/ /sys/fs/cgroup/systemd/ %s%lu.%0*lu%s %s%lu%s man: ../src/shared/pretty-print.c ) man page SYSTEMD_URLIFY ]8;; ]8;; month No change in value '%s', suppressing write      Unable to fix SMACK label of %s: %m     Attempted to remove disk file system under "%s", and we can't allow that.       Weird, the watch descriptor we already knew for this inode changed?     Failed to open directory '%s/%s': %m    Skipping overridden file '%s/%s'.       Failed to add item to hashmap: %m       Failed to search for files in %s, ignoring: %m  _mkdirat && _mkdirat != mkdirat /run/systemd/efivars/SystemdOptions-8cf2644b-4b0b-428f-9387-6d876050dc67        statfs("/sys/fs/cgroup/") failed: %m    Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy        Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller       Unsupported cgroupsv1 setup detected: name=systemd hierarchy not found. statfs("/sys/fs/cgroup/systemd" failed: %m      Found cgroup2 on /sys/fs/cgroup/systemd, unified hierarchy for systemd controller (v232 variant)        Found cgroup on /sys/fs/cgroup/systemd, legacy hierarchy        Unexpected filesystem type %llx mounted on /sys/fs/cgroup/systemd, assuming legacy hierarchy    No filesystem is currently mounted on /sys/fs/cgroup.   Unknown filesystem type %llx mounted on /sys/fs/cgroup. Failed to get SystemdOptions EFI variable, ignoring: %m         read_full_file_full             terminal_urlify_man             cg_unified_cached               proc_cmdline_parse              sockaddr_un_set_path            log_object_internalv            mac_smack_apply_fd              path_simplify_full      negative_errno          mkdir_safe_internal     is_dir_full             mkdir_parents_internal  get_user_creds  set_consume             _set_put_strndup_full           chase_symlinks_and_opendir      files_add       files_add       conf_files_list_strv_internal   format_proc_fd_path             inode_data_realize_watch        inode_data_realize_watch        event_make_inode_data           event_make_inotify_data         sd_event_add_signal     openat_harder   negative_errno          subvol_remove_children          rm_rf_inner_child               rm_rf_children_impl             rm_rf_children_impl             write_string_stream_ts          write_string_stream_ts  tempfn_build            write_string_file_ts    smack_fix_fd    smack_fix_fd            mac_smack_fix_full      loop_write              cg_path_decode_unit     cg_shift_path           cg_path_get_owner_uid           strv_fnmatch_full               message_extend_fields           utf8_is_valid_n avre            sd_bus_message_copy             sd_bus_message_set_sender       bus_seal_message                sd_bus_message_rewind           sd_bus_error_setf               get_process_exe bus_creds_add_more              message_quit_container          sd_bus_message_read_array       message_peek_field_signature    message_peek_field_uint32       message_peek_field_string       namespace_open                            y <%i> %h %e %T  [%i]:  ../src/basic/io-util.h k == 0 [0;1;31m [0;1;38;5;185m [0;90m [0;38;5;245m  %Y-%m-%d %H:%M:%S (%i)  %s%s:%i%s:  ../src/basic/sort-util.c k <= n - l infinity ERRNO= CODE_FUNC= CODE_LINE= CODE_FILE= (size_t) r < size
 org.freedesktop.systemd1.Unit *slash == '/' lun-%lu lun-0x%04lx%04lx00000000 Failed to open "%s": %m Short read from "%s" (size_t) size <= sizeof buf Corrupt data read from "%s" :%02x%02x%02x \x%02x Loading module: %s ../src/shared/module-util.c Failed to find module '%s' Module '%s' is built in Module '%s' is already loaded Inserted module '%s' Module '%s' is deny-listed ../src/fundamental/sha256.c resbuf old_char != new_char idx < q->n_items /dev/log    <arg type="%.*s"  name="%s"  direction="%s"/>
 m->n_queued > 0 eavesdrop='true' udev_log /etc/udev/udev.conf resolve_names line[0] == ' ' other->type == h->type c->type >= 0 c->type < _CONDITION_TYPE_MAX config->filename .wol.password %x:%x:%x.%u ari_enabled dev_port dev_port=%s dev_id dev_id=%s P%u p%us%u f%u d%lu slots slots_dirfd >= 0 function_id %08lx pci: Device is a PCI bridge. acpi_index acpi_index=%s dev_port=%lu o%lu size > 0 %i character(s) replaced size >= 1 org.freedesktop.home1.BadPin Sun Mon Tue Wed Thu Fri Sat seconds second minutes minute months msec hours hour days day weeks week years year usec μs µs      (size_t) tm.tm_wday < ELEMENTSOF(weekdays)      !size_multiply_overflow(nmemb, size)    PRIORITY=%i
SYSLOG_FACILITY=%i
TID=%i
%s%.256s%s%s%.*i%s%s%.256s%s%s%.*i%s%s%.256s%s%s%.256s%sSYSLOG_IDENTIFIER=%.256s
 Attempted to remove entire root file system ("%s"), and we can't allow that.    Attempted to remove files from a disk file system under "%s", refusing. Failed to look up module alias '%s': %m Failed to insert module '%s': %m        Configuration file %s is marked executable. Please remove executable permission bits. Proceeding anyway.        Configuration file %s is marked world-writable. Please remove world writability permission bits. Proceeding anyway.     Configuration file %s is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.    failed to set udev log level '%s', ignoring: %m failed to parse children_max=%s, ignoring: %m   failed to parse exec_delay=%s, ignoring: %m     failed to parse event_timeout=%s, ignoring: %m  failed to parse resolve_names=%s, ignoring.     failed to parse timeout_signal=%s, ignoring: %m Key-value pair expected but got "%s", ignoring. Empty key in "%s=%s", ignoring. Failed to check if "%s" is empty: %m    hashmap_put_boldly(h, h_hash, &swap, false) == 1        Failed to save stats of '%s' and its drop-in configs, ignoring: %m      %s: No valid settings found in the [Match] section, ignoring file. To match all interfaces, add OriginalName=* in the [Match] section.  %s: Conditions do not match the system environment, skipping.   %s: MACAddress= in [Link] section will be ignored when MACAddressPolicy= is set to "persistent" or "random".    Failed to read WakeOnLan password from %s, ignoring: %m Failed to read WakeOnLan password from credential, ignoring: %m %s: [SR-IOV] section without VirtualFunction= field configured. Ignoring [SR-IOV] section from line %u. %s: VirtualFunction= must be smaller than the value specified in SR-IOVVirtualFunctions=. Ignoring [SR-IOV] section from line %u.       %s: Conflicting [SR-IOV] section is specified at line %u and %u, dropping the [SR-IOV] section specified at line %u.    Parsed configuration file "%s"  Parsing slot information from PCI device sysname "%s": %s       Failed to parse attribute dev_port, ignoring: %m        Failed to parse attribute dev_id, ignoring: %m  PCI path identifier: domain=%u bus=%u slot=%u func=%u phys_port=%s dev_port=%lu %s %s   sd_device_new_from_subsystem_sysname() failed: %m       Cannot access 'slots' subdirectory: %m  Failed to parse function_id, ignoring: %s       Invalid function id (0x%lx), ignoring.  Cannot access %s under pci slots, ignoring: %m  Not using slot information because the PCI device associated with the hotplug slot is a bridge and the PCI device has a single function.        Not using slot information because the PCI device is a bridge.  Slot identifier: domain=%u slot=%u func=%u phys_port=%s dev_port=%lu %s %s      Failed to parse onboard index "%s": %m  Naming scheme does not allow onboard index==0.  Not a valid onboard index: %lu  Failed to parse dev_port, ignoring: %m  Onboard index identifier: index=%lu phys_port=%s dev_port=%lu %s %s     Onboard label from PCI device: %s       Invalid format string, ignoring: %s     requested part of result string not found       Failed to substitute variable '$%s' or apply format '%%%c', ignoring: %m        org.freedesktop.systemd1.NoSuchUnit     org.freedesktop.systemd1.NoUnitForPID   org.freedesktop.systemd1.NoUnitForInvocationID  org.freedesktop.systemd1.UnitExists     org.freedesktop.systemd1.LoadFailed     org.freedesktop.systemd1.BadUnitSetting org.freedesktop.systemd1.JobFailed      org.freedesktop.systemd1.NoSuchJob      org.freedesktop.systemd1.NotSubscribed  org.freedesktop.systemd1.AlreadySubscribed      org.freedesktop.systemd1.OnlyByDependency       org.freedesktop.systemd1.TransactionJobsConflicting     org.freedesktop.systemd1.TransactionOrderIsCyclic       org.freedesktop.systemd1.TransactionIsDestructive       org.freedesktop.systemd1.UnitMasked     org.freedesktop.systemd1.UnitGenerated  org.freedesktop.systemd1.UnitLinked     org.freedesktop.systemd1.JobTypeNotApplicable   org.freedesktop.systemd1.NoIsolation    org.freedesktop.systemd1.ShuttingDown   org.freedesktop.systemd1.ScopeNotRunning        org.freedesktop.systemd1.NoSuchDynamicUser      org.freedesktop.systemd1.NotReferenced  org.freedesktop.systemd1.DiskFull       org.freedesktop.machine1.NoSuchMachine  org.freedesktop.machine1.NoSuchImage    org.freedesktop.machine1.NoMachineForPID        org.freedesktop.machine1.MachineExists  org.freedesktop.machine1.NoPrivateNetworking    org.freedesktop.machine1.NoSuchUserMapping      org.freedesktop.machine1.NoSuchGroupMapping     org.freedesktop.portable1.NoSuchImage   org.freedesktop.portable1.BadImageType  org.freedesktop.login1.NoSuchSession    org.freedesktop.login1.NoSessionForPID  org.freedesktop.login1.NoSuchUser       org.freedesktop.login1.NoUserForPID     org.freedesktop.login1.NoSuchSeat       org.freedesktop.login1.SessionNotOnSeat org.freedesktop.login1.NotInControl     org.freedesktop.login1.DeviceIsTaken    org.freedesktop.login1.DeviceNotTaken   org.freedesktop.login1.OperationInProgress      org.freedesktop.login1.SleepVerbNotSupported    org.freedesktop.login1.SessionBusy      org.freedesktop.login1.NotYourDevice    org.freedesktop.timedate1.AutomaticTimeSyncEnabled      org.freedesktop.timedate1.NoNTPSupport  org.freedesktop.systemd1.NoSuchProcess  org.freedesktop.resolve1.NoNameServers  org.freedesktop.resolve1.InvalidReply   org.freedesktop.resolve1.NoSuchRR       org.freedesktop.resolve1.CNameLoop      org.freedesktop.resolve1.Aborted        org.freedesktop.resolve1.NoSuchService  org.freedesktop.resolve1.DnssecFailed   org.freedesktop.resolve1.NoTrustAnchor  org.freedesktop.resolve1.ResourceRecordTypeUnsupported  org.freedesktop.resolve1.NoSuchLink     org.freedesktop.resolve1.LinkBusy       org.freedesktop.resolve1.NetworkDown    org.freedesktop.resolve1.NoSource       org.freedesktop.resolve1.StubLoop       org.freedesktop.resolve1.NoSuchDnssdService     org.freedesktop.resolve1.DnssdServiceExists     org.freedesktop.resolve1.DnsError.FORMERR       org.freedesktop.resolve1.DnsError.SERVFAIL      org.freedesktop.resolve1.DnsError.NXDOMAIN      org.freedesktop.resolve1.DnsError.NOTIMP        org.freedesktop.resolve1.DnsError.REFUSED       org.freedesktop.resolve1.DnsError.YXDOMAIN      org.freedesktop.resolve1.DnsError.YRRSET        org.freedesktop.resolve1.DnsError.NXRRSET       org.freedesktop.resolve1.DnsError.NOTAUTH       org.freedesktop.resolve1.DnsError.NOTZONE       org.freedesktop.resolve1.DnsError.BADVERS       org.freedesktop.resolve1.DnsError.BADKEY        org.freedesktop.resolve1.DnsError.BADTIME       org.freedesktop.resolve1.DnsError.BADMODE       org.freedesktop.resolve1.DnsError.BADNAME       org.freedesktop.resolve1.DnsError.BADALG        org.freedesktop.resolve1.DnsError.BADTRUNC      org.freedesktop.resolve1.DnsError.BADCOOKIE     org.freedesktop.import1.NoSuchTransfer  org.freedesktop.import1.TransferInProgress      org.freedesktop.hostname1.NoProductUUID org.freedesktop.hostname1.FileIsProtected       org.freedesktop.hostname1.ReadOnlyFilesystem    org.freedesktop.network1.SpeedMeterInactive     org.freedesktop.network1.UnmanagedInterface     org.freedesktop.home1.NoSuchHome        org.freedesktop.home1.UIDInUse  org.freedesktop.home1.UserNameExists    org.freedesktop.home1.HomeExists        org.freedesktop.home1.HomeAlreadyActive org.freedesktop.home1.HomeAlreadyFixated        org.freedesktop.home1.HomeUnfixated     org.freedesktop.home1.HomeNotActive     org.freedesktop.home1.HomeAbsent        org.freedesktop.home1.HomeBusy  org.freedesktop.home1.BadPassword       org.freedesktop.home1.LowPasswordQuality        org.freedesktop.home1.BadPasswordAndNoToken     org.freedesktop.home1.TokenPinNeeded    org.freedesktop.home1.TokenProtectedAuthenticationPathNeeded    org.freedesktop.home1.TokenUserPresenceNeeded   org.freedesktop.home1.TokenUserVerificationNeeded       org.freedesktop.home1.TokenActionTimeout        org.freedesktop.home1.TokenPinLocked    org.freedesktop.home1.BadPinFewTriesLeft        org.freedesktop.home1.BadPinOneTryLeft  org.freedesktop.home1.BadSignature      org.freedesktop.home1.RecordMismatch    org.freedesktop.home1.RecordDowngrade   org.freedesktop.home1.RecordSigned      org.freedesktop.home1.BadHomeSize       org.freedesktop.home1.NoPrivateKey      org.freedesktop.home1.HomeLocked        org.freedesktop.home1.HomeNotLocked     org.freedesktop.home1.TooManyOperations org.freedesktop.home1.AuthenticationLimitHit    org.freedesktop.home1.HomeCantAuthenticate      org.freedesktop.home1.HomeInUse org.freedesktop.home1.RebalanceNotNeeded        org.freedesktop.DBus.Error.ServiceUnknown       org.freedesktop.DBus.Error.NameHasNoOwner       org.freedesktop.DBus.Error.AuthFailed   org.freedesktop.DBus.Error.InteractiveAuthorizationRequired     org.freedesktop.DBus.Error.NoServer     org.freedesktop.DBus.Error.NoNetwork    org.freedesktop.DBus.Error.TimedOut     org.freedesktop.DBus.Error.MatchRuleInvalid     org.freedesktop.DBus.Error.InvalidFileContent   org.freedesktop.DBus.Error.MatchRuleNotFound    org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown        org.freedesktop.DBus.Error.ObjectPathInUse              644446444444444444444444444444444444444444444444444>544444454444H7>74445444444454445554545T4d$̮dT4    event_free      udev_event_subst_format         udev_event_subst_format         udev_event_apply_format         udev_event_apply_format         dev_pci_onboard dev_pci_onboard is_pci_bridge   parse_hotplug_slot_from_function_id                             parse_hotplug_slot_from_function_id     dev_pci_slot    dev_pci_slot            sr_iov_section_verify           sr_iov_section_verify           sr_iov_drop_invalid_sections    sr_iov_drop_invalid_sections                    link_read_wol_password_from_cred                link_adjust_wol_options condition_test  _hashmap_move   link_load_one   link_load_one           btrfs_quota_scan_start          btrfs_quota_scan_wait   qsort_r_safe    xbsearch_r      bsearch_safe    insert_data     insert_data             udev_parse_config_full          bus_remove_match_internal       sd_bus_creds_unref              bus_message_unref_queued        sd_bus_detach_event     sd_bus_flush            sd_device_enumerator_unref      device_free     netlink_free    stat_warn_permissions           stat_warn_permissions   shuffle_up              string_replace_char     strv_remove     strnscpy_full   strscpy_full                                                                                           sha256_finish_ctx               module_load_and_warn            module_load_and_warn            dev_if_packed_info              dev_if_packed_info      rmdir_parents           sd_bus_get_property_strv        bus_message_get_arg rm_rf       format_timestamp_style  cunescape_one   negative_errno          connect_unix_path               IOVEC_INCREMENT 
               log_format_iovec        parse_time      memcpy_safe             read_full_stream_full           --- XXXX-XX-XX X,eavesdrop='true:       ;"  @   "X"  5"  58n  5\  5t  5 5   6+  `[("  P\"  \"  \"  @]#  ]H#  ]t#  ^#   _#   _#  _#   h|$  zP&   &   '  @`'  0'   (  T(  (  ,)  t*  *  p<,  Pl,  ,  ,   ,    -  -   .   X.  P.  .  X/  P/  /  40   h0   1  41  H1  1  1  P2  \2  2  `,3  3  h4    5  5   6  #L6  ,6  ,6  `0H7  0d7  @47  0G\:  pGp:  H:  I:  J ;   L,;  LP;  _p<  `<  g@=  g\=  k=  0l=  m>  o`>   {?   A  `A  `A  A  pB  C  lC  ЪD  8D  (E  F  0H  0J   N  N  O  PO  O  O  `P  TP  PP  DQ   %Q  & R  (4R  @,R  `- S  .PS  a   Xn  n  po   p  p   p  @p  @p   r  @r  <u  
Dv  
\v   v  v  v   w  x  Px  x  x  (y  ply  @!y  P$dz  %z  p),{  `.{  @>|  oh   q  @r  t  u  0w@   x  z  |<    P|  p,  \  `       PL                P0  0  "H  0"\  $  0%ܑ  %   &  '4  @8  @H  I8  K  O  S<  PW   Yܖ  Z  p]H  _|   a  d  0e0  @l  n           ,  pP     PȞ    ТL   `    Щ  @4    ЯР       @   T        (  `D  d      p  (  pD   p     أ       D  `t     @Ĥ     @    @  H      t    p<       |  ܩ  T  ̪  0      t     ̬  D    H     $  	    
l  ԰  8  0  %  '  (8  p*h  @,  ,  P-    .<  0d  1  1̳  2  4X  5  7  08,  J\   Kx  0Lĵ  `M  M  N4  PUd  V  Wȶ  ]H  `  `ȷ  a  `b$  0c8  cL  0dh  d  e   f  g  g   iX  @m  m  o  Pr|  sȺ  t  @x  x   z   z`  0{  0|Լ  8  Pp     Ľ  `  H     Pܾ   X  |     ؿ  `$  L  p       0   d  p       @    p  `D    P  P  8  h       4  0h    4      4  P      `  ph        pX        0,  @@  PT  t    p    t       0   @	L  	h  0   
  
  0     `      p<   h          @0    |     `"  `#  0$<  $P   %p  %  &  @'  (   *H  +  ,  ,  .,  P/X  @1  2  @5$  5@   7l  :  0?  Z  ^  ``T  `t  pa  b  b  0c  c0  dT  e   j  j  j  `k,  lx   n  q  @r@  wp   y   z  |  @~T      0,  L  Pl    `  І  \    0           0    P      Цd  P       @4   d        @,    L  x         P        @   `  p        ,  Pd     P    \  0       P  0l        4  d      `      (  PL  0
|  p   
  
  `p      p  0,  @    P  $  @"t  P#  &  )d   +  +  1   2  2  3  04@  `6  8  9  :8  ;p  0<  P>  0?  p@(  @AD   B`  B  C  0D  D  0E  E0   FD  `FX   G  PH  pI  J0  `L  pM  M  N(   Pd  `Q  Q  S  U0  @V`  0W   Y   Y  Z<  Z\  [  P]  ]  cT  Pg  i  Pj  j<  l`  0m   p  r   tL  ul  u   w  @z  {T  }    0   L    0       (  Њ|    ,   x       ЛP  `  P    @  d      0  p     0 Ь  H    pX p  @  < t p  4 `   `    p H @h  P   `  H	 	 
	 P
@
 P
 
 P <  p" #P `$ 0. 2H
 2\
  3
  ;
 @P PA `B @G `H pI@ Kl Q u w `y y y  z, z@ zT zh z| z z 0{ @{ P{ `{ 0|T `|| | | | | | `}L ~ `  ( \ @   @ $ PP P   P( T l @   0X `     `  @   D d    , @\  p   @L  x Ъ   P x    4       h    ( T      @$  @  l      0! |! ! ! <"  " " p #  D# # # #  $$ Ph$ p$ @$ ,% d% % p% 0& h& & & @H' p\' 4( ( `( p( 0) L) ) 	* 4* l* * * ph+ p+ @, |, @, $, $, $- $- %4-  &P-  'h- '|- P'- (- ). )4. +p. ,. `-. 1/ p2T/ @4/ 4/ 5/ 7$0  8H0 9t0 :0 @<1 >`1 >|1 0?1 ?1  @2 @82 0Bl2 B2 D2 D 3 E<3 `F`3 Ft3  G3 G3 @H3 @I4 I<4 IX4 PJ4 K4 N4 @P 5 PD5  T5 Pc`6 e6 Pf6 f7 hX7 `i7 0j7 k 8 l$8 `mH8 m\8 nx8 `o8  q8 q9 t\9 w9 y9 z,: ||: p}:  ;  <; h; `; P; ;  4< < <  =  @= = p=  > `T>  > > P>  > ? p8? t? @? ? 0@  `@ @ @ pA 4A `pA A `A A TB B B  C D XD D @D  ,E lE E E E  $F pF F `F <G LH H `H @I p@I P
I I P$J TJ xJ J J P K LK 0 |K  #K 0$K 0+L +M `.TM P3M 4M 5N <N =O ATO BO DO E P @RP SP V Q ZQ [Q \Q p](R `alR PcR @{XS `|S ~S  T p0T T `T T  U DU U @U 0U U V  HV V  V 4W НxW 0W X  PX 0xX X X  $Y  tY  Y Y  @Z xZ `Z Z 08[ лp[ [ \  H\  \ p\ \ @] t] ] @] ^ p8^ ^ ^ _ X_ `_  _ ` \` P`  `  ` `a `a a a a  (b pb Pb c Dc xc  c 
d @,d xd d d de e  e @#\f `&f (f +8g  0Tg 2h 04Ph 5h 07h  8$i  :i ;i <i =0j  C`j Dj G@k H|k 0Ik Ik PJl JDl pKhl Kl Ll Nm Rhm Sm @Un U0n W\n @X|n Yn  Zn [n P]8o ^o P_o `o  bp pfp  kq nr 0r t v v Pw 0w            zR x      09"                  zR x  $      p   FJw ?;*3$"       D   8           (   \   9G    BAA AB   (      9G    BAA AB   (      9G    BAA AB   (      :G    BAA AB   (     @:G    BAA AB   0   8  d:   BHA D0
 CABE    l  @;            <;    DR      D;_    DT
H       ;   BBB B(A0D8FpI
8C0A(B BBBH xYVxApbxKgxAp`
xNV\
xREBxT\xBp  @  Cu   BBI I(H0C8J
8A0A(B BBBADFONNIHZBOMONNM^B{KUA]FONNVMONNIOAhEPBhEPBN`OBjCOAjCHA}M_AN`B`NaAeMbBGMbBiEOAiEOAiEPBHiPBGS^B L     HTx   BIN N(F0A8Ge
8C0A(B BBBJ   \   d  xYd   BBB B(A0A8DJiAM
8C0A(B BBBG \     `   BBB B(A0A8G
8A0A(B BBBDMrA   \   $  b   BBE B(D0A8J
8A0A(B BBBDNrA   \     hd   BBB B(A0A8Ds
8A0A(B BBBE{M]C   0     i   BAD D@
 CABG     Dm   BBI I(H0C8J}
8C0A(B BBBDx
S]AFR[ANBAK1MSBPZB,        AC
DGDY
D D    |   BBB B(A0A8G
8D0A(B BBBAEVBCFA`Q`A]UWAI
UIIu[DIY[DIVHhBLHgAn
PS{
NLvUADI
NQKGAUUBQN D   8  M   BFA A(DpxP~xApZ
(C ABBBH        BBI I(H0C8GpD
8D0A(B BBBG0    
R%   BBB B(A0A8DG
8A0A(B BBBAV
RE
RB{YVA<O[AZ
PEpR\B^P_BP\APUBTQCNPUB1O[BO\B_P_B  ,    
  ,    AM
Bd
DDM [A     0
  ܥO    AT
KG
I  (   T
  G    BAA AB      
  ,       L   
  (   BBA A(D@HMPX@vHMPXHA@X
(A ABBH   
  k   BBB A(A0D`hNp]hA`n
0C(A BBBAt
0F(A BBBO
hNpQQhNp]hA`^hEpExEEEEEEEEEK`0     J   AD u(O0T8D@BHAPIFE T     ث7   BAA G@\
 AABEhHPPBXA`I@uHNPTXG`BhApK@(     $   AAD@
AAH `   H  Į,   BBB A(A0Z
(D BBBDG
(A EBBG_
(D BBBG  l        BIH C(GP
(C ABBF-XH`gXAPOXL`^XBPYXF`iXAPDXH`hXBP  @   
  :   BAA D@
 AABEHMPOXM`I@     `
  ~    A\
CP
P  p   
     BBB A(A0D`hLp^hA`
0C(A BBBDf
hGpBxAHhGpBxAW`   0   
  /   AD F
ADS(O0M8G@I      ,  	   BBI H(C0G
0C(A BBBFP\B,
RYHSBbHBI
OXP]A           FPJH        T       @     Pl   BBB A(A0DP
0A(A BBBI    P  |w    Aa
Fp   l     BBA A(D@
(A ABBCfHNPBXA`K@D
(A ABBDHOPOXG`BhApK@  <     ,f   AAD0Y8O@THDPBXA`IFAG0   H      \    BBB B(A0A8D@
8D0A(B BBBE    l     BNI B(A0C8J
8C0A(B BBBBLO[AHlA,HgB   T     ,   BBB A(A0DpxNBAKpX
0F(A BBBK      H  d   BBB B(A0A8GN]Aq
8A0A(B BBBI[OA]HBIKNAHDBBUHFBBAWw
HABBAJ     ,  z   BBB B(A0A8GMOKBBN,
8A0A(B BBBKNBAKNBAK           BBB B(A0A8D@}HMPPXA`HhDpBxBL@}
8F0A(B BBBGcHOPTXD`BhBpI@pHMPOXK`BhBpI@   p   X  ,   AAD A
CAES
CAII(O0[(A F
AADQ(T0V(A 
(M0LO(O0Z(B  @        BAA D@
 CABIHMP]HA@       |   BFJ B(A0D8G	4	D	N	[	K	`
8C0A(B BBBAj	M	]	A	s	O	[	A	      ]    D^
Fp   P     o   BAA Dx
 AABD
 DABMj
 AABJ     ?    D[
A     (  4   BBB B(A0A8Dg
8A0A(B BBBA2GBAWKBAIO
GBAE h    H   BBB B(A0A8GPHNBARwUHGBAKZHABBBp`MBAK\
8F0A(B BBBDeIBAKnPODBAQcPOGBAKHGQAoKMGBAKoUHGBAKIBAKHABBBfxGBAWe
HABBAE`
HABBAH]NBAKMOGBAWPPIBAKr
GBAErQPIBAKNIIBAO        7       8   4  `   BEA C(D0
(C ABBA (   p     AAD [
AAA  $          Jk
K`H  (     O   AAD 
AAK           FqIH       X   BBB B(A0A8DH
8F0A(B BBBKDQSFIITDBBMPN[AO
MS
8C0A(B BBBHTMDBBLKODBAUQOGBAP5M]B(   4  #    AAD 
IAH    `  #   BBB B(A0A8D`
8A0A(B BBBI5hMp]hA`LhMp]hD`hMp]hC`ShMpfhA`|hLp_hB`ahLp_hB`FhOp\hB`      8*?    DV
F  P      \*   BEA O
 DABK{M]A{
MR  (   t  -    Ai
FO
Ie
Ce 0     L.   BFM J
 AABEL     /   BBB A(A0DPXJ`SXAPv
0C(A BBBD   $  h1+   BBB I(H0C8Gp
8C0A(B BBBDixR[xBpxNNxApxPTOACIp@xSZxBpJxHhxAp      ;   BBB B(A0C8J
8D0A(B BBBFW\AU]Bi
NY
UMFiAVWBMHKAGBAKoMPRABBBK^RAtIIIIIIIIIII]
OEv
MS
PORAGBAEW
NST[AP
NSU
MQw
ROH
MSBT\BI
UJH
MPaKOKAGBAK   H     V   BBB B(A0A8DP
8A0A(B BBBC (   $  X    AC
BM
F   H   P  Xr   BGB E(A0A8G
8A0A(B BBBH      Z   BBB B(A0A8G!
8C0A(B BBBDo!M!H!B!B!B!W!s!O!Q!D!B!B!W!!M!G!F!D!B!B!A!O!Y
!M!H!B!B!B!JY!O!T!G!B!B!I! T      `   BAA DpjxOHFHDBBIpX
 FABG   T      a   BAA DpuxOHFHDBBIpX
 FABD      0!  Lc   BBB A(A0D@THTPAXB`BhBp^@[
0F(A BBBG`
HMPHXB`BhBpMwHOPRXD`BhBpI@oHMPOXK`BhBpI@ 0   !  f   BAA D@
 AABD    !  g	   BGB B(A0D8GWHKBBI^
8A0A(B BBBBdOAGBAWdPTDBBIINBAKi
OAGBAJ9OTDBBI  "  Pp   BBB B(A0A8GVMOBAKD
8C0A(B BBBCKAGBAYPOGBAKTMIBAKtWHGBAK
RAGBAExQTBBAO
NOGBAEX
NHGBAEQOBBAS
SOBBAEehAGBAKPLBBAKEP[A  $     BEE N(A0D8GeACKAGBAZIMBBAPU
8A0A(B BBBEbUOBBAKeUOBBAKPHGBAP|PHGBAP_QHBBAPfMDABBAPaTFABBAZRTA~SAGBAP     T&     BBB B(A0A8JpPOGBAK
PKIBAKjUHGBAPhUHGBAKy
8D0A(B BBBKlPBAPPBAKf
NHIBAELBAKHPBAX
QHIBAEJdNAyBBAZBBAbx
BBABqPBAXu
LBAEQBAKDKBw
BBAE(  P(  $   BBB B(A0A8GNBAKONEHBBAONOKBBIvPBASIBAP^
8D0A(B BBBClNBAKwNBAK	NIBBAKNBAK@
IBANNBAKtNBAKtNBAKtNBAKIBAKpRODBAIOIBAP
IBAEcNOKBBIPOGBAKjQHNBAK
IBAEGBANTBAKs
PBAEj
GBAEGGUAv
PBAE^OIBBAKPBAPv
PBAEn
PBAEMOBBAOtKRBBAK9
PBAEPIBAK_PBAKdIBPTDBBINPEHBBAKpITBBAO
DFADFA      |,  @    A
O   ,   ,     AC
DL+
A  x   ,     BJA D@HMPNXA`AhDpBxBI@D
 ABBFRHOPMXH`AhDpBxBI@D
 ABBG <   H-      KEA A(D0(C ABBA   $   -  D    Ae
JN
RF
J   -      D@
D H   -  P^   BBB B(A0A8D
8A0A(B BBBDx   .  d   BDD G@{HIPBXA`AhApHxBBB\@X
 AABHP
HKPIXA`AhFpAxBBBEp   .  x   BDD D@hH\PFXH`HhDpBxBI@X
 AABKjHPPNXA`AhFpHxDBBI@L   /     BBB B(A0A8D
8A0A(B BBBD   h   X/  d   BBB B(A0A8D@|
8A0A(B BBBDHDP_XM`M@dHMPJHA@      0   /  )   BAA DP
 AABAx   /  `   BJB E(A0A8GF
8A0A(B BBBDAIB	A	G	A	D	B	A	P L   t0     BBB A(A0
(A BBBCS
(A BBBF L   0  Xr   BNB B(D0D8G
8D0A(B BBBJ     1  i   BBB B(A0A8G
8D0A(B BBBEȂMЂH؂BBAZȂPЂA؂AAGBA]ȂPЂH؂IAGBAKȂAЂH؂BAFABBAYȂMЂI؂AABBAY
ȂMЂI؂AABBAE
ȂNЂA؂AHBBAI
ȂPЂA؂AAGBAL
ȂMЂI؂AABBAM
ȂNЂA؂AHBBALx
ȂPЂA؂AAGBAKȂJЂU؂AHBBAK
ȂRЂA؂AAGBAK
ȂNЂA؂AHBBAK
ȂIЂA؂AFAHBBAIȂIЂH؂AHGBAZHȂMЂRȂAȂIЂH؂AAGBAPȂPЂF؂HHBBAKȂNЂA؂AHBBAYȂKЂF؂HAGBA^ȂUЂA؂AHGBAZJȂMЂRȂA3ȂKЂN؂BAGBAZȂSЂH؂BADBBN3ȂKЂM؂BAGBAPȂNЂD؂HABBA\ȂIЂS؂AAGBAKȂIЂI؂AAGBAYEȂQЂI؂HAGBAKy
ȂRЂH؂BBALa
ȂFЂH؂BBAE\
ȂMЂH؂BBAEFȂXЂFȂAk
ȂPЂA؂HABBAE
ȂIЂA؂KAAAGBAEȂIЂB؂AAGBAWcȂPЂH؂HAGBAK
ȂPЂA؂AAGBAE`
ȂPЂA؂AHBBAE^
ȂNЂA؂AHBBAE
ȂIЂA؂IAAHBBAE
ȂHЂF؂AHBBAEfȂNЂJ؂AHBBAPȂKЂK؂HHBBAS
ȂQЂA؂HABBAL
ȂKЂH؂HAGBAEc
ȂNЂA؂AHBBAE^
ȂNЂA؂AHBBAE
ȂLЂP؂AHBBAE]ȂBЂA؂BAGBAZvȂNЂA؂HABBAXIȂHЂO؂HADBAU{
ȂHЂA؂GBAEw
ȂPЂA؂AAGBAE
ȂHЂF؂AHBBAE]ȂQЂH؂AAGBAU
ȂQЂA؂HABBAL|
ȂNЂA؂AHBBAE{
ȂHЂH؂AAGBAEȂNЂI؂AHBBAPdȂHЂF؂AHBBAZȂLЂF؂HAGBAKȂBЂA؂BAGBAZp
ȂNЂA؂HABBAE\ȂLЂ\ȂDȂNЂA؂AHBBAO
ȂHЂF؂HABBAEȂ]ЂA؂AAGBAZȂJЂH؂AAGBAPSȂKЂU؂BAGBAKȂNЂI؂AHBBAP
ȂKЂF؂HABBALȂNЂI؂HADBAP
ȂPЂH؂BBALȂIЂA؂HADBANa
ȂNЂA؂HABBAEȂMЂI؂ENLADBAP
ȂNЂA؂HABBAE>ȂPЂF؂IADBAPȂNЂH؂IADBAPg
ȂNЂA؂HABBAEȂQЂF؂HADBAN   P  ?  6g>   BBB B(A0A8GPOKBBIDjAIM_ATKNB1
8C0A(B BBBCDN[BhREIHBBB_@M_Bb
P\
REIHBBBI)
REIHBBBEK
REIHBBBEn
REIHBBBEy
REIHBBBE
REIHBBBEZ
REIHBBBEwIOKBBIt
IHAHBBBKR
IHAHBBBEPNHHDBBIg
IHAHBBBEY
IHAHBBBEq
IHAHBBBEt
IHAHBBBEI
NERPNHHDBBI
QAAHBBBEy
IHAHBBBE^
IHAHBBBEyPHBBB\h
PHBBBBNKHHDBBIp
IHAHBBBEv
IHAHBBBEi
IHAHBBBE_
IHAHBBBES
IHAHBBBEy
IHAHBBBEPNHHDBBI{
IHAHBBBEPNHHDBBIo
IHAHBBBE\
IHAHBBBEq
IHAHBBBES
IHAHBBBEH
IHAHBBBES
IHAHBBBE
IHAHBBBEu
IHAHBBBE
IHAHBBBEq
IHAHBBBEQHHHDBBMs
QAAHBBBE
IHAHBBBEY
IHAHBBBEx
IHAHBBBEc
IHAHBBBE}
IHAHBBBE
IHAHBBBEC
IHAHBBBE
IHAHBBBEPAAHBBBYPAAHBBBWMQHHDBBIa
IHAHBBBEQAAHBBBY 
IHAHBBBE
QAAHBBBEUMQHHDBBIa
IHAHBBBEkMQHHDBBIE
IHAHBBBEk
IHAHBBBE
IHAHBBBEx
IHAHBBBEb
IHAHBBBE^QAAHBBBYO
IHAHBBBEb
IHAHBBBEe
PAAHBBBEH
QAAHBBBEw
PAAHBBBEm
QAAHBBBEUPNHHDBBIa
IHAHBBBEj
QAAHBBBE@
IHAHBBBECPOKBBIPOKBBIG
QAAHBBBEW
IHAHBBBEdMQHHDBBI     K  
    L   L  h   BBB B(A0A8D
8A0A(B BBBF   $  lL   l   BBB B(A0A8DNMGBAKrUBAKj
8C0A(B BBBD\PAGBA\AUHGBAK
PAGBAIL`HGBAKmPOGBAPxPOGBAK8   M  q    BBA A(DP
(D ABBC    M  r   AADPWXR`ThDpBxAIPX
AACTXT`MhGpBxAKPmXG`BhApWPrXU`BhApKP
XG`BhApO     XN  Tu.    TY    pN  lu    DW 4   N  tu   BFA G
 AABA     N  <w   BBE E(I0A8G!!I!T!D!B!A!r!!U!H!G!B!A!K!k!P!M!I!B!A!K!o
8A0A(B BBBB_!I!T!B!B!A!K!!S!O!B!B!A!K!'!U!H!I!B!A!Z!\!O!O!F!B!B!I!   (   O  |y    AAD0f
AAB   P  8}   BGB B(A0D8GAATAMAGABAAAKA@AMAHABABAAAZAgAOAAAGABAAAWA	AHAFACAFAIAHADBBBABLAC
AMAHABABAAAKPAOANABAAADABABBSA|APAMADABAAAIAMAMAQANAAADABABBIAa
AMAHABABAAANgAIABAAAKAjANABAAAKAANABAAAKAh
8C0A(B BBBAAIABAAAKAiAEAEAEAEAIAHAGBBBBBIAyAIABAAAKAAUABAAAKAAiAAAGABAAANA{APAIABAIAiAPAAAGABAAAWA]AUAMAGABAAAKA
ANAHABABAAAEAPAIAAAKAASAIAAAKAAUABAAAKAAmAAADABABAIA      S  LJ   BGB B(A0A8JMNDBAHDBAXsBBAW^
8A0A(B BBBHw
IBBLNHBBA\ISBAKw
NHBBAEp
NHBBAE   T      DK $    T     AC
Gh
E  8   HT  t   AAD@
AAFsHNPBXA`K@ (   T      AAD q
DAL 0   T  ̛    BEA D`
 CABA    T     BBB B(A0A8DMONBBNJHGBAUEGBA]c
8D0A(B BBBBoNBAKl
GBAObNODBAIu
NAGBAK   `   U  q   BBA A(DPXP`OhGpBxANPt
(D ABBHnXN`BhApKP   (   DV  ȣQ    JAO mAAG  (   pV  Q    JAO mAAG  L   V  0    BBA A(D0_
(F ABBDD
(C ABBD   @   V     BBB A(A0D@
0D(A BBBK h   0W     BBA A(D@x
(C ABBFVHKPOXH`AhBpBxAK@D
(A ABBE      W  `
   BJB B(A0D8G p T B A!K h
8C0A(B BBBFg B B A!W S
 B B A!E  H   (X  J   BBB B(D0A8Dp
8C0A(B BBBAx   tX     BEB B(A0A8G OOGBAV`
8A0A(B BBBDGDYA   X  <   BBB B(A0A8DpJ
8C0A(B BBBDt
xIBAHnxBBAUpnxKBAPpz
xKBAB[xQTBBAKp    Y  |   BGB B(A0A8Ju
8C0A(B BBBFVJEBBAKUQBADBAKZABBBBe
ABBBALCKBAKp
MHBBAJ   Z  `i1   BKB B(D0A8J
8A0A(B BBBHTQBAREBAK\TfAQBAP`IABBBaQBAPIABBBaNcAgR[BHABBBeI^AXIHKDBB]mbIIIIYZIAKBALHcSBZBBAWtBBAWdTgBNGBAWd
\f
GBAHn
GBAHdLBAKp
BBAM@NHIADBALCXAiP_BDIABBBaqPAFHDBALCLBAKMGBAK`XHEBAKUIABBBfhVHGBAK_EZBvPACFIADBALS
Xs\IAHDBBdkNBAKP
PJbMAhbNB
IABBAL
IABBAKvHABBBpuMHDHDBBINBAKSNAs
IABBAEh_IAHDBBV2
IABBAESNBwIBAUe
HABBAE
LKIBAKxUBAK
HABBAE$   ,`  @A   AC
K
F     T`  h<   D 
E 0   p`     BAA Dpt
 CABF  0   `      AAD n
AAJDLH(   `     AADp
AAG H   a      BBB B(A0A8D`
8D0A(B BBBC |   Pa  l   BBD D(GPaXO`ThDpBxBIPZ
(A ABBH]XT`HhGpBxAKP`XT`MhDpBxBIP   ,   a  |   AC
M
F      b  L,   BKB B(A0A8JBBAW^
8A0A(B BBBE
BBAHDdANBAK
BBAH_IHBBAZIBAXIBAU@
IBAMIHIEBPv
IBAIiGBAPBBAXu
BBAEq
BBAE
BBAEl
BBAE d  c  
,   BBB B(A0A8GBM[BiTHDBATLUBAXOTODBA[xORDBA]zORDBA]AOTDBANOHGBAPtUBAE
8C0A(B BBBD_UBA@cNBUBAKUBAKgTSALHdAgHeBUBAKIR[BfHaB|QMAFGBHK`AKaBKaBRZBqTNB    f  v	      @f  7.   BBB B(A0D8GJUBAKa
8D0A(B BBBA"UBAKNBAK|SBAKqUBAKmUBAKUBAOUIAOOOGBAZYROGBAPOMfBhOOGBAZOTBBA`:TADBBSNBAPUBAPUM\B}NBAPjTHBBBYIMfBjNBAgpNBAPJTVAz
CMGBAJ\
NBAERGBQ
THBBBE^OjB
JTyRGBIUKA
TEIBBY~UBAKX
IBBER
IBBELOGBA^lUBAPTNBAKNBAP  ,   i  <bW   AAJ
AAF   ,    j  lc   AC
M
B   ,   Pj  f   AC
M
E   <   j  <i   BFA A(DC
(D ABBF   L   j  j   BIG B(A0A8G
8D0A(B BBBF   P   k  J   BBA A(D0
(A DBBEj
(D ABBE       t   dk  5   BBB B(A0A8DPK
8C0A(B BBBKE
XR`AhApHxEJQXR`AhApHxEYPt   k  )   BBB B(A0A8DPK
8C0A(B BBBK}XR`AhApHxEYPZ
XR`AhApHxEB l   Tl  x   BBB A(A0j8A@HHEPc0O
8A@HHEPHX
(A BBBI@(H GIU      l     BBB B(A0A8G
8A0A(B BBBD!NOFHHIwLPKHGI
8M0A(B BBBJ]QKA X   tm  X   BBB B(A0A8D@
8C0A(B BBBEHGPPXT`I@     m  |    ZvHXC   m     BBB B(A0A8DIOGWSMNGWi
8A0A(B BBBA}IQEW     n  l   BBB B(A0A8DIOGWSMNGWi
8A0A(B BBBA}IQEW     o         `    o  ̐U   BBA A(DPbXR`ThDpBxBIPX
(A ABBGXI`BhApKP      o  Ȓ    V
K     o  LR    D`
D     o  b    PO
APH   o     G
A   o  Ԕt   BBE I(H0C8J MOBBAPu
8D0A(B BBBF
SOBBAJLIMHADBAmIBAKb
MOBBAFAIBAPfAKBBBf
AKBBBfIBAXY]APIIIIIIIIIIc

PBAE
IBAE
HABBAE
HABBAE
AEw
AE   q  P   BBB A(I0DG]A
0C(A BBBHmNBAPWNBAKEPOGBAPF
NBAJ   H   r  L   BBB B(A0A8D`
8C0A(B BBBH H   r     BBB B(A0A8Dp
8C0A(B BBBA ,   Hs  D   AC
M
J      xs  Ĺ   BJB B(A0A8J
8D0A(B BBBGSPcF
PODP]AR
PI   L    t  ̼:   BBB B(A0A8D
8D0A(B BBBJ   L   Pt     BAA D@
 CABNH
 AABDdHNP]HA@4   t     AAD@
CALs
AAC 0   t     BAA DP0
 AABD0   u      AD 
AG(C0i(A    (   @u  d   AD0
AE\
AK4   lu  P   AAD@
CADHCPPHA@L   u  (   BBA A(D0
(C ABBIO
(E CBBE      u     BBB B(A0A8D
8D0A(B BBBBL_AM`BRNhBL^AP
NLD
PSDCiA (   v  P   AED`
CAE   v     BBB B(A0A8GOAGBAY
8C0A(B BBBIoGBAWNBAKeNBAK1NBAKNBAKoGBAYQNBAKH
GBAMoNBAK[TOGBAKwUBAKNBAKo
GBAER
OABBAJGBAYNBAKe
GBAE
GBAE     x     BBB B(A0A8DPXO`RhGpBxAKPg
8C0A(B BBBHk
XU`BhApEXO`OhGpBxAIP^
XO`OhGpBxAJ{XN`BhApRPsXO`OhNpBxARPXL`ZXAPIXT`YXBPQ
XT`Pt
XT`XXO`ThDpBxALP[XO`WXAP    y     BBB B(A0A8D`T
8D0A(B BBBAhUpBxAK`YhUpBxAK`
8M0H(G PBBE   dz  X   BBB B(A0A8G#UHIBAOMOKBAPPBAKb
8C0A(B BBBFlBBAWiPIAOPTIBAKQSHIBAPPBASUBAKNM]Bn
BBAMTM^A\
MOBBBJ
BBAE     {  l    AD 
AJ H   |     BBB B(A0A8DP
8D0A(B BBBF (   `|  |&   AC
KJ
G L   |   S   BGB B(A0A8I)3
8A0A(B BBBK   0   |     BFA I!
 AABE   }  |O       L   $}  `   BGE B(A0A8I"
8D0A(B BBBJ   @   t}  G   BBB A(D0DPS
0C(A BBBD<   }  	o   BFD D0
 CABAp8M@^8A0\   }     BBB B(A0A8D
8C0A(B BBBDP]A  8   X~  T    BED A(G0i
(D ABBK ,   ~     BAD v
DBM     ~  x       (   ~  ?    AHK ^
AAD              H         BID D(F0J
(A ABBGD(J ABB  L   d  _   BBB A(A0
(A DBFEf
(C BBBA         Gr
G         Gv
C     o    Dd
H           Dl
HQ
G   (      Da
K  (   D      AAD R
CAD H   p     BBB B(A0A8D`"
8C0A(B BBBD,     pT   AC
BIHW
B          Dj
J  (     $   AH
DIH
E8   4  #    BAA 
CBEA
FBG   (   p  l$T   AADp
CAD      %    Dd
H       &    Dd
H  0   ԁ  &T   BAA D0
 DABI ,     'V   AC
P
G       8  *    ANU
AK(   \  `+=    BED jAB        t+o    DZ
J  \     +O   BBB B(A0A8D@F
8C0A(B BBBHeHNPNXF`HhGpI@H     ,    DX
DR
A H(E0HRF R(L0I_A H(E0_F  \   P  L-U   BBB A(A0n
(C BBBA8F@PHQPI0M
(A BBBA X     L._   BBB B(A0A8D@l
8C0A(B BBBJRHGPPXQ`I@  H     P//   BBD A(D0F
(C ABBER8G@PHQPI0  x   X  403   BBB B(A0A8DP
8C0A(B BBBGXS`BhApHxEYP\
XS`BhApHxEB   `   Ԅ  1    BBB B(A0A8DPQ
8C0A(B BBBE}XM`QhDpHxHIP   p   8  2   BBB B(A0A8DPr
8C0A(B BBBD}XN`NhFpHxHIPXN`PhQpIP   P      4t   BBB A(A0D@
0C(A BBBGRHGPPXQ`I@  H      ,5/   BBD A(D0I
(C ABBBR8G@PHQPI0  p   L  6   BBB B(A0A8DP
8C0A(B BBBD]XG`PhQpIPlXO`OhHpHxGIP   |     7y   BBB B(A0A8DP
XH`HhEpDUXH`HhEpfPg
8A0A(B BBBG8M0H(G PBB\   @  9   BBB A(A0J
(C BBBEe8F@PHQPI0_
(H GIUO  t     :   BBB B(A0A8D?
8D0A(B BBBFGTGRWGTGRt     4>'   BEB B(A0A8D
8A0A(B BBBBIOGWHNNI `     @*   BBB B(A0A8DI
8A0A(B BBBGLFPLW t     C   BBB B(A0A8D_
8D0A(B BBBFIOGWHHGWP   l   G   BFB A(A0D`
0C(A BBBFQhGpPxQI`t     H   BBB B(A0A8D>
8A0A(B BBBJhIQEWKOEW  (   8  4Kn    AAD w
AAA  (   d  xKn    AAD w
AAA  t     K   BBB B(A0D8DA
8C0A(B BBBBb]HGRFOOR  h     4N   BBB B(A0A8Da
8C0A(B BBBE4QIHHGI     t  O   BBB B(A0A8DW
8C0A(B BBBGIAAHEcbGPQIZ
IAAHEE`     0Q   BBB A(A0S
(A BBBF
(A BBBE
(H GIUK t   p  R~   BBB B(A0A8D
8D0A(B BBBFIOGW/HHGW|     V   BBB D(A0D`hKpMxMHEN`s
0A(A BBBKhHpHxEc``
hHpHxEB   `   h  Z   BBB B(A0D8D`
8A0A(B BBBIhRpJxHHGI``   ̍  [   BBB B(D0A8D`
8A0A(B BBBIhNpNxFHHI`d   0  L]   BBB B(D0A8D`
8A0A(B BBBDthRpIxHHGI`   `     _   BBB B(A0D8D`
8A0A(B BBBHhNpOxFHHI`L     Pa   BFB B(A0A8D
8C0A(B BBBC   ,   L  d   AG
P
E   L   |   t   BBA A(G
(A ABBGLJ`A   ,   ̏  u   BAA 
ABJ   ,     pv   AC
M6
I   @   ,   x   BBB A(D0G`x
0A(A BBBF H   p  y    BHG A(D0^
(C ABBDd(C CBB  $     yV    AM
Bt
DD        (z    Q_
H$      z   AOM
AB   8   (  D}    BEI D(G0x
(A ABBG (   d  }a    FAG DA   8     ~    BFE D(D0(A BBB  L   ̑  ~?   BBE E(A0C8DE
8D0A(B BBBH   \         PBB B(A0A8G@q8A0A(B BBBFH@  L   |     ACD0A
DAB8B@i8H0|
8I@SD8M@]8A0       ̒  p    AD0o
AK ,        AC
HHs
I         |@    DU
A  H   <     BHI B(H0D8KP
8A0A(B BBBC 0     d/   BIA I
 AABE     `    DZ     ԓ  h    T~V UAI ,     ԗ6   AAG
CAA   (   (  o   MAD0O
AAA  4   T  (    QT
KU
K_
aDM ]A   |        BEF E(D0D8I 
8D0A(B BBBHPUBZP^DFP_BT     `   BBD A(GP
(C ABBJtXH`[XAPVXR`XXAP   $   d  -    AAD dAA D          BAA D0u
 FCBH^
 AABF          ԕ              4            V            <    DB
J    ,      DA
K     H  T    D_
EF
B      l   #    D,     <   D A(V0H(A LC   (         AAD d
AAD <   ܖ  Ю"   BBB A(A0|
(A BBBE   H        BBB E(A0A8D`
8D0A(B BBBA   h  F    d_ L     ̳H   BBA A(D@
(F ABBOx
(C ABBH   l   З  ̵f   BFB A(A0Dpu
0A(A BBBCxTCIAFADBAIp   H   @  ̷E   BBB B(A0A8D`
8D0A(B BBBB H     иO   BBB B(A0A8DPt
8A0A(B BBBD    ؘ  ԹC   BBB B(A0A8Dp-
8A0A(B BBBKxWAB`pPxJZxApT
xWABIVxIaxAp   d  [       H   x  \   BBB B(A0A8Dp
8A0A(B BBBE \   ę      BBB B(A0A8D@P
8F0A(B BBBCl8A0A(B BBB   $  Hx          8  gy       H   L      Ar
M[
MS
MV
BY
GF
JI
GI
GC   `     T^   BBB B(A0A8DP
8A0A(B BBBDH
8C0A(B BBBD4     P    AAD h
FAKh
AAF  (   4      AAD 
DAE $   `  |    FY
AXHH           Pf
J`  `     t   BBB B(A0A8D@
8C0A(B BBBBP
8A0A(B BBBF L        BBA A(D0
(D ABBEl
(G DBBE  @   \  `A   BBB A(A0D@R
0C(A BBBH x     l   BBB B(A0C8D@X
8A0A(B BBBFp
8F0A(B BBBI
8C0C(B BBBK       w    DL
HO
IF   @      Dj
BK
E8   `  \   BBA A(D0i
(C ABBEH         BBB B(A0A8D@f
8A0A(B BBBB $     4^    An
Af
AF   8     l   BBA A(D0
(A ABBE    L      D|
H  $   h  T    J}
IC
EHH     |   BBB B(A0A8DP8
8C0A(B BBBFH   ܞ     BBB B(A0A8DP_
8C0A(B BBBG8   (  P   BBA A(D@M
(D ABBH$   d      F\
FQGH  H     0    AAD ^
AAJl
DAGD
CAHcFA (   ؟  !   AAD e
AAC d        BBB B(A0A8D@g
8A0A(B BBBA
8F0A(B BBBF   H   l      BBB B(A0A8D@Y
8A0A(B BBBG  L     t    BBB A(A0b
(A BBBGJ
(A BBBGH        BBB B(A0A8D`
8A0A(B BBBK 4   T  XR   AAD x
AAHS
FAF          D}
GY
G   H     \'   BBB B(A0A8D`"
8A0A(B BBBF,     @`   AC
M
G   @   ,  p    BBB A(A0D@l
0A(A BBBH H   p  L   BBB B(A0A8D`
8D0A(B BBBA8     6   BBA A(D@
(C ABBC 0        BAA D0
 DABG D   ,  x   BBE D(A0J!
0C(A BBBE      t  !   BBB B(A0A8Gm
8A0A(B BBBHA	B	B	B	B	I	H	F	C	F	H	K  H        BBB B(A0A8D
8A0A(B BBBC,   D  (   AH
FJ
G     t     BBB E(D0A8J
8C0A(B BBBJqDBBKDBHFCFHI          G
A0     8A    AIG N
CAEJIA H   H  T   BBB B(A0A8Dp
8A0A(B BBBA H     }   BBB B(A0A8D_
8A0A(B BBBIH     <
   BBE B(A0A8D
8D0A(B BBBH,   ,       AH
BJ
E     \  p&    G
A(   x  '<   AC
M
Gt     (+S   BBB B(A0A8D`
8C0A(B BBBD]hrpAxFK`?
8J0A(B BBBE   H     .V   BEE B(D0D8F
8A0A(B BBBAL   h  $/7   BBB B(A0A8D
8C0A(B BBBB         1   A
JA
G   ܧ  3:            3            3            3    A
E   H   8  4   BBB B(A0A8D`
8C0A(B BBBE      6    Al
S   (     7_    AAD r
AAF  d   Ш  7   BBB A(A0%8B@BHBPIXA`BhHpFxCFHK0A
(D BBBD(   8  9    BDD {
ABH    d  x9_    Ab
EP
H  X     9   BBB A(A0DP(
0A(A BBBDH
0G(A BBBJ  (     <   AAD0
AAJ      <o    DY
K  H   ,  @=v   BBB B(A0A8DPp
8C0A(B BBBF     x  t?    AD j
AH       @@    AOg
AH0     @    BAA D0
 DABF L     A+   BKB B(A0D8G!:
8A0A(B BBBG       D  xFZ   AD0A
AI X   h  G   AAD S
CACd
HACD
EAFD
HACc
HAD8   ī  Hc   BAA R
ABG
FBH  (      ,J    AAD u
AAC (   ,  J    AAD ^
AAJ ,   X  Km   BAA 
CBG  ,     TN    BIA 
ABA   8     O1   BAA I
ABHe
ABH   H     P    BBB A(A0d
(A BBBE}8[@QHAPK0     @  P    AZ
Eg
I  (   d  Q   AAD0
FAA ,     R    BAA 
ABD   <     \S    JAG l
DAMDAAJH       SK    l     (Tq    LT
HH      4  T    Av
I\
L  ,   X  $U   BAA 
ABC        Vg    Dq
K  0     XVD   BAA D0D
 CABF 0   خ  tW   BAA D0
 CABE @     X   BBB A(A0DP

0A(A BBBG,   P  \Z    BAA O
ABJ         Z_    A]
B^
B  H     [   BFB B(A0A8Dp.
8A0A(B BBBF(     \    BAA y
ABH8     \   BFA A(D`
(C ABBJ P   X  ^?   BAA 
ABGA
FBG`
FBH`
FBH   8     _   BAA d
ABEA
CBJ        b    A}
B(     b!   AAD0
AAJ 8   0  c   BBA A(DP~
(C ABBH@   l  gb   BBE A(G0DPc
0D(A BBBE     <kE   BBB B(A0A8J
8A0A(B BBBHQKCV<RJHKcOAQKCWTZC  P   d  ؅   BAA G
 CABFODHFFK  \        BBA A(D`)
(D ABBLa
(C ABBGT
(D ABBK     H    A
AF (   8  4    AAD l
AAD     d  ȋ    Ax
Ge
K        D    As
De
C            Af
Ie
K      г      An
Ae
K            AG f
AA 4     $    AAD a
GAIc
FAF  L   P  |   BBB B(A0A8G
8A0A(B BBBD        <j    De     S    Ak
Db    ش  ԓb    |e H     ,,   BBB B(A0A8Dp
8A0A(B BBBC 8   <  d   BBA A(D`
(A ABBDL   x  D{   BBB B(A0A8DL
8A0A(B BBBD   8   ȵ  t    BBA A(D@i
(A ABBG ,        AC
M
C   ,   4  	   AC
DEF9
D 4   d  x    AMM d
CAEJ
CAJ ,     @   AC
MY
F   H   ̶  L   BBB B(A0A8D`
8C0A(B BBBH 0         BIA G@
 AABC T   L     BBB B(A0A8DP
8C0A(B BBBDXP`YXAPH     D   BBB B(A0A8Dp
8C0A(B BBBI          A^
A        c    Aq
Nb 8   0  ܨe   BAA U
ABD_
ABF   (   l      Ai
FO
Ie
Ce 4     k    BAA t
ABEgAB   L   и     Ae
Jn
F L`
HgF VA}A TAm
A K  4          BAA 
ABFpFB  (   X  $o   AAD 
CAH     hz   BBB B(D0C8I
8C0A(B BBBFHHAHIBUHcB]LgACT\C
AEHIA
AEbJHB   `     BOB B(D0A8G)RTDBAI^
8A0A(B BBBH]OTDBBKtMHBBAWo
MHBBAG$
MHBBAEMODBAU      \            p  |    D I
K ,     P   BAA 
ABH        0K    l@   л  l   BBB A(A0D@
0C(A BBBK `     H   BEE E(A0D8D@S
8A0A(B BBBIZ
8C0A(B BBBJL   x     BGB E(A0D8G
8A0A(B BBBF   \   ȼ  1   BBA A(D@
(A ABBG
(A ABBAK
(A ABBG   (  dq    LT
HH  H   H     BBB B(A0A8DP
8D0A(B BBBA 4     H    BAA f
ABCV
ADE(   ̽      AAD {
AAE  ,         BAD ]
ABI   ,   (      BAA u
ABD   0   X  D    BAA D0
 AABB 0         BAA D0
 AABE ,         BAA f
ABC        {   BBB A(A0G
0C(A BBBBFN`AfNaCwM_BbL`AYM`B/
TTy
OSS
ML~
TLPTXBU
ML  8   Կ     BBA A(D@
(C ABBD (         AC
DD
C   ,   <   4   AC
DEFH
A ,   l  0   AC
M@
G   0         BAA D0
 AABD @     |   BBB A(A0D@
0A(A BBBI4         AAD o
CAGc
FAF  8   L   Q   BBA A(D@
(D ABBG H     D   BBB B(A0A8DpX
8A0A(B BBBH ,         BAA f
ABC        8    D_
Eh
H0   $  N   BAA D@
 CABD H   X     BBB B(A0A8DP
8C0A(B BBBJ      q    D Z
BP  (     x<   AC
Mm
B4         AAD G
AAAc
FAA 4   (      AAD L
AADc
FAF (   `  \L   AC
M^
A@     Q   BHE D(C0D`Z
0C(A BBBBL     +   BBA A(G
(C ABBF^
(I ABBL  (      |P   AC
K#
F H   L  \   BBB B(A0A8Dp
8D0A(B BBBG (        AC
K\
E  L        BBB A(A0s
(C BBBDG
(A BBBJ      X    Ay
F0   0      BEA D@
 AABE ,   d  H
   AC
M
B   $     
   AC
I
K8        BBA A(DpI
(A ABBG ,        AC
M
F   $   (  $F   AC
G
G  ,   P  L   AC
M
A             AD n
AD       x    AD a
AI           AD z
AH           AD g
AC ,        AC
Me
J   8   @   3   BBA A(DPf
(A ABBJ (   |  "    AAD0n
AAJ (     4#    AAD0a
AAG \     #   BBB B(A0A8Dc
8C0A(B BBBCdKqA   (   4  %    AAD G
AAA <   `  l&    BBB D(D0I
(A BBBB   (     &    BAA y
ABH      `'    AH@r
AD     'U   BGB B(A0A8J
8D0A(B BBBALHAHDBBBf`PHNBAKiHAHDBBBfm
OHAABBAEb
HHAABBAEz
HAERAAH     H,   BDD GPl
 AABGWXT`HhGpBxAKP   d   P  -   BBB B(A0A8DpG
8C0A(B BBBGxKOGBAKp ,     T/L   AC
M
B   L     t1   BGB B(A0D8G
8C0A(B BBBB   0   8  4   BAA D0
 CABH L   l  5   BBB B(A0A8D
8C0A(B BBBJ   h     8m   BBB B(A0A8Gt
8D0A(B BBBFQTMBBAK   8   (  ;}   BBA A(DPp
(A ABBH     d  X<    FN
Dh        <|   BBI I(D0
(D ABBGd8M@]8A0\8R@^8A0P8M@W0D8L@_8B0S
8R@Zt
8M@OC8Y@W8B0J8C@m8B0Q8Y@V8B0Q8Y@V8A0Q8Y@O8A0B
8M@LQ8M@   (   T  xA    AAD g
AAA 0     <B    BAA D@
 AABD       B    DH
DP
H  (     Cv    AAD ~
AAJ  H     C&   BBB E(D0D8Fp_
8A0A(B BBBF H   P  E_   BBB B(A0A8DP.
8C0A(B BBBH      G    DY
CI
G   8     HI   BBA A(D@
(A ABBD 4     I    AAD0I
AAGc
FAF    4  (J    Da
Kh
H@   T  J   BBB A(A0DP
0A(A BBBE      tL    DD
H 4     8M3   BAA D0
 AABG          @N    D
C      N    D
E    $  O    Da
KK
E   D  XP    Da
KW
I   d  Qv    T_   |  pQ    DB
J      Qc    D   @     <R    BAA e
FBGV
FBJ[
AEG     R6            R6       4      S    AAD E
DAHD
AAB 8   T  hSG   BAA a
ABHF(J0T(A   (     |T   ACD@
CAE 4     pUV   AAD L
AAD^(g0H(A \     V   BBA A(D0p
(A ABBHb
(M OIBO\
(D ABBK@   T  W   AAD 
AAIt
IAJR
AAD       Xo    Aa
NA
G  ,     X    BAA }
ABD   8     YO   BBA A(D0m
(D ABBH 0   (  ZT   BAA D@j
 CABH (   \  [_    AAD `
LAM  D     [+   AAD 
DALD
AAJ#(R0X(I          ]   AG 
AG ,     ^-   BAA 
ABA   P   $  _    BLB H(D0Uw
0A(A BBBADM^AH   x  t`   BBB B(A0A8D`
8C0A(B BBBI     a    DA
K      lb    Dl
HF
B      b    Dz
BF
JL      |c    BBA A(D0F
(E ABBFD
(C ABBD   8   p  c   BBA A(D0z
(A ABBF       `e    Du
GF
JH     e   BIB B(A0I8Dp
8D0A(B BBBAL     tkx   BBB B(A0A8Dx
8D0A(B BBBE   H   h  nq   BBB B(A0A8Dp
8C0A(B BBBJ     pq    LT
HH  (     8q    BPD0d
DBA        q   AX0
AE ,   $  Hs}    BAD A
ABE   8   T  s   BBA A(DP
(D ABBG0     ,vx   BEA DP
 AABB H     xx   BBB B(A0A8G}
8A0A(B BBBH     <zq    LT
HH  8   0  z    BAA J
AEDQ
AEA       l  {4   AD0l
AF L     ,|8   BGB B(A0D8G
8C0A(B BBBK   4         AAD ]
AAK
AAG  8     ~   BAA 
ABB
CBJ  ,   T  /   BAA 
ABG   L     o   BBA A(D@
(A ABBCA
(F ABBD  8         BBA A(D0
(D ABBC D        BAA 
ABIy
ABLA
ABD      X  $k    L   (   p  |_    AD U
AEW
DE       c    I`
GK
E` (        AAD 
CAGP        BAA 
CBDT
ABII(s0O(A s
ABA  d   @  L   BAA G{
 AABF
 DABN`HBhcMAD     I   AGr
CC`HANH`A H        BBB B(A0A8DP
8C0A(B BBBH L   <     BBB B(A0A8D
8C0A(B BBBD   4         BAA m
ABLe
ABHL     /   BBA A(D0
(D ABBG
(D ABBF  ,     x   BAA V
ABC   H   D  ؝   BBB B(A0A8Dp
8C0A(B BBBD (     |i   BAC O
ABHD     )   BAA `
ABI`
FBH`
FBH            AH@
AK 8   (  $   BAA F
ABC`
FBH     d  3    T   x  43    T     `3    T     3    T     3    T     3    Th        BBB B(A0A8D@z
8D0A(B BBBK0HCPFHA@tHFPHXD`K@   L   H  D
   BBB B(A0A8G5
8A0A(B BBBH   p     ĸ   BBB B(A0A8D0
8C0A(B BBBFCFADHFK \     0   BBB B(A0A8DP
8C0A(B BBBHXF`HhFpSP   p   l  p   BBA A(D0F
(A ABBJu
(C ABBCq
(F ABBD{
(F ABBJ  8         BBA D(D@O
(A ABBF 8         BBA C(D0]
(C ABBO    X  _   A
F   H   x  m	   BBB B(A0A8G
8D0A(B BBBE8     8o   BDC M
ABG[
KII   4      l%   AAD \
AAD
DAI H   8  d    BED G(D0~
(A ABBFD
(C ABBDL        BFB B(A0A8D2
8A0A(B BBBB         h    AD@`
CH (     D,   AAGP
CAG H   $  H&   BBB B(A0A8D@
8A0A(B BBBD d   p  ,,   AEDPrXa`HhHpHxHHHHHHHHHHHVP_
AAD|     M   BBB B(A0A8D@x
8A0A(B BBBH;
8F0A(B BBBFS8D0A(B BBB      X      D
D 4   t  h    ADG {
HAHD
CAH          Az
E@     dB   BAA DPy
 DABHT
 AABH      pq    LT
HH     ,  s    Fz
HhH   L  0   BBB B(A0A8D`
8C0A(B BBBA 8     t   BBA A(D`h
(A ABBH L        BBB B(A0A8D
8C0A(B BBBD      $  v   BBE B(A0A8Dpx[jxAp{
8C0A(B BBBD
8H0D(B BBBK
8D0A(B BBBF  X     ,   BBB B(A0A8DPH
8A0A(B BBBHXN`AhDpNP H     `%   BBB B(A0A8Dp
8A0A(B BBBF`   X  D   BBA A(Dpn
(A ABBB
(D ABBJa
(D ABBF D      _   AAD`	
DAL
AAKX
DAK   T        BKB A(A0J!4
0D(A BBBF!F!H!A!    \  O    An
AX   x     BBB A(A0D@}
0D(A BBBL
0D(A BBBM  (     8~   AC
M
F|      	   BBB B(A0A8D`
8A0A(B BBBGK
8D0A(B BBBH
8D0A(B BBBL  T        BIB D(H0G
0A(A BBBDtM]A  8     TN   BBD A(K`
(C ABBC 4     h    ADG n
JAKD
AAJ  \   L  	   BBB B(A0A8DHHAI
8C0A(B BBBF  \     @!^   BOB B(A0A8J!
8A0A(B BBBE!L!H!A!       @%       ,      <%|    BDD g
DBA   ,   P  %   AC
M
B        <-   BBB A(F0G
0A(A BBBGLLAQKCP
0D(A BBBEIJA  L     82    BED A(G0e
(D ABBGU
(D ABBJ   8   d  2   BGA A(GQ
(A ABBG     |3      $     H8   AC
BH
J $     @9   AC
BH
D (     (:   AAD@_
CAG d   0  ;i   BBB B(A0A8D`
8D0H(D IBBE
8A0A(B BBBD        Ac$   BFB B(A0A8G
8D0A(B BBBBFMRB!DmADNAGGKADABN 8   D  he   BED D(G0
(A ABBB 0     f   AC
M
K            hh            th            hz            hs            Xi            Ti          ,  Pi          @  Li          T  Hi       $   h  Di@    ADD mDA      \i            Xi            Ti       H     Pi    BEB B(D0H8D@_
8D0A(B BBBI $     i.    ADD XGA $   @  i&    ADG IKA    h  i     D [      i
            i            i       P     ii    BKH J(H0G8B@AHFPN0H8J@H8A0A(A BBBL     jG   BBA A(G`|
(H HBBK
(D ABBE  8   `  k    KHD n
ABHKAEG  8     k    GAD U
ABDHH      k$      0     l    BLA G`r
 AABD 4      \mu    BED y
ADGY
ABD@   X  m    IAD aABFH Y
CBB        n?   AD0u
AE       <o2    D           (     To    AC
KN
C  8     o    BEH D(D@
(C ABBK (   P  pS   AC
BM 
E  H   |  q1   BBB B(A0A8G|
8D0A(B BBBF      s_    Ai
FG
I  (      t    ADG Y
DAF      t       $   0  <u    Df
FI
GI
G  (   X  u    AAD d
HAM  H     u#   BBE B(A0A8D
8C0A(B BBBJH     z<   BBB B(D0A8Kp
8A0A(B BBBA 8     {,   BGD A(G
(D ABBE   X  |G    Ac
D(   t  |_    RAA c
FBA     ,}l    Dg     }4    A]
BS H     }    BBE E(A0A8D@Z
8A0A(B BBBH 4   $  ~g    GAA pCBBH      \  P~C    d,   p  ~    MAD ABD  (     ~   AAFPB
AAD 8         BBA A(F0`
(D ABBK       dV    Tp
DK   L   (  y   BBB B(A0A8G
8C0A(B BBBJ   (   x  ԃo    AAD 
AAI  H        BBB B(A0A8Dp
8C0A(B BBBK,     ܆0   AC
M
J   (      ܊    AFN0X
AAA (   L  P    AAD I
CAE H   x     BBB B(D0A8Dp
8C0A(B BBBC H     )   BGH B(A0A8D@
8C0A(B BBBF (         AEDPo
AAE 0   <      BAA D@
 CABA (   p      AEDPx
AAD (     Џ    AEDPo
AAE H     td   BBB B(A0A8Dp
8A0A(B BBBG $        D
EU
K`
H@   <   }   AAD 
CAK
CABa
CAK(     <    AAD {
LDO  H        BBB E(D0A8DP
8D0A(B BBBE \     Dy   BIB E(A0A8FP
8F0A(B BBBJ|8C0A(B BBB8   X  d    GDD I
EBAQCBJ  H     a   BEB B(A0D8Dp
8D0A(B BBBE H     ܚ   BEB B(D0H8D@
8D0A(B BBBA H   ,      BBA A(D0]
(A ABBC|
(A ABBFL   x  Q   BFB B(A0A8G
8A0A(B BBBF             AH@e
AA (         AIG@
AAD @     d    BBE D(C0G
0A(A BBBG@   \  `   BBB A(A0D@|
0D(A BBBE       ,    AW0
CE       s    GI
HB
F      _    DS
I  (     X    AH
DH
G      0  ,6    D   D  f     L   X  D   BBB A(A0
(A BBBB
(A BBBJH        BIB E(D0A8DPk
8A0A(B BBBHH     h   BEI E(A0C8D`G
8C0A(B BBBHH   @  #   BFB B(A0A8D
8A0A(B BBBG,        BDC 
ABB  @        BFB A(A0Dp
0A(A BBBE @      |Y    BDD L
GBI\
DBEAFB   @   D      BAA W
GBL_
DBEA
FBE8         BFA A(Dp[
(A ABBA @     h    AAD W
DAN_
DAED
FAD  @        BAA g
ABA[
ABCh
ABE@   L    BFB A(A0Dp
0A(A BBBG     ܷ    D@    F   BBB A(D0DP
0D(A BBBI @    %   BBB A(A0D@
0A(A BBBA 8   ,    BAA d
ABED
ABI   8   h ĺ    BDD p
FBFu
CBA   H    X    JDG Y
AAHH
AAFDCAHC   4        AAD r
DACV
DAA @   ( $L   BBB A(A0DP
0A(A BBBH @   l 0    AAD r
GAHD
FAED
CAH  @    |i    BBE E(D0G@]
0A(B BBBA  4        AAD N
CAHK
AAK H   , @   BBB B(D0C8FpE
8D0A(B BBBI   x M    DM
G  t    b   BEB B(D0A8I%
8A0A(B BBBG(%B%Z%A%D%E%%O%K%B%    #    D     @   BBE E(D0C8J
8A0A(B BBBDMBAKBBAIAIA\{IDA\TMAKBAIA\{BAKBA\   X    t    BEJ B(A0A8IlHTAc
8A0A(B BBBA(   T     G
JDAFA           \    	   BEB E(A0A8G
8D0A(B BBBDUZF          TY
C  d    \8   BIH D(D0G` 
0A(A BBBFwhHpNxII`ChJpKxLW`   L   x 4	   BBB B(A0A8D%
8D0A(B BBBH   ,    t,   AC
HD
E   4    t   AHD@i
CAFTHLP^HA@P   0 L   BGB A(A0D`\
0D(A BBBHhMp^hA`                    BDK ^
CBDk
(U0PM(M0](C A
ABJm
AJHK
CBHy
(M0RA
(M0L
(M0LO
(M0Et(M0    ,	     BAA D0
 AABFI8L@_8A0\8L@^8A0]8M@]8A0]8L@^8B0\8L@_8B0[8L@^8B0\8L@^8A0   H   	 t_   BBB B(A0A8Dp
8A0A(B BBBH 8   
    BFA A(Dpd
(C ABBF   @
 \[    |L   T
 ?   BGB B(A0C8N
8D0A(B BBBH      
           
           
 8          
     d      
 D    Dz
B                ,           @ 9       ,   T    AR0
CD8M@g8A0D        BIA A(F0C
(A ABBDD8M@[8A0 (    pg    BAA |
ABE8       BBD A(DP
(D ABBA(   4 O   AAD`
AAA (   ` <~    BAA x
ABAL       BBB B(A0A8D
8A0A(B BBBI   8    T   BBA A(DpF
(A ABBJ 8   
    BBA A(DPN
(A ABBB    T
     AD V
AD 0   x
     BAA D@
 AABD 8   
    BBA A(DP
(A ABBD     
 d    AD V
AD (       AC
I5
F   L   8 T	   BBE A(D0m
(A BBBFf
(C BBBI H    
T   BBB B(A0A8D
8A0A(B BBBHL    (   BHB B(A0A8D`
8A0A(B BBBB      $     DD
H $   @ ,
s    Fw
CY
GP  (   h 
`    HK
EmKHG   0    
    BAA D0n
 AABF 0        BAI G@
 AABB 0    3   BDA G@
 CABG (   0 U    QDL e
AAA     \ x   D
E H   x T    BBB B(F0H8G@{
8C0A(B BBBD  8        BBA A(D0E
(A ABBK       \    Aa
NG
I    $ [    |   8 D_    Ay
F   T s    T   0   l     BAI D0d
 CABF 0    \    BFC G
 CABG(    (<    BAD qAB        <;    AV
E4    `    AHD w
CAHP
EAJ  $   T P   AC
G
B  ,   | H   AC
M
G   4     J   AJD@K
AADHPP[HA@         A[
DI
G        BGB B(D0A8G
8C0A(B BBBK_dJBHWNBnNaAJL_BKITAh
NB  l    C   BBB B(A0A8UlFA
8C0A(B BBBAOYB `   $ ,F   BBA D(D@Q
(A ABBD|
(A ABBEh
(A ABBE   (    .    AJGI
AAC    X/S    tP    /:   BBB A(A0n
(A BBBC}
(A BBBA   $    1g    AAG [AA0   D 1    BEA D`f
 AABJ H   x t2   BBB B(I0I8Kp
8A0A(B BBBD      3    AD0
AI      4    AO x
AG      5            5    Gc
F    <  6    ALJ
AHT   ` 6   BGA C(J
(A ABBATN[AF
MO     8}    GR
GH    h8   BBB B(D0A8D8C0A(B BBB  H     <;   BBB B(A0A8Dp~
8D0A(B BBBA4   l =   BAD G
 DABA   H    ?y    BBA A(D0Q
(D ABBDD(D DBB  L    ?   BBB E(A0A8GI
8D0A(B BBBF   4   @ \B    BAA z
ABG^
ABGH   x B(   BBB B(A0A8Dp'
8A0A(B BBBA8    D    BBB D(D0
(D BBBI(     Dg    BAA {
ABF0   ,  E   BAA DPm
 AABG ,   ` F    BAA ~
ABA       |G    G
AH     H   BBB B(A0A8D`x
8A0A(B BBBHH    I   BBE B(A0D8F
8D0A(B BBBAL   D 8K    BBA A(D@J
(D ABBC@
(F ABBE  8    Kg    BBA A(D0]
(J GBBL  0    L    BDD J
 AABDL    L   BEB B(A0D8J
8D0A(B BBBJ   L   T N   BEB B(A0A8J0
8D0A(B BBBD   <    O3   AFI
CAICFA   0    Q    AHJ `
DAH]DA0    R    BAA D0f
 AABF (   L pR   AC
I
H      x S    D]
Gi
G     tT   AD0v
AD       V    D0
G      V    QP
Gz
F  8    0W   BBB A(A0V
(A BBBK,   8 X/   BAA 
ABK   H   h Y1   BBB B(D0A8DPQ
8D0A(B BBBA       Z    AD `
AJ H    [   BBI G(D0D8Gpr
8A0A(B BBBA X   $ \   BBB A(A0D
0D(A BBBFs
0A(A BBBE <    L^   BBB D(A0
(A BBBG       _            X`	   AD 
AA 8    Db    BBA A(D0
(A ABBK (   4 b   AC
K1
H     ` d    AJ
MK
M ,    e0
   AC
FEHq
H  `    oG   BBB B(A0A8NI
8D0A(B BBBBa
8M0H(B BBBJt     s   BHD D@
 DABA
HMPRDHRP[HB@QHMP]HA@M
HTPIDHMP]HA@uHTPWHB@       uU    De
Gd        u   BIE I(A0A8D
8C0A(B BBBD|LgBcMYA`SBwLaAMbAVCBSkLaB  L   |! @   BBE B(A0A8D
8C0A(B BBBH   L   !    BEB B(A0A8N
8A0A(B BBBA   L   " `G   BBB B(A0D8J 
8A0A(B BBBA   8   l" `-   BAA 
DBGG
DBK   D   " T    BAA N
ABKG
ABFF
ABA   <   " ̍   BBD A(G
(D ABBD   0   0# ,    BAA D@
 AABD (   d#     AAD0p
AAH (   #    AC
BF
D   (   # \   AC
K
C  H   # ԓ   BBB E(D0A8D
8D0A(B BBBK(   4$ H   AAG
AAGP   `$ ,   BBA H(I0
(A ABBIh
(F ABBA    H   $ hd   BIB B(D0D8Dp
8C0A(B BBBB    %    BBB B(A0A8DpxLUxBpxxPFAHDHGIpa
8A0A(B BBBFxHHEapnxHHGPpxAHEjp]
xHHEJH
xAHEBPxLGEIpbxMPPIpHxFPPIp@   & l   BBB A(A0D@P
0C(A BBBJ,   T&    AL
VKV
D  H   &    BBB B(A0A8Dp
8C0A(B BBBC 0   & ,$   BAA D0
 CABA H   ' (   BBB B(A0A8D@
8D0A(B BBBC <   P' v   BBA A(G
(C ABBA   T   ' s   BID G
 CABEMcAPM]A  ,   ' $   AC
FM
J      (     AJ
A
D(   <( P   AJ
E
F   (   h(    AJ
DH
E  ,   (    AC
HD 
H  H   ( H   BBB B(A0A8Dp
8C0A(B BBBE,   ) G   AH
DEIN
KD   @)    BGB A(C0G
0A(A BBBI   (   ) T   AC
M
G   ) 8   BJB B(A0A8G`G[B
8D0A(B BBBAbHVAR^AyP[A]R[BGR\AGR\AYR[AXRWB   ,   * T    BDD k
ABH   L   *    BBB B(A0F8D
8C0A(B BBBE   L   +    BBG E(A0A8G
8C0A(B BBBI   (   h+ <   ADJ
CAG@   +    BBB A(A0D@
0C(A BBBB    +    BBB B(A0A8DpxATxApxATxAp~
8A0A(B BBBGDxLYxBp
xALBxAACPpt
xALxA\pQ
xNQc
xAEV
xNL   $   , 	   DX
DF
Jh
H H   ,    BBB B(A0A8DPv
8D0A(B BBBG8   - $   BQA A(D@
(C ABBH H   T- e   BBB B(A0F8G`
8C0A(B BBBB     - ,    Dh
Dh
H      - (
   BBB B(A0A8GA
8A0A(B BBBD1_PApXYAIGB5
QE <   T.     BBE D(A0
(C BBBH   L   . 8   BIB E(I0A8M
8D0A(B BBBE   p   . x3   BDB B(A0F8D
8C0A(B BBBGULRIIwL`A@   X/ D	   BAA D0Q
 GABMF
 AABF      / 
    A@
GF
J (   / 
    AAD P
AAH @   / @   BBB A(D0J@
0D(A BBBG<   00    BBA A(G>
(C ABBE      p0    BBB B(A0A8GGJHA
8D0A(B BBBE	BBBIDBHFCFHK QKHK  H   1 '   BBB B(A0A8DPt
8C0A(B BBBB 0   h1 (X   AAJ
CAJ       $   1 *    AC
BHg
K ,   1 x+   AC
M
F   L   1 8.   BGB B(D0D8IcS
8D0A(B BBBB   ,   D2 4   AF
BGLS
A  4   t2 6   BAD J 
 AABA   ,   2 7v   AC
M
F   (   2 :    AAD0f
AAB @   3 T;    BBB A(A0D@
0A(A BBBG @   L3  <   BBB A(A0DP
0C(A BBBG    3 l>    G
H   3 @?B          3 |?6       4   3 ?9   AAD 
AAAS
FAF`   4 @   BBB B(A0A8D`
8D0A(B BBBI}
8A0A(B BBBI L   p4 B   BBB B(A0A8D
8A0A(B BBBF   4   4 E    AAD {
CAKD
DAG  @   4 dE$   BBB A(A0DP
0A(A BBBH `   <5 PFW   BBB A(A0
(A BBBEH
(A BEBFH
(C BBBG 4   5 LI    AAD C
FAHD
CAH 8   5 I;   BDA K(DP
(C ABBE $   6 J#   AC
I
AH   <6 K   BBE B(A0A8D`
8C0A(B BBBA ,   6 DM    BAA K
ABF   ,   6 M   ADG
CAA   L   6 N   BBB B(D0A8D
8C0A(B BBBF   \   87 P   BEI B(D0A8I
8C0A(B BBBENbA    7 DUZ    AQ
AFH   7 U|   BBB B(A0A8G`X
8C0A(B BBBK 4   8 W    BDA b
ABD[DB  0   <8  X    BDA D0e
 CABJ (   p8 X   ADG
CAJ\   8 Y   BEE B(D0A8IHKFu
8D0A(B BBBI  4   8 ^   BAD Gi
 DABB   L   49 X`   BBJ B(A0A8JJ
8C0A(B BBBF   @   9 b   BBB A(A0D`i
0C(A BBBA @   9 td   BFB A(A0D}
0A(A BBBK8   : e   BBA A(D`
(D ABBH   H: thc    D N
A    d: h.    Aa
AJ |   : h   BBB B(A0A8J
8C0A(B BBBDhP\BKR[ADiA 0   ; Xq    BAA D0|
 AABH  @   8; $r   BBB A(A0D`x
0A(A BBBD4   |; s    KDD uABEH     ; Ht    Gg
B(   ; tw    ADD f
CAE  H   ; 0u   BBB B(A0A8D`
8D0A(B BBBJ H   H< vK   BBB B(A0A8Dp
8A0A(B BBBF H   < x   BBJ B(D0C8I
8D0A(B BBBD8   < lzD   BGA A(J
(D ABBE8   = {t   BBA A(D`
(A ABBH L   X= |   BBE A(D0
(D BBBGY
(A BBBH(   = 4~   AC
M_
HH   =    BBB B(A0A8D`
8D0A(B BBBE <    > ,    AGyNBBBBIW
AA(   `>    AL
FD]
D    > 0    AG
CF$   > R    Ag
HZ
AF   H   > D   BEB B(D0A8D`N
8A0A(B BBBA8   $? |    BBA A(D0E
(C ABBI ,   `? %   AC
Pq
K   (   ?     A\
BEM~
A  ,   ? $   AC
M/
H   D   ?    AI
AGLR[A-M]AH   4@ 8    BED D(G0z
(A ABBJR
(M ABBLH   @ z   BBB E(D0D8Dp
8A0A(B BBBG 8   @     BBA A(G`
(A ABBA 0   A D    BAD D0
 CABI d   <A  u   BEB B(A0A8DPXW`[XAPc
8D0A(B BBBIXT`GhEpUP,   A ~   AC
DEG
F    A h    G
AH   A    BBB B(A0A8DPY
8D0A(B BBBA D   <B P   BFB A(A0G
0A(A BBBA      B           B  	   BIB B(A0I8GQZFI
8A0A(B BBBHJEFNLXFI       (C     FQ
I`  `   LC U   BBE E(D0D8Jpr
8I0H(B BBBEh
8A0A(B BBBFl   C 6   BBB B(A0A8G
8D0A(B BBBHxQMAQKA  H    D ܼ   BBB B(A0A8Dp
8A0A(B BBBA L   lD    BEE B(A0D8G
8A0A(B BBBA   <   D    BGA A(I
(C ABBA      D ,   D@y
C    E    BGE B(A0D8L)DBBBFPLIGEDJAJGBHGJHJAQVR
8C0A(B BBBB   D   E @   BLA GAJF_
 AABA   8   F ]   BLA A(FP
(A ABBEP   PF    AHTO
AAA
AAEcTYAZ
MB@   F H    BAA D0q
 AABCT
 GABJ  X   F    BBB B(A0A8DPXH`RhMpKPL
8A0A(B BBBH (   DG x   AC
K
A  @   pG     BIE A(C0O@x
0A(A BBBM <   G Y   AD0
MN[
TQt
AKT
[E  ,   G -   AH
HH
A  H   $H U   BBB B(A0A8DP<8A0A(B BBB      pH ,   BBA D(G@HIP]HA@\
HIPVlHKP`HA@{
(A ABBGY
HMPRLHMPW@DHRPWHB@IHLP_HB@\HMP\HB@  8   I h
   BBA A(D0
(A ABBC    @I <d    D u
G  8   \I g    BBA A(D0]
(J GBBL  @   I     KEA A(D0_
(A ABBE`  (   I 0    AAD y
AAG      J     AC
EO
A<   ,J  p    ACF W
AAED
HAKOMO ,   lJ 0    BAA N
ABK   ,   J    BAA 
ABA   \   J    BBE B(A0A8G
8A0A(B BBBDMUA L   ,K  ?   AAD A
AAGD(L0a(B Q(M0](A i(L0^(A  H   |K d   BEB B(A0D8D`@
8A0A(B BBBA(   K 4j    FDD XAAA (   K x   AAD 
DAG    L lf    AO
HM   @L    A=
J     `L ,K    l@   tL hQ   KAD 
DBEA
ABDh @   L    KAD 
DBFA
ABD D   L    JAD 
AAFH` D
MOH     DM Xc    D   D   \M 9   KAA X
ABHA
EBHAB$   M d   AC
G
H     M j   BGI E(A0G8NMOFHFHFHFHP
8A0A(B BBBAQFMPI]FPMI]FPMI]FPMIxFPMIZFPMI     N l   BBB B(A0A8DEZAo
8A0A(B BBBEHUGRcROAHGRD
8A0A(B BBBAgE_A  L   xO d   BBB B(A0D8I]
8D0A(B BBBH   (   O A   AC
P
G  O    BBB B(A0A8GIABBBeA
8A0A(B BBBJHIDBBBmUMODBBNDHMHHHHHDBBQ@SHGBAPhGBAX7NBAPWBBAWGFDAHBHHDBAQ?NBAKZIBAP8
IABBAK{OHGBAXKODBANsLBAP
IABBAEGBA]AIOGBAZ`
ERHGBAP
GBAE  L  R ,#   BBB B(A0A8DMHBBB\tVHGBAKBGIAIADBARyMRDBBI_
8A0A(B BBBFrLBAKAPTGBAP
MHBBBEdNODBAIGBAK      S |*   BBB B(A0A8J

8A0A(B BBBF
L
F
REAR
~
P
H
NBAP

U
H
GBAK

N
B
A\
8   T 9    BBA A(LP
(A ABBA (   T D:/   J
IXH        T H;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @KL                    @           -4
                     p       l<
                     e       x<
                     k       0
                     u       <
                    s       <
                    t                            V                            h                                       <
     !     <
          <
     <
     3     <
                          h                            V       F                    d       <
                    b       l
                    t                            p                                       <
                     a                            t       <
                     c       <
                    d       <
                     x       <
                     e       <
                    P                            h       l                    n                           p       -4
                           
=
                    q       f                     r       
                                                V       =
                    w       +=
                                                           4=
     7=
     :=
     ==
     @=
     
     K=
     C=
     C=
     L     C=
     C=
          E=
     A=
     G=
     J=
     M=
                A=
     ~     ;     O=
     U=
     Y=
     ]=
     a=
     e=
     i=
     m=
     q=
     <<     u=
     w=
     C=
     y=
     ~=
     =
     ==
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     =
     >
     >
     >
     >
     >
     >
                     u       %>
                            )>
                     s                           t       f                    r                            V                            h                                       0>
     A>
                     !                     e       R>
                    l       \>
                    l       i>
                     s       y>
                     S       >
                     R       >
                     R       -4
                    p       E                    p       >
                    m       C                            l
                    t                            V                            h                                       >
     >
     >
             ??
                     d       >
                     D       >
                    c       >
                    e       >
                    t       >
                    N                            h                            V       >
                                                            >
                     d                            h                            V                                       "%                                     >
                                                 9     1
                                k     >
             L     ?
              Z     ք
             "                                                                          "%     pm
          m
     >
     ?
          .?
          m
          F?
     >
     X?
     ?
     m
     ք
     p?
                     
          Ɇ
                                             
          
                                            
     e      
                                            

     P.     
     @                               0
     @     7
     {                                     Q
     0     V
          0                          O     ]      
                                             k
     `     t
                                             1
     p     
     S      T     @T                     
     @     
                                             
          H
                                            
     N       ʇ
     N             s      Ӈ
     s      E     E      x<
     k      ه
     n      2
     d      &     p      {=     b      
     M      
     m   	   
     c   
   J?     P      l     D      4
     L   
   f     r      |
     S      	     `	             d             
     
      
     
     
     
     
     
     1      
     '
     .
     5
     <
     C
     K
     Q
     X
     ^
     e
     m
     t
     {
     
     
     
     
     
     
     
     
     
     
     Ĉ
     ˈ
     ӈ
     
     
     
     
             
     
     
     
     
     "
     )
     0
     8
     ?
     F
     L
     R
     Y
     `
     h
             p
     w
     ~
     
     
     
     
     
     
     
     
     
     
     ɉ
     Ӊ
     ۉ
     
     
     
     
     
     

     
     
     %
     .
     5
     >
     G
     N
     W
     d
     m
     x
     
     
     
     
     
     Ɋ
     Ԋ
     
     
     
     
     
     
     !
     )
     2
     <
     I
     S
     `
     j
     w
     
     
     
     
     
     
     
     
     Ë
     ͋
     ً
     
     
     
     
     
     
     *
     2
                     8                          @              `            8                          l
                    t       <
                           H
                           >
                                                h                            V                                       <
     P
     H
             t8
     _
     V
     O          F     [
     e
          Y     e             
     @
     @	     P	     k
                     v       s
                     n       {
                     q       
                    t       
                    c       <
                    s       
                    S       
                    a       
                    A       
                    p       <
                    g       
                    y       Č
                           ό
                    b       ܌
                           
                           >
                     w       
                                               V                            h       p                           
                                                                
     
     `
      
               `                             
                    a                            V                            h                                       
                    a       >
                    N                            V                            h                                       l
                    t       $
                    E                            V                            h       3
                    s       =
                    e       {
                     q                                       c
     
     i
     A     p
     v
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     *     

     
     
     
     $
     (
                                  :     /
     6
     ;
          A
     E
     L
     S
     ]
     a
     k
     q
     u
     z
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     H     2
                                                                                                                                                                                      t
     %                                                                                                                                                        ,                                                                                       -     `                                           %       7
                                                                                                                                                 ,                                                                                                                                                               .                                                                                                                                                        =     0                                                                                                                                                                                                                   s     S                                                                            0                                                                                                                                                            5                                                                                                                                                                                                                             9                                                                                                                                                                                                                                                                                                                                                                                        1                      "                                                                            *     }                                      >                                                                                                                                                                        n     .                                       2            g     x                                                                                                                       <                 u                                      E     #      M     1                      V     .       [7
             \     4       d                                                                x      m     &                                      v           }                                                                                                                                                                                                                                                                         t                                                                                                           x           k                                                                                                                                                           t                           2                      4                                                                                                                                                                    ~                                                      *                                                                             Y                                                                  z                                                                                                                                       u                                 $                                                                                                                                                                                                   Y                                                                                                             u                                      )     `                                                  z            0                           &            7     p                            2                                       A     '                                                      8                           K                                                                                           Q     i                                                  ]     2                                                       c     x                                                       m     w      v                                                                                                                                              <                                                                                                                                                                                                                                                              	                 7                                                                                                                             6                                                                                                                       O     v                                                      9                                                                                                                                                                                              v                                                                                                                                                       0                                                                                                                                                                                                                                                                                                 F                                                                                                                                                                                       V                            -                            ;     p                                                       ;     3                                                                                                                       E                                            R                                            X                       9     (                                                        ,     _                                                                       a     c                                                                      \                            r                                                                                            k     8                                      h                                                                                            s     6                                                                       &                                                                                                                                                                                                                              (                <                                       z     &                                                                                                                                                                                                                                        u                                                                                      o                                                                                                                                                       t!     !            g                                                                                                                                                                                                                                                                               !                                                                                                                                       w                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      E                                                            pP                                                        A                                  `     4                                                                                                                                                                                   X#     7                                                                                                                                                                                                                                                               
     X                                                                                       \                                                                                       f                                                                                                                                        !                                                                                            *                                                                                                                   4           <     /                                      E                                           Q            M                                           [           d            n                            y                                                                                                                                                                                                                                                            }                                                                                                                                            I            .     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  H                                                                                       o                                            b                                                                                                                      /     a                                                                                                                      ;                                                                                                           q                                                                                                                                                                      ?     j      A
     k                                                                                            ~                                                                                           t                                           i                                                                                                                                                                                            q                           o                                                                                                                                           8                       
           0                                                                                                                                                                   "     F                                                                                                                                                             &                            2                           v            ;     j                                                                                                                                                                                 G           P     s                                                      Z                                                                            h            v4
     w      q                                            |           P                           j(     w                                                                                                                                                                                                       )                                                            G                                                                                                                                                                                      )                                            f                                                                                                                                                             G      	                                                           [     i                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                                                1                                                                                                                                                                                                                                                                                                    
            >                                                                                           e     c                           `                                                                       Z       ,                                                                            :           X                                                                            <
                                                                                                                            C                                                                                                                                                   P     :                                       ]                                            h                                                                                                                                                        2                                                            q           I                                                                                                                                                            ~                                                                                            k                                                                                                                                                                                                                                                                                                                  F                                                                                                         $                 *            q       (                                                                   C     q           h                                                                                                       s                      ?     3                                                                                                                                                                                                                                                                                                                                               z                                                                      &                                                                       .                            6     t                                                                       ^            @                                                                            P                                                                                                                                                       `            k                                           l                                                            w                                                                       *                b                                                      W                                                                                                                                                           q                   Ƥ     w                                                        !                                                                                                      
                                                 *      :     t                                       ,#                                                                                                                                            s                                                                                                                                                                       f                                                                                                       .                 k                                 ~     |                                           }                                                       |)     e                                                                                 
     8                                                                                        4                                                                           +                                                       -                           ?     q                                      "     u                       _                                           !     y                                       Y     0                                           n      I                           S                                                                                 h                                                      _     A                                                                 o                           z                                                                                                                                                                                            %                                                                                                                                 n                           g                      d                                                                            a                            '     {                                                                                  1                                 "                                                                                                                                                                                                                                                                                                        "                                                                                                                                                                                                                                                                                             H                                                                                           >                                                                               a
     
                            g                                                                                                                 D     1                                                                                       h      J                 #     5       -     
                                                                                                                                       3           G     1                                                                       M     =                      X                                           e     |      c     A                      z     |                                                                                                                                                 ~                                                                        G                                                                                                                                                                                                	                                                                                                             F"     e                                                                                                                                                                                            a           Q                                                                                   s                                                                                                                                                                       }                  o     P       L     -                                                                                                                                                                                                                                                                                              -            r                                                           h                       #     {                                      +     :      6     (                      @           I                {                                       #     Z                                                                                                                                                       (                                                           S                           =!     l       e                                                                                                                                                                                                                                       p     3                                                                                      v                                                                                                                                                                                                                                                                   p           +                                       p                                           n                                                                                                                                                                                                                                                                                                                                                                                                                                              M                                                                                           J                                                                                                                                                                      !                                           u                                                                                                                                  P     C                       
     0                 )                                                                           :                                      #     +                                       v                                                                                                                        F                                                                            Q                                                                           \                                           g           ,                           u                           l                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 M                                                                                                                                 ]'     m                                                                                 
                       J            
                 <       l                                       &           1                                                                                                f                                                                       :                                                                                                                                       ]$                                                                            D                           R                           !                            ]     c                       -            g                                 '                                                                       o     S                       i                                                                                                                                                                                                                                 M                      -                                                           $                                                           y     N                                                                                                                  /+                                                                                                                                                                                                                                               J                                                                                                       v                                                                                                                                                                             G                                                              -     O                  ~+                                                                                                                                                                                                                                                           E                                        9                                                                                       j                   #                           5     (                                                                                       T     s      D                                       U     0                      d     y      >           p     r                                                      k     P       +                           s           ~            U     i           j                                                                                                                                                  +                                           *     \                       1                                                                                                                E                                                                                      w                                       {            E           C                                                                                                      b                                                      y                                j                                                                                      ,     ]                                                                                       A                                           !                                 u                      R     D                                                      E                       "%     f                                                                                                      `           l     r                                                                                                                                                                                                                      /                       y           V     D                                                                           n                                                                                                      M     n                                                       /                       h     y                                                                                      ,     H                                            `                                            3                                                                                                                                           '                                       H(                                                                C      [~
                 C                                           w                                                                                                                      s                                                                                                            ؀
     #                                                            d                                                                                                                                                                  +                            "                           <     #                                                                                       B     x                                                                                                      X     k                                      k     ;                                       r                                                                            |                 n                                                       j                                                                                                                                                                                                                                                                                                            %                                       o           r                                                                                                       t                      $     d       !            C)     z                                                      #     i                      5     J                                                                       A     z                                       M                           W     g                                            *                                                                                                       ^                                           h     )                                                                                                      r                            '     I                                                       ~     1                                           h                                  -                                                                                            "     a            e                                                                                           I                                                                                                                                                      }     N                       w-                                      @$                           T     :                                                                                                                                                                                                                                                                                   O                                                                                                                                                                                                                                                      -             6                            J                            V      "                                      d      J      p      @                                      }                  B                                                                                                                                                                                                 K           )                                                                                                                                                                                         t%     b       ,                             L                                                                                        z            ?                                                                                                                                                                                !                                                                                                       !                                                                            |            %!                                                                                                                                                                                                      2!           e(     t                                                      B!            H!                                                                                                                                                      T!                            $            J#                            e!                                                                                                                                                      q!                                                           '     5       !     y                       !                                                                                                                                                            !     N                                                                                 !     K      !            !     $                                                       $           H                            !                            !                           E     z                                                                                       (           {            !     $       T                                                                           !                                                                                                                                                      !     C                                                                                       !                            "                                            "     D                                                                      "           "     d                      '"     v       i     |                                                      7"     K                                 +     L                                                       B"     e       O"                           b"     y      6!                                                       |"           w                           "                            "     z                                      )     |                                                  o                           L'                                                h                      "                                                                                                           D                                                                                                                                            "     d                                                                                      "     u       9     J       -                                                                                                                                                                      %     U                  "     L                                                                      "                                                                                                           "           "                                                           "     a                                                       "     H                                                      #     B           I                                                                                                                                                 d                           }                                                k      #     i      '                                            (#                           &     2                      5#     F                      F#                                                                                            T#     7                       c#     {                                                                                                                      t#                                                                                                                                      %                                                	                       #     a      #                           #                                                                                                           #     c                                                                                                      #     	                                                                                                                                                                       #                                                                                            #                                                                                                                           $                                                                                            +"     v                                                                                                                       %$     #                                      4$                                           <$           G$                                                           S$                           Y$                                                                  L            z                                                                                                                       a                            f$                                                                                            '                                                                           7&                                                                                           n$                            t$     ?                                                                                                                       $     ~                                                                                                                       {$     D       M-     G                                       $                                                                                            $     d                       $           $     "                                                                                                                      $     ~            o                                                                      u'     l                                                                      $                           $                                                           $                                           $           \     k                                      #            (           $                                                                           %     6                                       %                                                           
                                                                                                                                                            '%                           <%     N                                                      8%     N                                      J%                                                                                                                                                                                        P%     f      ]%                                           p%     b                                                                                       |%     v                      %                                                           U-     M                       %            s                                           %                                                           %     U       %     B                                                      %                                                                      %                           %                                                o                                                      %                                                                           
&     ~                                                                           B            1                                                                                      &                                           3&           E&     Q                      X&                                           9'     m                                                                                                                                                       ^&     O                                                                                                                      q&                                                                                                      +     R                                                                                                       }&           &                           &     `                                                                                                                                                      &     2                                                                                                                                                                                                                                                                                                                      &     P                                  e     =                       &                                                                                                                                                                           &           !     K      '                                       '                                                                                                            '     A                                       !'                                                                                                                           "                           b&     O                                                                                                                      5'     m       $           B'                                            Q'            *     ^                                                       Y'     m                                      a'                                            q'     l                                                                                                                                                      '           '                                                                           '                                                                                                                                                                                            '                                                                                                A                                                                                                                                                                                                                                       '     I       D.     K       &-                                                           )                                                                                           '                                                @       (                                           '     @                       '                                           '                                                                                            9#     F                                                                                                                                      U                                                                           "                                                                                                                                                                           2)     @      '                                                                                                                                            N                                                 
       (                                           !                                                                                                                           (                                                           $(                       8$                                           $                                                                                                                                            "                                                           0(           D(                                                                                                                                                                                                                                                                           Y(                                            a(     t                                                                                                                                                                                                                                                                                                                                      `                                                                                       q(                                                                                                                            y(                                                                                                                                                                                                                                                                                           o)     [                       (                                                                           (                           (                                                                           (                                                                                           +                                            (                                                                                                                                                                           F     x                                                                                                                                                                                                                                                                      (                                                                                                                           (                                                                                                                                                           L!                           (           )                                                                                       )     >                                       &                                                                                                                                           *)                             )                                                                                                            i!                                                                                                                                                      &)                                                                                                                                 r                                                                                                                                                                       .)     @                                                                                                      &     ~      ?)     z                           h                       X)                                                                                                                                            k)     [                       6,     
      -     Q                                                                                                                                                                                                                                                                                                                                                                   <.                            x)     e                                      )                                                                                                                                           #     B                                                      <                                            D,                                                                                           !     X                   )                           R,                                                                           )           )                            )     |                                                       )                           )                                                                           )!                                                                                           )                                                                            t,                                                                                                                                                                                                                                           )     g                      *           *     }                                                                                                                      7*                                                                                                                                                                                                                                                                                           =*           ,                                                                           O                                                                                            ]-                                           %                                                                                           U*                                                                                                           }(                                                                           
                                            i*                                                                                                                                                                                                                                                           }*                            W                                                                                                                                                            !                                                                                                           *                                           E                                                                                                        *                                                                                                                                                           *                                                                           *                                                                                           *     4                                                                                                                                                                                                                                                                                                                                                                      *     =                                                                                                                                       *     ^                       *     V       M                                                                           '                                                                                                                                                            *                                           T%     f                                                                                                                                                                                                                                                                                                                                                                                  "     ;                       )                                           g#     {                                                                                                                                                                                                                      e'                                                                 H                                                                      *     \                                                                                                                                                                                            r                                      ,                            *     L                                                                                                                                                                                                                  +                                                                                                                                           %                                            *                                                           /            +     !                                                                      +     I                                                                                                                                                                                                                                                                                                                                                                                      X!                                                                                                                                                                       (     W       $                                           ++                                                                                                                                                                                                                                           8+     W                                                                                       @+     P                                                                                                      %     6                                       +                                                                                                                                                                                                                                           S+           f+                                                                                                                                                                                                                w                                                                                 +     p                                                                                                                                                                                                                                                                                      z+                                                                                                                                                                                                                           '                                                                                                                            +                                                                                                                                                                                                                            +                                                                                                                                                                                                                                                                            +                                           K$                                                                                                                           ,                            -                                                                                                                                                                                           +                                                                                                                                            U'            "                                           #                                                                           +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +                                                           -            +     R                                                                                                                                                   +                                                                           +     p                                      +                                                                                                                                                                            0     ]                       +     _       -     	                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
,                                                                                        ,           ,,                                           2,     
      u&                                                                                                                                                           #     a                                                                                                                                                                                                                                                                                                                                                      
     d                                                                                                                                                                                      @,                                                                           k                                                                            N,                                                                                           \,                                                                                                                                                                                                                                                                                                                                                                                           p,           ~,     m                                                                                                                                                                                                                                                                                                                      ,                                                                                                                                                                                                                                                                                                                                                                                            ,                                                                                           ,                                                                                                                                                                                                                                                                                       +%                                                                                                                                                                                                                                                                                                       f"     y                                                                      ,                                                                                                                                                                                                                                                       %     >                                                                                                                                                                                                                                       ,     H                                                                                                                                                                                                                                                                       ,                                                                                                                                                                                                                      ,            ,                                                           L.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            '           
-                                                                                                                                                                            -     Q                                                                                                                       -                                                           "-                                                                                                                                                                                                                           *     V                                                                       u!                                                                           0-            !                                                                                                                                                                                                            8-     
                                      \)                                                                                                                                                                                                                                                                                                            '                                                                                                                                                                                           '                                                                                                                                                                                           I-     G                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Q-     M                                                                                                                                                                                                                       Y-                                                                                                                                                                                                           -                                                                                            F'                            '                                                                                                           
(                                                                                                                                                                                                                                           D+     P                                                                                                                                                                                                                                      ((                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           I&     Q                                                                                                                                                                                                 a-                           .                                           s-                                                                                                           -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <-     
                      .                                                                                                                                                                                                                           ](                                                                                                                                                                                                                                                                                                                                                                                                                                                            .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           (                                                                                                                                                           z           -     	       .                                                                                                                                                                                                                                           ..                                                                                                                                                           #     c                                                      u(                                                                                                                                                                                                                                                                                                                                                            *                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           )     D                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       b                                                                                                                                                                                                                                      -                                                                                                                                                                                                                                                           ,     m                                                                                                                                                                                                                                      )     g                                                      b                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           e-                                                                                                                                                           4-                                                                                                                                                                                                                                                                                            -                                                                                                                                                                                                                                                                                                                                                                                                                                                      -                                                                                                                                                                                                                                            Y.                                                                                                                                                                                                                      -                                                                                                                                                                                                                                                                                                                                                                                           -     O                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       a     c                                                                                                                                                                                                                                                                                                                                                                                                                                                                       )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           -                           &     `                                                                                                                                                                                                                      -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            H                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                e                                                                                                                                                                                                                                                                                                                                                                                      '                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             .           v.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        !           A*                                                                                                                                                                                           $                           .                           7                                                                                                                                                                                                           *.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           a%                                                                                                                                                                                                                                                                                                                                                                                                           8.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "                                                                                                           @.     K                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       H.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            g.     l                                                      	+                                                           U.           c.     l                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           r.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           *     }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      %                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           )                           O                    f       F                    d       
                    s       .                    p                                            u                     @     L     L     L     L                             W     L     L     '     H     L     M     %M     6M     >M     YM     kM     |M     M     M     M     M     M     M      N     N     N     N     $N     8N     FN     ^N     {N     N     N     N     N     N      O     O     5O     a     DO     YO     mO     O     O     O     O     O     O     O     O     O     O     P     P     P     (P     7P     NP     iP     wP     P     P     P     P     P     P     P     Q     &I             Q     !          F     J                                                                                                                                                                                                                                                                                                                                                             p     Y             (                                       p     {                   p      t                                                   p     D                    p     y                   p     D             P      q     k                   q      Q                    !q     D                   1q     m            `       Bq     D             8      Tq     k             d      gq     V                   vq     P                                                    q     >                   q     >             \      q     w                   q                         q     k                   q      t                   q     >             X                                      
r     m            `       r     k                   5r     D             H      Lr     \             8       _r     }                    sr     Y             0                                                                       ~r     m             `       r     ~                    r     Y                    r     D             0      r     >             h                                      r     o             @       r     R                   s     >             <                                      &s     >             x      Cs     @B                                                   ،     >             P      Ms     0                    is     L                         I                    ws     {                   s     b                          C                    s      t                   s     m            `       H     >             8      s     D             @      s     ~                   s     pK                    t     f                    t     >                    (t     >             \      Ct     H                   _t     }                                                    x     {                        >             4      rt     k                   t     D             (      ȍ     >             `      t     `             p            >             `      t     k                                                                                   t     m            `       t     G                   t     G                   u     >                                                                                        >             @                                      "u     G                   ?u     m            `                                       Nu                         du     Y                     qu     G                   u     >             d      @     k                   u     N             h                                       u     G                   u     G                   u     G                   p     k                                                   
v     G             |      *v     G                   Hv     G             l      bv     @                                                                                                                                                    nv     >                                                                                                                   v     b                    v     >                                                                                                                                                   v     k                                                   v     m            `                                                                       v     k             t                                                                                                                                                                      w     >                   w     i                                                                                                                   'w                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           >w      @                    Zw                    o       aw                    H       fw                     R                                                       
     mw               uw             x<
     Co     
     mw               uw             0                                                                                     0                                                                                     0                                                                                     ء     p                                                                            0                                                                                     0                                                                                          KCOS                                                                                 bjej                                                                            
     ii                                                                                   p                                                                                 {Q                                                                              0                                                                                          S]AC                                                                                 LV                                                                                                                                                                      LV                                                                              ġ     E=(                                                                            ˡ     W                                                                            ӡ     peeb                                                                            ܡ     |                                                                                 sfcs                                                                                                                                                                     gbd                                                                                                                                                              	                                                                                      )                                                                                  BAMD                                                                            0                                                                                     6     SJA                                                                                  MCES                                                                            %                                                                                 +     MDME                                                                            2     cart                                                                            :     ^                                                                            C     sfsn                                                                                                                                                             0                                                                                     H     CUse                                                                            P     _                                                                              0                                                                                     z     DM                                                                              Y     '                                                                             `     FUse                                                                            h     SFAk    OAFS                                                                    l                                                                                   0                                                                                     q     VBox                                                                            x     `                                                                                   J                                                                                 DM                                                                                   i<Z                                                                            0                                                                                     0                                                                                          hsqs                                                                                 Erus                                                                                 iiYg                                                                                 lgea                                                                            0                                                                                          )                                                                                  FUse                                                                            ¢                                                                                   0                                                                                     ͢     !Xe                                                                            բ     sIeR                                                                            ޢ     NTFS                                                                                 ocat                                                                                                                                                               0                                                                                          BSFX                                                                                                                                                                    FDIP                                                                                 EPIP                                                                            0                                                                                     0                                                                                          "h                                                                                  r                                                                              0                                                                                     0                                                                                     0                                                                                          BMS    BMS                                                                         t                                                                                 44                                                                              0                                                                                     0                                                                                          vedb                                                                            š     X                                                                                                                                                             0                                                                                     $                                                                                   -     ii                                                                              0                                                                                     2     ff                                                                            0                                                                                     >     F3                                                                            B     I                                                                            
     >h#                                                                            G                                                                                  0                                                                                     0                                                                                     N     S                                                                              Ӈ
     reeb                                                                            S     SFOZ                                                                            Z     4	                                                                            g     yrrs                                                                            u     BMS                                                                            0                                                                                     E     '                                                                             0                                                                                     z     xadd                                                                            ~                                                                                  0                                                                                     0                                                                                          prgc                                                                            0                                                                                           d                                                                             0                                                                                     0                                                                                     0                                                                                     0                                                                                          X                                                                                                                                                                   MNIB                                                                            0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                          /                                                                               0                                                                                     0                                                                                     +     0vLy                                                                                 )X)X                                                                            0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                                      h$      x$      ZM                                              0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                          pool                                                                            0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     ǣ     ntfs                                                                            0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     ͣ     S                                                                              0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     0                                                                                     ң     3                                                                               0                                                                                     0                                                                                     ٣     S                                                                                              .=
     M     ޣ     `                                               ?                                                         ?                                                                           &            0            :             >     @       D                     M     Z     g     u                    @     L     L     L     L          Ƥ          ̤     ۤ                         '     :     L     ^     p                         ʥ     ܥ                    !     3     F     Y     l                         Ʀ     צ               	          !     (     2     C     T     e     |                    Ƨ                         5     H     [     j     z                    Ψ                         &     8     J     ]     p                    ĩ     ש                    '     @	     	     	                    6            >                                        E            J            O            T            [            _             f            F                         j                        n            r            v            z     	       ~                             
                                                                                                                               +                                                          	       Ȫ            Ϊ     
       Ӫ            ت            ߪ                                                                                                                                                                                                                          '                                                                   #            0            >                            M            ^            k            y                             
                                               ī                            ϫ                                         
                                         !       .     %       =            M            Y            k            y                                         $                                ɬ     "                       Ԭ     (                                                    &                                                               $                                             5     	                                                                                                                                                                                                                                       I     #                                                                                                                       Y
     7                       
                            
     ?                       
     C                       
     !       
            x
     \                                                                       
     s       e
                                                            
            Ӊ
     I       
     d       Ë
     {       
            w
     <       
     v                       
     f                       
     @                                       
     D       
     >       ^
            
     B       N
     X       
     y       
            8
     2       !
     j                                       
                             ~
     =       Ԋ
     c       I
     n       Ɋ
     b       m
                                                            
     _       
     G       
     w                                       m
     [       
     E       ӈ
     $       5
     U       `
     p       
     ]       '
                            )
     k                        
            
     *       W
     Y                                       
     h       Ĉ
     "       S
     o                                       
     (       t
            ˈ
     #                             #                       )
     0                                                                       .
                            >
     V       
     '       
     +       
            
     g                       2
     l       L
     5       
     ~                                                       F
     4       
                                                                            
            
     N       w
     r                       
            
     t                                                       
                            C
                                            
            
     &       
                                                            
     ,       <
     m                                       
            5
     
                                       
     K                                                                       2
            
     F       
     x       
     O                                       X
            ?
     3       

     P                                                        
     
       
     Q       d
     Z                                                       
     R       
     L                                       {
            *
                            ً
     }                       
            
     a                                                       
     e       
     `                                                       Q
            h
     9       %
     S                                       
            
                                                            
     A                                                                       p
     ;            _                                       1     	       <
                                                                            
     z                       
     -                       
            
     M       ۉ
     J                                                       "
     /       j
     q                                       
     ^       
     %                                                                                                                                                       
     .                                                                       G
     W                                                                       .
     T       
                                                            
            0
     1                                                                                                                                                                                                                       ͋
     |       
     u                                                                       
     i                       ɉ
     H                                                                                                                       `
     8                                                                                                                                       
                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                                                            K
            R
     6                                                             	       "                    %                    (                    +                    K=
                    |1
                     .                   .                    -            	       -                                       
                   o            	                          /                   0                            
     @
     0	             B          !     )          8     @     H     
     @
     
     0                                                                                                                       `Y                                                                                                                 `Y                    `Y     
        E             F     	       F            G            G            @H            H            @I            I             J            J            J            `K            L            M            M            @N            N            N            @O            O             P            P     ?             O     ?            N     ?            T     ?             T     ?            S                 `S     ?            R     ?             R                                            0P                     P                    P                     P                    O                    O                    O                    O                    0P                    P                     P                    O                    O                    O                    O                    O                                                    P                    P                    P                    P                    P                    P                    pP                    `P                    PP                    @P                     U                                            w                                                                                                         P                    P                                                                                   w                                                                                                                                                         P                                                                                                                                                                                                                                                                                          Q                                                                                                                                                                                                                                                                                                                                                       Q                                                                                                                                      `U             Q                           U            `V            Q            S            V     	       @v            @W                                    $                                                                                                                                                                                                                                                            T             ?     '        w             ?             m     @            l     @            V     ?     /       @h     @            f     @            `d     @             c     %@            `d     ,@            `d     @            `d     "@            `d     )@            `d     3@             a     :@            `     @@             a     E@            @`     L@            @`     S@            ^     Z@     	       U     b@     	       U     j@            \     n@     
       [     r@            U     ]@            T     w@            [     {@            Z     @            Z     @            T     @            W     @            W                                                            `Y                    `Y                                                                                         pY                                                                                                                  Y                                           Y                                                                                                        Y                    Y                    Y                                                                                    Y                                                                                                                                                                                            Y             
        Z            @[                           `[                           @^            ^            m                     @            `t     @            s     @            s     @             _     @     
       @r     @     
       @q     @             q     @            p     @            `p     @            o     @            @o     @            n     @            n     @            m                                    @`                   _                                                            `g                                                            Pa                                                                                   a                                                                 `a                            '        w     
       	       @v                                                                                                        a                                                                                                                a                                                                                                                        a                                                                                                                                                                 z            a                           @{             }     6       `}     	                   @c                            `            c            c             d            d                            d                         @e            e            @                                                                                                                                                                                                                                                   f                                                                                   f                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    g                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  `                                                                                                                             g                                                                                                                                       g                                                                                        g                                          pg                    `g                    @g                                                                                                                                                                                                                                           	                                                                                                                                                         0g                            	                       	                                                                     	                                                                                     g                                                                 g                                                                                  h                                            h                   g                                                                   g                                                                   g                                                                   g                                           g                                                                                                                                                                                                                                                                                                                                                                                                                                           h                   h     
        h                                                                                                  i            @     	                   j                 :       m             s            t                                                                                                                                                                                                                             Pv                                                                           pv                    `v                                                                                                                                                               v                    v                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           w                    w                    w                    w                   w                   w                   w                                            w                    w                    w                                           v                   v                   v                                           v                   v                   v                                           v                   v                   v                                           v                   v                   v                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           v                   v                   v                                                                                                                                                                                                                                           v                   v                   v                                                                                                                                                                                                                                                                                                                                                                                                                                           v                   v                   v                                            w                    w                    w                                            @w                                                                                                                                                                                                                                            0w                             [=            x     @     =       @     @                  @     #            S@            @x     @                  @     T             @     	       `w                                                                   y                    y     	     	                     Z
     @     @     A     A     A     >
     X?     *A     0A     !     5A     E             o       y            `                                            [=                                                       @     j             q            v            {                                                       #                    '     ?                             	     `	                               Y     Z
                                        (                                        E          b                                                                                                                                                                                                               	                                                                                                                                                                                                               
     
     
             
     
     
     
     
     
                     *            =            I     O     U     `
     Z     b     "%     >
             i     m     q     .
     v     {     L          -
                    
          C          6
                                                            
          
     q
            !            k                    @                                        0            q
       d
!      Ƥ~ k               ʚ;         @B                            0             >     !                     
        0      zKLd        Ќ   [7
      `   ؀
          r               @B                                            
     @
                     `     0                     p     p          p          p     p     p     p     p     p     p     p     p     p     p     p     p     p     p     @>     &                          0           @     @          з          )          P            5     "          0     0     0     p/     (     (      6     7     8     8     .      :     `'     $     %               p                             6@     :@     >@     B@     F@     J@     N@             R@     @B     Z@     @B     m     @B          @B     a@          i@          r          p@      zKLd  0      zKLd        zKLd  w@                                |@          @          ~          ؀
          @      `   @      `   [7
      `   @      Ќ   @      Ќ         Ќ   @        @        
        @                        @            @            `	                             `	             	             `	             	     	     `	             	     	     	     `	                            V             c             o             }                                                          
        
                                                         o    x             $                   
                                                 Е                                        o            9             5     	                            o          o    7      o           o    5      o                                                                                                               6     F     V     f     v                         Ɛ     ֐                         &     6     F     V     f     v                         Ƒ     ֑                         &     6     F     V     f     v                         ƒ     ֒                         &     6     F     V     f     v                         Ɠ     ֓                         &     6     F     V     f     v                         Ɣ     ֔                         &     6     F     V     f     v                         ƕ     ֕                         &     6     F     V     f     v                         Ɩ     ֖                         &     6     F     V     f     v                         Ɨ     ֗                         &     6     F     V     f     v                         Ƙ     ֘                         &     6     F     V     f     v                         ƙ     ֙                         &     6     F     V     f     v                         ƚ     ֚                         &     6     F     V     f     v                         ƛ     ֛                         &     6     F     V     f     v                         Ɯ     ֜                         &     6     F     V     f     v                         Ɲ     ֝                         &     6     F     V     f     v                         ƞ     ֞                         &     6     F     V     f     v                         Ɵ     ֟                         &     6     F     V     f     v                         Ơ     ֠                         &     6     F     V     f     v                         ơ     ֡                         &     6     F     V     f     v                         Ƣ     ֢                         &     6     F     V     f     v                                                                                                                                 	           
                                           @                              8                             '                `          p     @     x                    Ь     P           @     N            0N            XN            N            N            N             O     y       (O            PO            xO            O            O     #       P     #       HP     #       P            P     c       P     (       P     5       (Q            PQ     }       xQ     p       Q            Q     1        R            (R            PR            xR            R            R     &        S            0S            `S            S     |       S            S             T            (T            PT            xT            T            T            T            U     s       HU     _       xU            U            U     r        V     _       (V            PV            xV            V            V     #       V     }       W     1       @W     q       hW     q       W     _       W            W            X     d       @X            hX     (       X            X            X     J        Y     p       PY            Y     &       Y     
       Y            Z            @Z            pZ     
       Z     B       Z     J        [            0[     J       `[     J       [     J       [     J       [     J        \     5       P\            x\            \     _       \     
        ]            0]     _       `]     _       ]            ]            ]             ^            (^     r       P^     r       ^     c       ^     r       ^     B       ^            _     ~       @_     u       p_     9       _     7       _            `     |       8`     2       p`     <       `            @     %       `     m       `     u        a            Ha     u       pa     t       a            a     "       a     A       b            8b            `b     i       b     m       b            b     b       c     r                        
                   8c     q       hc            *     n                         c            _       H     i       `
     
       c     
       c     
        d     p            n       (d     @       x     b             h       (                                    +     5       ,     5       (     5        ,     5       8            P                             J       Pd     n       xd            d            d            e            He                        /usr/lib/debug/.dwz/x86_64-linux-gnu/udev.debug ?Sh6qx,Au36d1b2c7cc8c07f40e0f9c0fb0b3c1bd070de1.debug    < .shstrtab .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .note.package .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame .tdata .tbss .init_array .fini_array .data.rel.ro .dynamic .data SYSTEMD_STATIC_DESTRUCT SYSTEMD_BUS_ERROR_MAP .bss .gnu_debugaltlink .gnu_debuglink                                                                               P      P                                                 p      p                                     &                         $                              9                                                        G                                                       U   o       x      x      l                             _                                                    g             $      $                                   o   o       5      5                                 |   o       7      7      @                                        9      9      5                                B        o      o                                                                                                               p                                                   8                                          У     У     |                                          
      
     	                                            0
      0
      >                                           n      n     "                                                    8U                                                  0                                                                                                                                                                                                                                                                    P                                        Е     Ѕ      
                                                    ,                                          0     0     `                              3                      
                             I                      P
                              N                          D                              `                          4                                                         o                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ELF          >            @       x         @ 8 	 @                                 4      4                    @       @       @      q      q                    P      P      P     dS      dS                                  8      @                   `     `     `     @      @                   8      8      8      $       $              Ptd   k     k     k                        Qtd                                                  Rtd                                              GNU gO\~ԼM    C   e      	   %Z   p    A
\\ 9J	
P5(	0@#     e   h   i       j       k           l   m       n       o   p       q   s       u       w   y   z   {   |       }                                                                                                                               0AŦea'88CcWD]JQfM9Z.=Ƅf"?1̦jh)~/&^"d18&/9};i|k.imcCrjկ Y3G;AK'("fQ\/hw/p>j?߽EE%:21b3fZ h7l.\`n3}"=֯OKpzZn%ڹ{%H^[3j/*y3R^{:r}:r٤.QΰHK Ku                                                 O                                           g                     1
                     
                                          c                                           o	                     u                                          o                                          e	                     F   "                   5                                          
                     d                     X
                     -                                          
                     
                     (                                          r                                           l                     3                                          W                     	                                                                                    =                     P                                          	                     O
                                          V                     	                                          
                     
                                           
                     A
                     
                                          $
                                          
                     	                                           
                     n
                     B                     :                     )
                     W                                                                                    O                     	                                          	                                                                                                         	                                                               -                                                               	                                          U                      <                     '                                                                                      I                     
                     
                     

                     A                     }                                                                 ,                                            >                        
                 
 0             =   
        t          
                
       ,         
 p      ~         
                 
        5      R   
                  
                 
       t          
                 
                 
 _      I           
 K                
 P      	       W   
 m      #          
       #          
        t          
 `             5   
             u   
 n             g   
       	         
 `      5         
        [         
 `                
 P             ?   
       1       r   
        s         
              
   
              z   
              3   
       <          
       {          
        ?      m   
        |       f   
 m      #           
 K                
 a            ]   
              M   
       M       I   
 0      3          
 `      F         
 `      +      B	   
                
        1          
 Ў      \       `   
 `                 
 K      
          
                 
 0               
       {       	   
 p      1           
 K                
                 
       \          
 `            /   
                
 0      1      U   
       t       v   
                  
       1       |   
 P             c   
 0               
                 
 ^      6                                                               m   
        1       4   
                 
        
           
 K             *   
 P                
 K      q          
 0      C        __gmon_start__ _ITM_deregisterTMCloneTable _ITM_registerTMCloneTable __cxa_finalize __fprintf_chk __vfprintf_chk __snprintf_chk __stack_chk_fail uname __asprintf_chk kmod_get_dirname kmod_get_userdata kmod_set_userdata kmod_ref kmod_get_log_priority kmod_set_log_fn strerror kmod_set_log_priority kmod_new calloc stderr secure_getenv strtol __ctype_b_loc strncmp __assert_fail kmod_module_new_from_name strchr fnmatch strcmp kmod_validate_resources kmod_unload_resources kmod_unref kmod_load_resources kmod_dump_index pread memchr realloc __errno_location strncpy strlen fstat malloc strdup strcpy kmod_list_prev kmod_list_next kmod_list_last memcpy basename opendir readdir dirfd fstatat closedir fdopen strtok_r fclose memmove strsep kmod_config_get_blacklists kmod_config_get_install_commands kmod_config_get_remove_commands kmod_config_get_aliases kmod_config_get_options kmod_config_get_softdeps kmod_config_iter_get_key kmod_config_iter_get_value kmod_config_iter_next kmod_config_iter_free_iter __uflow fread fseek fopen mmap munmap __sprintf_chk kmod_module_ref kmod_module_new_from_path kmod_module_unref_list kmod_module_unref kmod_module_new_from_lookup kmod_module_get_dependencies kmod_module_get_module kmod_module_new_from_name_lookup kmod_module_get_name kmod_module_get_path kmod_module_remove_module delete_module kmod_module_insert_module syscall init_module kmod_module_apply_filter kmod_module_get_filtered_blacklist kmod_module_get_options kmod_module_get_install_commands kmod_module_get_softdeps kmod_module_get_remove_commands kmod_module_new_from_loaded fgets kmod_module_initstate_str kmod_module_get_initstate kmod_module_probe_insert_module strstr system unsetenv kmod_module_get_size openat kmod_module_get_refcnt kmod_module_get_holders kmod_module_get_sections kmod_module_section_get_name kmod_module_section_get_address kmod_module_section_free_list kmod_module_info_get_key kmod_module_info_get_value kmod_module_info_free_list kmod_module_get_info kmod_module_version_get_symbol kmod_module_version_get_crc kmod_module_versions_free_list kmod_module_get_versions kmod_module_symbol_get_symbol kmod_module_symbol_get_crc kmod_module_symbols_free_list kmod_module_get_symbols kmod_module_dependency_symbol_get_symbol kmod_module_dependency_symbol_get_crc kmod_module_dependency_symbol_get_bind kmod_module_dependency_symbols_free_list kmod_module_get_dependency_symbols lzma_code lzma_stream_decoder lzma_end ZSTD_createDStream ZSTD_initDStream ZSTD_DStreamOutSize ZSTD_decompressStream ZSTD_isError ZSTD_freeDStream ZSTD_getErrorName lseek memcmp memset PKCS7_free BN_free BIO_new_mem_buf d2i_PKCS7_bio BIO_free PKCS7_get_signer_info OPENSSL_sk_value PKCS7_SIGNER_INFO_get0_algs ASN1_STRING_get0_data ASN1_STRING_length ASN1_INTEGER_to_BN BN_num_bits BN_bn2bin X509_NAME_get_entry X509_NAME_ENTRY_get_object OBJ_obj2nid X509_NAME_entry_count X509_NAME_ENTRY_get_data X509_ALGOR_get0 strcspn write strtoul get_current_dir_name libzstd.so.1 liblzma.so.5 libcrypto.so.3 libc.so.6 libkmod.so.2 LIBKMOD_5 LIBKMOD_6 LIBKMOD_22 XZ_5.0 OPENSSL_3.0.0 GLIBC_2.17 GLIBC_2.8 GLIBC_2.4 GLIBC_2.3 GLIBC_2.14 GLIBC_2.33 GLIBC_2.3.4 GLIBC_2.2.5             	     	                     
                      
             	                                                                                                              RZ                 j                 j   $                   "&                              (  	                   +p                            ii
  
      ii
        ii
   %       
 /        :     ti	   E     ui	   Q                  H                  `H                   R     (            ^     0            V     8            !V     @            (V     H            !V     P            8V     X            ^     `            Q     h            ^     p                  x            p                  i                                   `                  i                                                     k                 	k                 k                  j                 k                 k                 k                  %k     (            ,k     0            3k     8            :k     @            Ak     P            Ek     X            Ik                 X                  0[                  T                   U                  Y                  U                                      U     (            U     0            U     8            V                        ȿ        >           п        W           ؿ        `                   b                                                 Ȼ                   л                   ػ        k                                                                                                                                                         	                    
           (                   0                   8        
           @                   H                   P        s           X                   `                   h                   p                   x                                                                                                                                                                                              ȼ                   м                   ؼ                                                                                                         !                   y                                      "                    #           (        $           0                   8        %           @                   H        &           P        '           X        (           `        )           h        *           p        +           x        ,                   -                   .                   /                   0                   1                                      2                   3                   4           Ƚ        5           н        6           ؽ                           7                   8                   9                   :                    ;                   <                                      =                    ?           (        @           0        A           8        B           @                   H        C           P        D           X                   `        E           h        F           p        G           x        H                   I                   ~                   J                   K                   L                                      M                   N                   O           Ⱦ        P           о                   ؾ        Q                   R                   S                   T                                       U                                      V                   z                    X           (        Y           0        Z           8        [           @        t           H        \           P        ]           X        ^           `        _           h        a           p        r           x                           c                   d                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           HH HtH         5{ %{ @ %{ h    %z{ h   %r{ h   %j{ h   %b{ h   %Z{ h   %R{ h   %J{ h   p%B{ h   `%:{ h	   P%2{ h
   @%*{ h   0%"{ h    %{ h
   %{ h    %
{ h   %{ h   %z h   %z h   %z h   %z h   %z h   %z h   %z h   p%z h   `%z h   P%z h   @%z h   0%z h    %z h   %z h    %z h   %z h    %zz h!   %rz h"   %jz h#   %bz h$   %Zz h%   %Rz h&   %Jz h'   p%Bz h(   `%:z h)   P%2z h*   @%*z h+   0%"z h,    %z h-   %z h.    %
z h/   %z h0   %y h1   %y h2   %y h3   %y h4   %y h5   %y h6   %y h7   p%y h8   `%y h9   P%y h:   @%y h;   0%y h<    %y h=   %y h>    %y h?   %y h@   %zy hA   %ry hB   %jy hC   %by hD   %Zy hE   %Ry hF   %Jy hG   p%By hH   `%:y hI   P%2y hJ   @%*y hK   0%"y hL    %y hM   %y hN    %
y hO   %y hP   %x hQ   %x hR   %x hS   %x hT   %x hU   %x hV   %x hW   p%x hX   `%x hY   P%x hZ   @%x h[   0%x h\    %x h]   %x h^    %x h_   %x h`   %zx ha   %rx hb   %jx hc   %bx hd   %Zx he   %Rx hf   %Jx hg   p%Bx hh   `%:x hi   P%2x hj   @%*x hk   0%"x hl    %x hm   %x hn    %
x ho   %x hp   %w hq   %w hr   %w hs   %w ht   %w hu   %w hv   %w hw   p%w hx   `%w hy   P%w hz   @%w f        H=Qx HJx H9tHw Ht	        H=!x H5x H)HH?HHHtHw HtfD      =w  u+UH=*w  HtH=~w Ydw ]     w    AWMAVAUAATIULSHH8dH%(   HT$(1Lt$p   Hf HcH H
 f     HEM   AWH H1nHL   HXZHD$(dH+%(      H8[]A\A]A^A_fD  H
     H
     H
 t@ H
 d@ H
Y T@ H
R D@ H
H 4H|$A   1      H|$L8 ZHL$ f.     H  dH%(   H$  1Ht!H$  dH+%(   urHĨ  R  fH|$xR1H|$L$      H
 H x'HD$H$  dH+%(   uHĨ      17    H   It7)D$P)L$`)T$p)$   )$   )$   )$   )$   dH%(   HD$1Iz t:H$   $0   IzHD$HD$ HD$0   HD$HD$PARXZHD$dH+%(   uH   }f.      HG f.     HtHGfD  1f.      HtHwfD  HHt@ HtGøÐHtkUHSHHHwHW
H[]fD  HH H1Uo     L
N Lg	 XZH[]f     f.     D  AWAVIAUIATUSHH8  dH%(   H$(  1H|8 5  `   I|8LZ  HD$L|$1M   HD$H$%f.     H;Ht$   M?HMtUMgH$LLL/g  yL$D$#  H;D$   H|$HN  ,$
 H|$N  H$(  dH+%(   m  H8  []A\A]A^A_ HH~j AVLH     4La L
 1H _AX@ H9j HLd$ H4(LO 1      L     LELY^   LJN  HH   LHcQ  HHD$6O  lDH  LPL
z 1L ATH'    AV4H D$    AVH 1  ATL
o    LLH XZJ|
f.      AUATUHSHH  dH%(   H$  1HX    5H$  dH+%(   w  H{XH  H[]A\A]5W  D  H# U  HP   1L
 L H .Y^f.     IH H   PLO    1LX    L}H%LULL  IHt}HHBN  LHwM  H$  dH+%(      H  H[]A\A]    UL
Z   HAUL    1HH  \Lw@ H1HH  H1AUL
    1Lx    XZP2fHtw    AVAUATI   UH   SHdH%(   HD$1H   HHLHCHn H HCH HH=o  HC IH   H
   HAH$L0EtW'H BDp uGA<$e9     H5 LA   t   H5  LEADHZHH0n Hs(HHDH$        1i  HHC0H!  oH*HD$dH+%(   +  HH[]A\A]A^fD  CH"  HH9  L
q     PL> 17XZ H!     1SL
.  HL H  Y^\ A|$rA|$rA   D  HL
    L EH{07H{ .H&1    ~L
  Lp   HK     H1U~f.     @ ATIUSHH0
  HHb
H[]A\D  UH  H1AT     L
H  L XHZ[]A\f.     ATIUHSHH{0L[H]A\f  fD  UH  1  ATL
     HL tXZATIUHSHH{0H[]A\  f     UHH     AT1L
    L  H{0XHZ[]A\  fATIԺ   UHSHH5  Ht[1]A\@ LHH[   ]A\Yf     HH   @ATUSH: uBHHH   #H] A@ HtH{   eZ  HH;] uD[]A\H
]    H5(  H= D  AVAUATUSHdH%(   HD$1H:    III1*HHt<HLL4ŅxVH<$   Y  I>H4$  HIDH>HD$dH+%(   u{H[]A\A]A^    L~ŉHR  3  LPL
  1L  AU   FXZH
  +  H5  H= Nf.     @ S:HHH[    AUATUHSHH  dH%(   H$  1H8 tC   H$  dH+%(     H{8H  H[]A\A]UO  D  IHH  H   PLO    1L     LHL   LD  IH   HHF  LHE  H$  dH+%(      H  H[]A\A]    H  UU  HP   1L
A  L  H  Y^    UL
r  ^  HAUL     1H`  tL3@ H1E@ HH,  H1AUL
  b  1Li     XZ	C AVAUIATE1UHSH:   HHdH%(   HD$1KHt&HD$dH+%(      HD[]A\A]A^fHHIHt2HHHAąx(I} H4$  H<$LIE ]  L닐H~DH)    HPL
  1L9  S   XZED  AWAVAUATUSH8Lw(H|$I^dH%(   HD$(1H  HD$ D$    IIHD$@ H  HH  1LHIt9HI;^tHu HD$(dH+%(      D$H8[]A\A]A^A_ÐHL$H|$HLY  ŅxI?Ht$ h  D$IfD  H|$^I?t$m  l$IyHH  L
  PL  H  1AT   AUH|$0H D$    )f.     fAWIAVIAUIATUSHLg(dH%(   HD$1I\$(Ht$H  LHHtqHI;\$(uI\$ Ht-H  LHH   HI;\$ tHu1HD$dH+%(     H[]A\A]A^A_f     H  HHLIÅ   I?H4$  H   IH<$Ln     fH  HHLIÅx&I?H4$  H   IH<$Ls  L,L
    L  PU9f.     LHFL
    L  PUH  1   LXZ@ LL
    Lu  *L~L
  LK    HV     L1`f     ATUS@H0H0dH%(   HD$(1Hl$Ld$H  @ H|$Q  1LH  uHD$(dH+%(   u	H0[]A\
f.      ATUS@H0H0dH%(   HD$(1Hl$Ld$H  @ H|$Q  1LH  uHD$(dH+%(   u	H0[]A\f.      AVAUATUSH  dH%(   H$  1Ht=HG(HHt1HX8HtlIH{LL/H}x
La  I9t,   H$  dH+%(      HĠ  []A\A]A^HE(HH;X8tHufD  1H|8 tn         HX L$   H4XLM L  1LLl$LLt`LLx
L  I9t   JHH(u18Jf.     HtCUHo`SH_8HD  H;HtF  H    HC(    HH9uH[]@     SHtTH~H[    >H^H{0  H{ H{(Ht  H1H[    HH4  1HSN     L
  L  *XZfD  AWAVAUATUSH  dH%(   H$  1H   HHo8E1IL-/W H}  t(H   IHIIuE1VHAu LK LL        1   HU(HLHRA  AXZItEtH*H$  dH+%(   uWH  D[]A\A]A^A_fHAu f  H߾   L
u  L  1H  Y^1Af.     AVAUATUSH  dH%(   H$  1Hw  d  HAH|8    L%U GHH|8DHITC  1H$  dH+%(   !  H  []A\A]A^D  HH  HHH
  L
     A4L  1XZzHIH   H      L%,U L3  A4LO 1LSHL3L[9  HHteHHDITo:  HG:  fHL
  H1AVL    HB     QL@ _f.     D  HG(f.     AWAVAUE1ATIUSHH(   H$Hl$HL$dH%(   H$   1D  {L    HmIHxR   1HHHs0H{8HtuH)LxO4'Od= L9   Lc0L0HC8H   IH$   dH+%(      H(   L[]A\A]A^A_    O<.ML9r^LLHM.fD  LLHMMtHC8H$HHD$L(wJ<(LHML{0LjHC8H:J<(LH    ATUHSH  dH%(   H$  1HHHH=     L$   H  HIP   L  L      1   L1XZ   Hx@   H   HT$0H(XHPH@(    H@    H@     H@0    H@8    H$  dH+%(   uCHĠ  []A\fD  $   (1(B (j    AWAVAUATUSHHHLw dH%(   HD$81HG(    L;w  HD$01HD$HD$(HD$+L9   LLH   HC(L9s~nHL$HT$LHMIH   L|$(.   LH   L)HuLHD$HC(Ll$HL9s    Lk M    Lk LkHLc L9kHT$8dH+%(      HH[]A\A]A^A_f.     uFLcLk @ H;~H;      1L
  LF  H_  H;~8HH;H1  PL
  1L         aXZlMM1x     AUATUHSH(HwdH%(   HD$1H;wtbHL$HT$HHD$    IH   Ld$.   LPH   L)HH=  v9$A$   HDm 1HT$dH+%(      H([]A\A]fD  HLHD     fD  D(HMtH;~} HH;H  PL
  1L        XZ[fD  kH;D(H=9H;      1L
  LG  H  AWAVIAUATUHSHX  dH%(   H$H  1Ld$@HD$0    HHo  H?q  LHi  LHuHHk L{LhHC(HH   HD$(L)IHHL$H)&HD$ IH
  L9   HD$8E11HD$HD$0HD$AHD$Ht$0H(HD$ LHH?HIJ HD$8IL)HL9{ ~@HL$HT$LHkIHHD$(t HHD$(I>{8H{8HH$H  dH+%(   uKHD$(HX  []A\A]A^A_D  c HHD$(HD$(F HHD$(@ UHSH   HHtHhHtHSHPHHCHHH[]fHnfl H[]f.      UHSHHt:H   uHtNHSfHnHhC HHCH[]fD     >HtfHnHhfl H[]1f.     @ Ht#HtHGHVH0H:HWHFH@ H@ UHSH   HHtHhHtHSHPHHCHH[] fHnfl H[]f.      SHt/HGH9t!HH9tHHCH[     1H[@ HH9uHtHFfD  1f.      HtHtH1H9HDf     1f.      HtHGfD  1f.      ATUSHt:A1HHHt5H@H9t'HH9t/HHCA9uH[]A\ 1    H1@ HGf.     HGH      HGH    HGH      HGH      HGH      AVAUATUSLoAEt|I]L$LIIH+IHjAE1ۅtMuIHHI+Hl+HHHtIMu+HutA [H]A\A]A^fD  E1   fD   pre:LpIT$@ IELH0NK&I9sD  8 u  HH9uH)MtHt:   ApostINHSfAFIEHH0HHH9s/    8 u  HH9uL)Lt4f.     I"     AWE1AVIAUATIUSHHH$H  I,$H
  If     IEHHp	p  Mm I9   MuHHxHD$IH   HT$Hx	HHH$E~IM   LLL9   7H   M9,$   H[]A\A]A^A_D  HHxHD$HT$HIuNH[]A\A]A^A_fD  HA   HHHxHD$<HT$HItI~	HH?H$E~ILHHt"I$H[]A\A]A^A_ÐH$HL[]A\A]A^A_<@ L4SHX  1)  t$L
     LL  cXZf.     fUHSHHH?|7HHHHtH{KHtHC1HH[]fHH;H  1U      L
  L  XZf.     @ AWAVAUATIUHSHHHAHILx2H;HH$   H$I|HD$IHtNNt0	HxLLL0H$HLxI} 	         H{LIHtHC1HD$H|$H[]A\A]A^A_H;U   H  ATL
     1L  ZYDf.      AWAVIHAUMATUHSHHHL$)HILxI>HH$uH$I|wHD$IHt;Nd 	HxLHL sH$HLdI} LHHtIE 1HD$H|$H[]A\A]A^A_HI>L
  1SL  |   H  t$   UH O@ HGH    HGH    HGPH@fHGPH@fUSHHHoHt#fD  H}HHCHHuHkHtfH}HHCHHuHkHt'f.     H}HHCHHuHk(Ht'f.     H}WH_HC(HHuHk Ht'f.     H}'H/HC HHuHk0Ht'f.     H}HHC0HHuHC8Ht%f.     HxH{8HC8HuHH[]    AWAVIAUIATUHSH  H|$0dH%(   H$  1HǄ$       ]H
  LHH$   HH$<Le Mc  1H$   Ll$8HHD$HL$   D  H|$  HD$ $   %   = @     H4$1LLLHPHx	HT$GHT$HH  HD$ H{LHBH|$H%HV	  HD$Le HM  Ht$LIILD(H  EHD$     TD  LIH  HH$0  H   HL$Hl$(HfD  H]H}.ItnHvhH|H5  tJ|;H5  u>L#HT$1Hމ$H  %   = @  t?H4$HLL]LHHiHl$(L,f    L~S   LL
  ATL    1H;  g^_ HL
  L1ATL  W  H
     1A[[f     HL$Ll$8@      H$H$   H$HHD$IE Hi  HH8HL$0IHHu29  f     LHLPH$   IH  MoIE A} H$u  H<$1   EH|$0  xHD$H5  Ǆ$       H HD$IH{  Ll$ H$   ML|$IfLL  HH     <#   L$   H5i  HLIH   H51  H1   H5K  LR  H5>  L  H5/  Ld  H5   Lh  H5n  L  H5$  LtH5  L|  H|$B
  f     Hx L1H5f  1LH5U  HHI    L    H0LHHD$(IH@HD$8HD$H8  HD$(HL$8H|iHD$@HtJNl(	HT$8HxLL(HD$HaHT$(HLQHl$Ht$HH}.HtHE1HL$@H|$@tHl    L1H5V  1LH5_  HHI  Mt|   H|$H  L
5     AU$   L  H   P1t$H|$0@H H    LL|$Ll$ QI]	      1H$  H   SLL$L  HjZYH,$=  DH|$0SL
    1Au H|$@   LR  HZ  A\A^D  SL
    1t$H|$@   L  H  HA[]1LH5  oHHd  H|$HHfL1H5  /1LH5  HHI  M7/HD$L@(HLLHH-        H=  1MÅ  L$  Ǻ   L謼  HB	  E1E11   1LH-  <.Ix5<.w1HcD HH|$LHGHf.     BH<.~@ <=uHB     H1돃   Hù   qHD$   L
%  L     HL  H8AT1Up^_  1H$  dH+%(   w
  H  []A\A]A^A_HB  ZHHr %  L9H2L   IL1H5k  1LH5t  H HI  MHD$L@ HL$HH$H$   H$HHt%H{HH$   HHuHHHt@ H{HHHu1LH5  LL1H5  HHD$H3HHD$(&  LT$(M@HhHD$xHHD$pHD$H8LT$(  Ij1H\$PE1Lt$`LIHD$(    D$@    D$8    LT$XL|$hp    3IIM AD@   EuBL9  LH)H  A   H    6  1Et4LIE~MnEuLH)H  H}  EtHD$LT$XH\$PLt$`H8L|$hLT$PLT$P
  D$8HL$xLT$Pl$@L$    HD$(HH|!LH{LT$PHI'  D$8Ix Ht$HLT$PIxLE1A@D$@IxHHl$pA@I8HLD$(FLD$(LT$PHH\$81I L|$HLMHD$(MD$P    Dd$XLt$@y     蛿HIH?DG   @n  L9  MI)I     I  A  Ab  E1IOHEt+IE7EuMI)I`  I  @tHD$LLl$(H\$8Lt$@Hx0L|$H2LD$(H(  HL$HHA0sH1HBH$   H$1HD$H89HD$  L
  L  HJ     H81lHBH$v1    H$1۹   1I   w H   L9   LLM~IL)IAF"L$   HD$H8  H5  LE   
   H5  Ly   L$   L-  
H|$6LLHHuM AUL
    1t$H|$    L  H  7AYHAZ軽fD  L$   MMML6  N  H|$LLM;pre:;pre:@ 1IOSE1;pre:  L   A   HD$(D$8HDHD$(j;post-{:##;postw{:mmIOH IH¹   HIƹ   HD$     L
  LS  H  H8AT1AUY^HD$(D$@HDHD$(   IONHD$H8ӽHD$HHI  L
  L       H8AU1VXZHL$(T$XHLD$(IEIHHHLAaLD$(Dt$XJDB E7HD$(HL$(T$PHLD$(IEIHHHLALD$(Dt$PJDB E7HD$(Q;pre:      A   ;post      A   HD$H8誼 訷HL$HL  L
q  H	     H9P	  1%_AX;postt'A      A   IO   H{:uL   A   {:DA   HD$HH  L
  LU       H8t$P1XZLT$(HD$;  L
:  L  H1     H8D$@PD$@P1IA]XLT$P1HL$H$   HD$H8VASB  L
  L  t$PHD$H     H81ٿ]A\LTA      HD$H8S膼LɺAPL
  d  1ATL     LH'  SAYAZcAPL
  L    SHD$H     H81AYAZsUSHHtEH0      賶HHHt#H@    HCHHC HH[]1HH[]@ USHHt]H0      SHHhHt;H@(H   fHnHCHrfHnHflC H[] 1HH[]f.     fUSHHt]H0      ӵHHHt;H@ HH   fHnHCHfHnHflC H[] 1HH[]f.     fUSHHt]H0      SHHhHt;H@HX   fHnHCHRfHnHflC H[] 1HH[]f.     fUSHHt]H0      ӴHHHt;H@HX   fHnHCHfHnHflC H[] 1HH[]f.     fUSHHteH0      SHHhHtCH@0H   fHnCHCHfHnHflC H[]    1HH[]@ HtHGHtHW Hf     1f.      HtKSHGHHt2HW(Ht= uH[f     HWH{S(HC[f.     1D  1[@ Ht;SHwHHHtHHC[f     HH{[@ 1f.      SHHӴH[ʴf.     AWAVAAUATAUHSHHHu    HHHtD9crEHt$IIHt&HHt$HxLD`DpCD= Lm H[]A\A]A^A_f     AWAVAUATUSH8  H_dH%(   H$(  1%  IL=  HÅ        
  1A
   E1   @K  D#fL$LsLD$AIcHt$IH<HH  LD$EL(Hx$L$J    L@)  Ht$D`fH H\2(Ht$ HHXE~8EII AMnHLȉC LkCMtI9uH$(  dH+%(     H8  H[]A\A]A^A_ÐLS)ЃLcMO
B4       J<    1L\$ fTAHH9u   @I:J<fL$LD$LD$L$HHtXLm J    H}$LEHE    Ht$ E    fM ǰfHI؉H\f     1L|f.     fATIUHS葭H$@ HPIT$0t0@H|  t     ID$I;D$rL螮ƅu[]A\ AWIAVL5e  AUATUHSHHwL臥  DeLmD$IMM9sO    AWI7IF     L7  AUIu(     H5z    M9rE U!A9bD9BDH} )Hct$IHt!AL胤  LL&L辥  U!AD9|E D9~AD9}t$Lå  HH[]A\A]A^A_Mf.      AWIAVLcAUIATULSHHHGB40@1  MIf.     Hأ  IGB40LI@uD)D$AG AW!A9kD9IDI?)HcAt$IHt'AH}  LILH1JH貤  AW!AD9|AG D9~AD9}AGtOH  1LHu6EoMgIMM9s" A$AT$HIIt$NM9rLt$HH[]A\A]A^A_G      D$     AWAVAUATUSHHX4$dH%(   HD$H1D  H=:  XHD$$       QHK     IHCH9  HPHS AAE     AH9  HBHC*AA@)ō}	HcH议DxIDpxiHcLpL| Hl$0fD  Hٺ      HAE     I7D$0AFM9u fD      FI  fAD$ID$    $   @udHD$I$ID$HD$HdH+%(   D  HXL[]A\A]A^A_Hl$0Hc  HHxHp  HD$fD  Hl$0Hٺ           HIhD$0HAŉD$  ID$AH$HD$,HD$D$tb    A    H|$   Hپ   L$,HHAH  H<$T$<DHH  AuH荟       HxHSHKA     HXAɫf     G9W9}1D  U)SHcH\H/ށt$1҉HPxHH[]@ H1[]f.     D  AWIAVL5  AUATIUSHHwLǟ  Il$D$Ht[f     AWI7Lm莣     L  LWLHj     H5  W  Hm HuAD$AT$9   9eM4$)HcElDtJ1҉LMx4DLIHt!@L蚞  LLL՟  AT$9|AD$9~9}    t$Lԟ  I|$jI\$HtHHUHuHL[]A\A]A^A_:f.     AWLcAVIAUATMUHSHHHGB48@  MIf.     Hȝ  HCB48LI@uD)D$CSA9   D9nDL;)HcLΉL$tQ1҉LL$x9LIHt'AHE  LMLH1"Hz  SAD9|CD9~AD9} H{    H腜  1LHتu|LkMt  AMAUIuL$Mm MuH{ҨLcMtf     LM$$质MuH觨t$HH[]A\A]A^A_  D  H{LcMtfD  LM$$dMuD  H{OLcMtfD  LM$$4Mu{f.     D$    G Ht#SH    HHHu[fD      AUH5  ATUSHdH%(   HD$1誧H   HLd$tHٺ   L        H|$W   Hٺ      LE     輨D$u^   ԧHٺ   LH   IE     肨D$E     AEHD$dH+%(   uHL[]A\A] HE1~f.     @ SHH?ԥH[黦f.     AUATUSH(DgL/dH%(   HD$1DtQHՉ1Lx>LDIHt+ILa  HL膚  LLLQ  HD$dH+%(   uH([]A\A]豥AVAUATIUS_H/ށ   1҉HUxzHHHth1LkHc   LAE ue HJAD
tRH8DtL葥HkHt     HHm tHuHg1[H]A\A]A^f     HcA4@tJHH{I-LkMt@ LMm MuH߃MtL*HkHtH}襧HLڤLcMtLM$$ĤMuH跤MfAWAVAUIATUSHH_H/dH%(   HD$81ށ   1҉Hߣ   HLd$ LHD$    HT  HtkHE1H{Icξ   Lu'       8  7HVHtxH֍Pր1wHr׃LD$LHL  HD$HT$8dH+%(     HH[]A\A]A^A_@ HD$    Ld$ L蚖       A*   HMcMMHHD$t,*   L3  H|$LLLD$1Ld  ?   HHHD$t,?   L  H|$LLLD$1L!  [   HHHD$t,[   L譖  H|$LLLD$1Lޗ  A7@   HyH{HD$苢L{MtfLM?uMuHAdH|$ H\$fD  CHkHtf.     HHm $HuH>HkLl$HtMUHuL2Hm HuH{HkHtHHm ˡHu_f.     D  AWAVAUATUSH   dH%(   H$   1H  IIII"       HH     L1脟Å   Ll$L苣xHt$@HwAo   f.     E1Aع      1艣HEH  P@W   T$E  L]T$`  H}Ht$@BqD  HL
~  L1AUL    H     ɦAYAZLCD AH0H$   dH+%(   g  Hĸ   D[]A\A]A^A_@ HL%  L1AUL
_    H     A_AX@ LL$lL$hWL
y  Lʸ  Q  Hͷ  1   LXZ    ȉEHD$@Le E1HE财L,  II.jL
7    L[  R     LȠޚD AS
     Lt$HL
  L  1H  EY^H
    H5  H=  ҜMLUAe     L1L
  L  H  ܤf.     SHHwHH[FfD  AUIATUSH(wdH%(   HD$1Ht.IHL  LL;  H߉L~L  HD$dH+%(   uH([]A\A]ffD  AUATIU1SHwyHHt?H{Hc   Lu;f     HJDt#H8DtHb1H[]A\A]D  HcAt;S 9|K!9)H;Ht$HIMtLfS1uHHD$HD$HCHx蝟f.     AWE1AVAUIATUHSHHwdH%(   HD$81Ld$ eLHD$    H葏  Ht_HS   IcH1L!    8  HHtVp@1wHr׉LD$LHL5  HD$HT$8dH+%(     HH[]A\A]A^A_D  AC McM*Z{!)  *   H;)Hct$HD$Ht,*   L  H|$LLLD$1HL谐  C ?Z{!>   ?   H;)Hct$'HD$Ht,?   L   H|$LLLD$1LQ  C [R{!ZvL[   H;)Hct$HD$Ht,[   LŎ  H|$LLLD$1L  AtMS 9|K!9~
H覚)H;AHt$]HI肚M\LDkHkLt$IIL9sM ULHHuL9r֙fD  AWIAVIAUIJ|
ATIULSH虚HtdH|(	HLLH8螘HH{LHB  臘D+ I} HfHtIE H[]A\A]A^A_fD  H蠙1f.     fATUHSH?ѸL`Mt-LD  HHuHLtHL9tHu[1]A\@ [   ]A\fD  AWAVAUATUSH(H|$Ht$HT$M  HHMK@HQHHHRH|mHH$  E   El$E1E1MF     HHAOH:IFHHH9   AM9t>IFD5 Ic   1HH
  HAGE9AIFM9uH?H|$HT$HHt$IHH
H(H[]A\A]A^A_     HT$Ht$E11H|$H([]A\A]A^A_f     HcA
		 31f     AW      L  AV   AUATUSHH  LOdH%(   H$  1L$   LO   LA1}   L$   Ǻ    L܎  IAoE  $   live   Hcoming
 H9$     $   goin   H;t  AD  H$  dH+%(     H  D[]A\A]A^A_@ KH;D8    A
~*IcHLƄ    ;uD$%   = @  t_H;ߗ   AnfD  f$   
A   NfD  $   ng
 A   ,@ A   D  D耒H;  L
!  PL  H+  1AT   AYAZ$ D@H;#  L  PL
ٮ  H  1AT   ě_AX&@ H;DH;+     PL
  L  1ATH  qY^Jf.     H;AVHm  1AT7     L
  L8  3XZW    w`	@w`f.      @w\D      w`	@w`     HHtGT AWMAVMAUIATIUHSHH[H   HD$M   Ol<K|-h蕔HT$HI   Hǹ
   HHHIhLHIIxCD'h ILHJD'LIG@ISIOAGT   HLH)M>H1[]A\A]A^A_D  HXI ID$I|$iHD$ܓIHtLL
   LHHnIOhHT$HIOHIÑIG@    IGH`    H[]A\A]A^A_@ AVAUIATUSH  dH%(   H$  1HH  IH  HH  HH`  Ht$Hg   L$   HT$HL׉  Hb  LLsH$HH   HxH   H
  HHC\   E1I] H$  dH+%(     Hİ  D[]A\A]A^fD  蓍LD0IAbH襑 Hhf.     A} G  L   PL
u  L  1SH  ̗Y^     HT$LIE11LAƅxH$HkL̒RAL贒pHAL蔒   HӐ AHLj  L1SL
    H*     _AXxHsL
  1UL'    LAVH     ̖H THHѩ  1LS     L
A  Lڳ  蕖XZC蹏f     AWIAVAUATIUHHSHH  dH%(   H$  1HI݌IIDH=      ILLLXINIJD(rwHHxHHHtHtH)HH)HLMMHLHB,\ 1҅OH$  dH+%(   u]H  []A\A]A^A_@ u#ttTfT    ɉTTyD  t@ ATUSHH   dH%(   H$  1HHuWHHtOLd$HHT$L貅  HT$IE11LHH$  dH+%(   uH   []A\ ܍f.     fHt+SH    H{HHHu1[ 1f.      AWAVAUIATUSHX  dH%(   H$H  1GX-  H_ L'H  H:   GXHwIH    I} HHD$ 肊HHIH$H    Ht$@HHHt$(Ht$ HIFHD$7  fBD4@I} 4  IHT$0E11H5  HT$譏H  Ll$Lt$(I8D  Ht$8HAHT$H5^  1HiIH  HD$8    A} /tQL襉H$HH  @  HL$HI     tAM 
w  MHT$8LL輌Ņ"  LڍAH      1AUL
  LLί  H  bY^ } /  HH4$HH  Q  E1H$H  dH+%(   u  HX  D[]A\A]A^A_ÐDPf.     IM LH
I|
H|
HzHH)H)։Hf.     LMLl$g  HÅAeXUfLMLl$谌~ԉ貇H   LPL
|  1L  AVHU     AT0H f.     Ll$LS   I] E}PD  AM 
ALL#fHt$(HL$HH      tM 
   Hl$(HIEH\@ AuH  1LAW      L
  L  YXZH10 ALfLwfD  AVL  L1t$(L
     H$     _AXbHM HzHH
Ht
Ht
H)HH)HM 
LLLfL̈H
     H5  H=  -f.      SHtoGTHGT~
H[D  H?舊SHSH;HĘH{ kH{HHtMA  H;H{(蜈H{蓈H苈1H[@ HH;H  1S     L
b  L  XZxf.     AWAVAUATUSHX  ~ dH%(   H$H  1Hݘ6 )$~B HD$0& )D$~1 : )D$ H  HH  IIHL  H: B  Lt$@H1L}  Lq  5   HL|$8fI<$ u9HI9t0LLLU ÅyރtL1T    L؈31H$H  dH+%(   8  HX  []A\A]A^A_fD  1I<$ 1PHe  1H  AVL
N     LL-  (XZtI<$YI$    {@ AVC     LSL
ѡ  L  1H  ܌Y^L

-:     L1L
X  L  H  蕌˻ć
HLj  L1SL
\  ?  Hj     G_AXmf.      AWAVAUATUSHdH%(   HD$1   IH1L4I$    H4$HtHHHL9tkL;LLH$    L蚈yL~HH  1LAW     HL
  L  vXZL9u    HD$dH+%(   uHH[]A\A]A^A_fD  1g    AUATUSHH|   IGX   Il$ Hte1@ H}ItHHHHt!Hm I;l$ tHuHH[]A\A] H}GI<$ILH1H[]A\A]ÐHwH?蔖HHhLH
HPI<$     1L
  L  HT  6@ HtH颁f1f.      AWAVAUATUSHX  ~  HT$  dH%(   H$H  1H1H)D$ HD$    HD$0He  HHY  HLd$@1HLIz  H   L|$ Lt$8Ll$    H|$ upIM9tgLLHAÅy݃tHp1~ePH8  H1AT     L
  LХ  H|$(XZu3fD  H KH|$1Htj~HL$HH|$H$H  dH+%(   ugHX  []A\A]A^A_Ð1H|$ 1WfD  AT|     HSL
ɝ  L*  1Hj  LY^if     HtHGfD  1f.      H   USHHH?6QHCHtH[]ÐCXuzHsH;ޓHHtfHH[HCHCH[]     H;sH  1s"     L
  L  qXZyf.     H1[]    1f.      SHHHHt[6  D  H HHtH;7  HCHHHu1[[|     ATUSH   HH      قAąt|D tAD[]A\f.     H;؁~HH;s1H  X     L

  Lآ  cXZA    AWHt  AVAUATUHSHHHDHH  HA}IH$  H{HH   8  tFEH{HAEDADE7  H9  D16{AŅt?{8&u,H{HAuC7  IH{H7  HLHAE@  HD[]A\A]A^A_fD  35  IHt>A   Au;L?  IfD  H;H-5  HCHHHxzD(ALL  AąyH;9~D:{HH;  P   1L
  L  Hڗ  輄Y^jD  H5b  HAG  AǅEH;4DzHH;L  PL
u  1  Hp     M_AXD  yH;D(pA HH;H+  1AV     L
-  LF  XZH;%AUAQH;L
  1sL
    Hʖ     觃AZA[H  AWAVAUATUHSHH   AAH    IAHAHtMD  L{EuWEt
AG\tbtH} LaHtlHE LzHL9tHu 1H[]A\A]A^A_    Ltf.     IwI?ĎAG\     H} {HE     H[]A\A]A^A_ø놸f.     @ HH   pxAWAVAUATUSHH  HGXt L(HL[]A\A]A^A_f.     H?HhIH  E1E1fHhH;I=}   HsLh|tHs@H   LO|uH;}   H貥HIGxHtVItLHD$P}HT$HH   M   B( IJ<(ILHL$yHL$B) IHm I;ntH)f     KXL{( HH;s@  sL
_  1Ln  ATH     H fHH;s@  sL
G  1L.  ATHΓ     諀H fIH/E1]LzH;{E1$H;     1L
  LÛ  He  GD  HtsATUSHGXt[HG0]A\D  H?Hh(IHt%HTHs1HV{tHm I;l$(uHC0
HHC0KX[]A\ 1D  OXHw0    AVAUATIUSHdH%(   HD$1HH   HH   H> I   I<$    H?1HX0IHt#H]Hu1Hzt+HI;^0u1HT$dH+%(   u\H[]A\A]A^ Lt$HL`T$H} HLHIE QH} T$HI$뙸wH
  C  H5  H=R  @vH
ٙ  B  H5  H=&  !vAUIATIUSH(dH%(   HD$1HT$Ht$HD$    HD$    xHl$Å   Ht%H}L11[  Å   Hm H;l$uLnuI<$HH	  H|$Hl$I$   H    AE`	AE`Ht<    H}L11   ÅxHm H;l$tHuf.     H|$vH|$vHD$dH+%(   uwH([]A\A]    I} oxH|$~lsHI} H&  PL
Г  1L  ~     |H|$XZvH vLSxH|$Nf     AWAVIAUATUSHG`   AI͈G`sIĄuyH
  LH{LŅxBHL9tHufD  E   LsI} H[H   IE AN`LQuH[]A\A]A^A_AN`H   fHPH J`L9lHubfH?w#1    LL=f     HI>Av1H  L
m    1LW     m{XZU1Lv4f.      HtsATUSHGXt[HG8]A\D  H?Hh IHt%HTHs1HVvtHm I;l$ uHC8
HHC8KX[]A\ 1D  OXHw8    AWAVAUATUSH8  Ht$dH%(   H$(  1H  H  IH5C  H=q  sHH  E1H\$  H   HuH   HpHT$H5F  HIPvHT$LHIMrxYHt$LIHtdB|,
u.f.     Hhp|
tH   H!uHuM\@ LD$tT$fMfD  Lt   H|$t HqHD$L01H$(  dH+%(      H8  []A\A]A^A_ډloH.    LPL
M  1L  AT   xXZ^     L1L
  L  Hދ  xLcnLHsCq} n   LL
  QL    Hz  P1Yx^_D  H  t/wH  H  HED  H      HE@ HtBSG\Ht 1҃u	[D  H[    HwH?ăC\ɸ AWAVAUATUSH   HT$0HL$@LD$HLL$ dH%(   H$   1HD$x    H  IAD$8  Iz@   Dہ     LD\$LT$5LT$D\$  DH|$x   I:1D\$LT$誉LT$1I:H|$HL$x   %ÅC  D\$LD$xLT$A     M  DLT$(MăD\$hD$<    Il$HpHIPmDT$8IE'  H9l$(d  M  LlIM  INpE1E1HLLHLL$LD$MnLD$LL$B8 IHO,M  B( M  E`!  H|$  ItH$  HD$ Hʾ   HЋ|$<`  L(oE`J  M$$H|$xI9tM    nH$   dH+%(     HĘ   []A\A]A^A_Dہ   Dہ   D  H|$0 U  H|$0kHB  HxHD$E1oLD$LL$0HMJ<9LLHL$mHL$B) MH|$  ItH!  IHD$ H1HЋD$<t$hLHplAH9l$(A!LmE   D$h u?1D  HiH\$(H;Zo  H9uD$h tH|$x6mMLjH|$0 IH|$0fjILL	&  MA    t$E`uH|$  E1H
   H|$  E1H
  D  E`H|$x HjHH|  HD$    HI  HD$MtLiLt$HD$HiHHpIb  H9l$(ID$oH  HD$Ld$PHl$XHPLt$`IHT$xHL$MuHH
HD$L)II)I}lHH  LHHjHt$H<+LjHt$J|% LHjB+ LIkH5ۉ  LhHqHD$@Ld$PHl$XLt$`HK  HT$HLHЃAD"l$oLqk@ H|$  I,9@ t$H|$bgLT$D\$>A Aۃ#fD  H|$xjf     H\$(H]  1L
!  L     H;uHY  ;qAXAYH91    I:L¾   D\$H$   LT$HǄ$       fÅ}H|$xjL$   M   LT$D\$LD$xHQjH} HD$k`Ht$HI     HkLhHAjAN  DA   	  L1iLiH}  H} AW
  P   1L
!~  L  H(  
pY^e   1Ld$PHl$XE1Lt$`aLTiE`vcH
I  .  H5  H=7  AgK|8LD$iLL$0LD$HKH
i    H5v  H=ن  g|hH} jqLhLhE`H} Qj~H|  R  L
  t$Lu  AWPH} H     1nH H|  SL
    t$L6  AWPf     AWAVAUATUSHH  dH%(   H$8  1HD$H  LOH\$0   IL        He   H1fD$%  |$   H5  1jŅ   H5Շ  H=  qgHH  E1fH   H@iH  HL|$ AVdHLH5ԁ  IiHHtIuh   B|$/
tH   HhHtHd|/
uwHt$
   v_     'j|$jHD$H$8  dH+%(   ;  HH  []A\A]A^A_[b HLH5  1"iHH   
   Ht$(HTgHT$(H9ta: u\HD$HHelI} gSHI} ^  1SL
  LS     H  blAXAYI} g~HI} L
  L  AV  H@  1   lXZdI} KgRHI} L
  L̆  AVx  He-aI} Hf|$hHc~} a   L
  Ll  QI} g  H~  P1sk^_f.     D  AUATUSH(  dH%(   H$  1HE  LOLl$   HL        Lb   L1bŅxXHt$
   ]  AgE   Dd$H$  dH+%(      H(  D[]A\A]    _H;D HeA } `H;     PL
c}  L  1AUHj}  LjY^     H;xe`Du`H;H4}  L
  PL̄  1  AU   iXZ#AcfAWAVAUATUSH(  dH%(   H$  1H	  H? H   LOH\$   L        HaHdIH_  H1dHt[Ll$    x.u
x t6fx.t/LpH} LLzaAǅx[Ht$HFHtqHLVdHuLydH$  dH+%(   )  H(  H[]A\A]A^A_D  H} cDL2dHa1fD  H} cWH|$dL dHaD^H} Hz{  L
  PL  1  AV   ?hXZH}      1L
ap  L  H/{  hzH} CcPU]8>^H}      PL
z  Lq  1SHz  1gY^`@ AWAVAUATUSHH  H|$dH%(   H$8  1H  LOH\$0   1L        HH\$^HXbIH^  H1R^LAwbH   HL$(HL$@ x.ux    fx.   HX   D1HcAǅ   Ht$Ǻ   Y  DAcE   HG]Hx	Lp`IHg  HD$(IHLI^LH蜇H   HLaH?LaH$8  dH+%(     HH  H[]A\A]A^A_ HD$H8Ka   LzaH2_1fD  HD$H8a~HD$L
R  =  L>  H8St$ Hx  1   eXZ    HD$H8`/L_wHD$L
~  5  L  H8St$ HD$Q  L
m  L  HQx     H81)eHD$H8Z`HD$F  L
=m  Ly  Hx     H81dHD$H8`#Z18
[     L
w  PL!  Hw  t$ HD$ H81dY^9]f.     HtHGHf1f.      HtHGH  H     Ht+SH    H{]H识HHu[D  f.     D  HtHGH  1f.      HtHGHf1f.      Ht+SH    H{']H/HHu[D  f.     D  AW   AVAUIATUSH   dH%(   H$   1H|$0H|$HM  IH  H>   AE\  L   HH  HT$(H5zn     D$   Lct$1J    HL$EuGT  @ LpILI)>YILLHLH   HH9l$  HD$(=   H(HXHuHIXE1I@ [I} HT$(HjD$LfD  H$   dH+%(     D$HĘ   []A\A]A^A_H\$`H~XHٺ   LIH5w{  $H    H|$>F  I<$]I$    D$H|$([nfD  IuI} cmAE\X@ I}HH   H\$H@  SHE  LD$8HL$0   LH5z  vHULD$HHL$@   LH5z  OH.H\$XHyWHٺ   LIH5z  HLD$pHL$h	   LH5nz  HD$f.     H|$E  UD8AD|$CD$6H
z  -	  H5Ts  H=w  WZYf.     HtHGHPHHE 1D  HtHGHt
H fD  1D  Ht+SH    H{WYH_HHu[D  f.     D  AWAVAUATUSH(dH%(   HD$1H+  IH  H> G  HH   Ht$  D$      HcD$1L,@J    H$D  I$HH9,$ttHD$HLpL(LUHx	LxYHH   L(HxLLWI<$HHuH?XI<$WI$    D$H|$XHD$dH+%(   u[D$H([]A\A]A^A_f     SD0ADt$D$SI<$D0ADt$VI$    LWH
Ux  	  H5"q  H=u  Uf.      HtHGHPHHE 1D  HtHGHt
H fD  1D  Ht+SH    H{'WH/HHu[D  f.     D  AWAVAUATUSH(dH%(   HD$1H+  IH  H> G  HH   Ht$&  D$      HcD$1L,@J    H$D  I$HH9,$ttHD$HLpL(LcSHx	LxVHH   L(HxLLTI<$H}HuHVI<$VXI$    D$H|$UHD$dH+%(   u[D$H([]A\A]A^A_f     QD0ADt$D$oQI<$D0ADt$WI$    UH
v  
  H5n  H=es  }Sf.      HtHGHP	HHE 1D  HtHGHt
H fD  1D  HtHGHt
@D  1D  Ht+SH    H{TH}HHu[D  f.     D  AWAVAUATUSH8dH%(   HD$(1H;  IH/  H> W  HH  Ht$ -  D$      HcD$1L,@J    HD$@ I$HH9l$   HD$ HLpL8DhL
QHPHxHT$xTHT$HH   L8Hx	LDhtRI<$HX{HuHSI<$"RI$    D$H|$ SHD$(dH+%(   uWD$H8[]A\A]A^A_D  +OD0ADt$D$OI<$D0ADt$QI$    RH
us    H5l  H=q  Qf.      HwHP SHH   dH%(   H$   1HUx3Ht$0DCE11      Hs2UHCHtC1	KN H$   dH+%(   u	HĠ   [QfD  AWE1AVAUATU1SHHH@  Ht$(HL$0dH%(   H$8@  1H$0   HL$ HD$HG1HG    HG     D$       D  t$HNAHC EuHu`    LH)Ld HT$LSHT$HIZ  L|$H<(L4PL{HC     AtbE   MLHCHvHD$(Ht$     xoRH  HCHL$    ED$HD$7    HD$(1@LpL`H$8@  dH+%(     HH@  []A\A]A^A_fHD$(AMHx(=  H{u  HcHURw  @ MY  6R~HD$(   L
t  Lu  Hvt     Hx(1VQ~HD$(   L
t  Lu  H;t     Hx(1VzQlHD$(   L
st  L\u  Hs     Hx(1EV8{Q*   xLHL$(HHs  L
s  L
u     Hy(P   1UXZ(QHD$(   L
s  Lt  Hds     Hx(1UKL*O(HD$(   L
Ws  L}t  Hs     Hx(1fUYNf.     fU      HSHH   dH%(   H$   1HHHH?K   uBHH7HOH$   dH+%(      HĘ   []f.     H{(OH{('     1L
r  Ls  H*r  TH{(O
z   JH{($  L
q  RL]s  Hq     P11THWM    AWfAVIAUATUSHXdH%(   HD$H1)D$HD$     HD$@    )D$0LHN  HILl$MH$    Ht$HH9$       A~HTNH;  HD$     HD$HQ  KHt$8HHD$@fHL|$0H)H9sHLHt$8 OHD$0H  LHt$0LLHIMukMHD$@Ht$8IOHL$H9L$ rH9rHH)H9rHt$H9$7H_LHLHD$HH  H$
D  I~(M   LMH|$LH|$0LHD$HdH+%(     HX[]A\A]A^A_GI~((M   ݅uHD$HL1IMH|$KHD$0AIFHD$@IF    LMHI~(H}o  PL
xp  1Lp        QXZI~(Z      1L
8p  Ltp  H1o  QLI~(L
I~(      1L
o  L=p  Hn  AQFL D$J|$I~(WLl$v    |$GGHI~(   P   1L
o  Lo  Hqn  PY^FI~((KtI~(Q      1L
1o  Lmo  H*n  PEI    ? uf.     HI     u
f     HI    HG0HtfD  SHHwH?  HC0[f     UHAWAVAUI   ATSH8   HdH%(   HE1GH  HIľ   1G1HW  AD$ǅ        H
H9HBH Hz uAD$ HuPID$ H   H LMl$(  HEdH+%(     HeL[A\A]A^A_]     HCHSHH)Lt$ILP@  A|$11IKL9tjDMx           +DtLIHDE1]f.     H9  ID$ H=)     H)      H H{ HHsLEuHCID$ HC@ ؉A|$fK\HG     HGf.     HGf.     Gf.     Gf.     fSHH0Htn  HC HP{xJH[/Gf.     D  HH
m     H5l  H=l  Ef.      HH
Mm     H5sl  H=l  Df.      HH
m     H5Cl  H=l  Df.      ATUSf  f;w(  IO*HGHcHO H9  LILH  W   HYHiH9  I+L  11     D$HHL	HuIHYH9oP  L11fDHHL	HuIHH9O   11D  DHHL	HuAI  H9G  1[]A\D  Hi(HY H9  I  L`1@ (HHH	I9uIHQH9_  L1HZ DHHL	H9uIHH9Ob  11    DHHL	Hu;D     1f     DdHL	HuIHYH9o  Lۺ   @ D\HL	HuIHH9O          DTHL	Hu     Hh1f.     De HL	IHL9uIHAH9_rrI1HSDHL	IHL9uIHH9OrC   1D  DTHL	HuH    I    A     H
i     H5i  H=}i  AKf.     AUATUSHHL  ?ELFH=  GI<  <   H@   EA   <  <   AX   CHH   H(H@    L`DhA   I#  A  11 L HHH	HuHC I1  fnE.pfofqfqfff~C(I3f  E2ffC0Ef      >1  D  I/(  A  HU(Hu01f.     
HHH	H9uHC I=  fnE:pfofqfqfff~C(I?  E>ffC0Ef@   fCPH9	  C(H1HC I9   H   s0HK8HS@HLCH   HC@HS8L9D  H   H|    HH[]A\A]H4EA   <A    1LHH	HuHC I1   fnE.f pf~C(I3   E2fC0E(   fCPH9@ H1v@A<    HfD  HU/Hu'1fD  
HHH	H9uHC I=v=fnE:f pf~C(I?v#E>fC0Em        f.     fSHH?H[?f.     Hf.     fAWAVAUATUSHXLG8LO@Ht$0L;O  HI(IH    HD$(H    f  M}AM*f|$A   Me HT$@LL$8MLT$HIMMM9!  M:LL6  AZY  It$M\$I9  K<i  11D  7HHH	HuI|$M9  L11fD  7HHH	HuIt$I9  11f     8HHH	HuH1H@I9rzHuuL9snHD$8H|$0LT$ HL$HHD$(LL$H?LL$HL$LT$ u2Ht$@LT$HML9  IL6I*HX[]A\A]A^A_@ AIfD;t$HX[]A\A]A^A_f     It$(M\$ I9  K4   H~1f.     HHH	H9uIt$M9V  L1H~fD  HHH	H9uIt$I9&  11 8HHH	HufD  H~1fHH	HHH9uIt$M9   M71IsfHH	HHI9uIt$I9      1D  T8HH	Huf        1f     THH	HuI|$M9rKL   @ T7HH	HuI|$I9r#       T8HH	HuH
ub     H5a  H=a  :AWAVAUIATUSH(dH%(   HD$1H    HL$HT$d  Hl$H{  HT$Hm  1}  Ht!0     HH   }  I  Hu3  HH&  E11    HH9s(|  uH9s H|  uH9rIH9r؀|IN<   J|;t;IE IH   J<8HHu9    HKD>    I1Iwc HH9L9sQtMH9 uH9|  u utHH9|  tHIHL9rf.     DHT$dH+%(   u'H([]A\A]A^A_fD  1@ H\$95 fD  AWAVAUATIUSHhHt$HL$HHT$PdH%(   HD$XGH    H5U  D$HD$,H  HL$PHL$H  HD$HH  ?Y  I$HHD$ H)ىD$,HL$0  HT
Md$E1HL<HHD$8LlAIf.     LH)HL9  A.LtI5I@MtM9uHcD$ L,@IK|5 U9IHD$L MQ  HD$0HL$8MLt$L| HD@HD$ D$J,;LÃD$fD  M9F  D$   L1fD  2HHH	H9uM9   1} .Lk@HI@I@CU   HHH@HHt$5Ht$LHPHT$6HT$HD$ II9`HD$XdH+%(      D$,Hh[]A\A]A^A_ÐD$,    fD  H1 rHHH	L9u:HcD$ H<@H7HL$HHu+3D0ADt$,s H
]     H5\  H=\  I5H
]     H5\  H=\  *5D$,%6     AWAVAUATUSHHL_@HoHt$ LG8I9  DO(HIfAZ  H AT$*H4H94  LnH\1 H|$0LAqfDL$<IA   L\$(MÉ4$fT$>HHsH   DrA  IEH9=  LSA  1E1D  A<IHI	HuIEH9  LS11D  EHHL	HuL9  E11@ FHIL	Iu1L@H9  H  L9  HT$HT$(H|$ L\$HHL$H4W6HL$L\$HT$A   DL$<H|$0ID$>fE9O  DMcII9'  DIMAIKD= H9  J9A9  J4(1 HHH	H9uID$HHs  LID  A]IHL9uHHD[]A\A]A^A_D  D9<$&  MALIEH9H
Z     H5Y  H= Z  h2     IE$H98  A   HE1H{    D IHM	H9uIEH9  HC1D HHL	H9uL9  E11fD  FHIL	IuD  HCE1ɐ8II	HHH9uIEH9  HC1LS D HHL	I9uL9X  A   1 FDHL	Iu~   E1     AD:II	HuIEH9  LS       EDHL	HuL9   A   fD  FDHL	IuJ(1f.     rHHH	H9uID$HHt6LI     HHI9u@ AD  HDT$H$2H$DT$HID$Ht0HHD$0ED$I$J8E-DABf.     fAWH5C  AVAUATIUSH(dH%(   HD$1HL$HT$   Hl$H   HT$H   1}  Ht!,     HH   }    HuuyHHtp1L-FW  Lt LxA> t~I9   H	H9   	   LL8.   M,$I\$LL)Ht\L-H<+1Hf.1HT$dH+%(      H([]A\A]A^A_ÐLH9g@ f     M|$L1ID$HHtHLLH/I$s    H\$fD  LL8-L/+ LAWAVAUATUHH5 V  SHH   H|$8HL$hHT$xdH%(   H$   1  HL$pH$   HH5U    D[D؃$HD$pH1҃HHH  HHt$xAH)Ht$H$   H)Lg  Lt$hMLD$HDD$E1   D$LkIG1Lt$AHl$@HD\$XHL$ Dd$4DT$(E   D  I90  |$Jt=   11f.     HHH	HuH|$H9   H|$HL9  Ld    H5T  L+uI|$s+D$4H\H|$ AFI9D$(  D$AIGEGI9w  L$Jt= 5  11HHH	HuH|$H9PHl$@fD  HE     H|$8H$   H$   H5S  Aǅl  H$   H  H$   Hz  1Ҁ; Ht-fD  HH   ;   HuD  HH7  11E1B#MIuL9w  LL9u܀HcHIL,    K|.-HE HHl  E1Ld$J(1EH4$1MMH<$IcMAH4vI)H4LHHNH    FG   H4F+B0 JL0HM9t$+IHuI9uHM9u     B<+ EH4$Ld$   f     H$   dH+%(     HĨ   D[]A\A]A^A_@ E1 1   LHH	Hu>f     1   f     LHH	Huf     L     IcI)HAHRHH4H    BG   HJL*B  # H$    D\$XLD$HHl$(Dd$4Hl$@H|$D\$\LD$Dt$XE:IcL$vII<+LD$HL$HHD$PHT$(HE D\$\_  HD$PHT$(E1MpD|$4LN$$D$   ID\$@IFHL$H!      I9  D$@$  11AHHH	HuM9  It$11     HHH	HuIVI9  IVET$I9l  AL$fH|$HL9s  H|$(   H55P  L$ DT$H,H'#  HcD$4DT$HHt$PL$ H@ALf   f   H$   H|$8H$   LD$dHL\$ DT$DT$L\$ o  H$   HH9Z  H$   HCHI9{  H|$(HD$@?  11 HHH	Hu I1AwEH'O  BM{HAC%LHHHl'D$4A M|Ht$H|$IGI9|$X  $D$IFI9  D$@   11fD  AHHH	HuIVI9  H|$(1It$J7D  
HHH	H9uIVI9Y  ET$M9J  AL$ff.     1   f     ATHH	HuIVI9  IT$It$fD  
HHH	H9uIVI9   ET$M9   AL$UfD  1   f     ATHH	HuM9   It$   f.     LHH	HuIVI9rVIVET$I9rGAL$ H@ 1۸   LHH	HuD|$4oH
M     H51L  H=CL  $f!&L"D8A1AWAVAUATUSH  H$   H$   H$   H|$(H5dB  dH%(   H$   1s
  HD$(@$HHH$   $   ?Z  HǄ$   @   H\$(H$   H$   H5K  H
~
  H$   H$   HH5K  W
  CD$|$H$   H1҃HHHL$H$   H
  H$   HD$@H	  1Ҿ   H$   HcD$dM#HD$pHn
  HL$(L$      H$   APH)Hcff+I)	H$   T$H)HD$ HD$I"H$   H	  	  <$H$   HD$0    H$   Mt$|D$x    HD$8H$   AL$   IHKL$   HDI)LMHD$HD$(O L$   LpJD L\$PHD$HID$ỈH$   LIHŋ4$HC  H9b  I|  11     4:HHH	HuHSH9(  A|HS
fH9  ATfn  |$ t
[  H|$8H9
  H|$ HH9   M,A}  +  LL$X9 HL$0D$xH|$@ HDL$XHD$0  H9l$PsJE1H\$XLd$hLMAHD$HLH4#tcHD$@H@H9  HD$PHH9rH
%I     H5;H  H=MH   D  HǄ$       HǄ$        H$   ILd$hDH\$XI<LE  11@ 4HHH	L9rIExH|$p t
H|$pMcBI$HD$IHL9d$H|$p L$   LL$      T$d   H$   Hl$1L|$8Ld$0N4 L$   D|$xLLt$pfD  A< u&HD$(H;hHD$AH<(xMdHL9\$dLd$0Hl$D|$xL|$8D$xP  LcH|$0KdL4    L!H$   HD$HHj  HD$IH$   6  DT$|D,$1H$   LD$(ALaLLHL$ IxIGE  H9(  Jt= E  11@ DHHL	HuIWH9  Bt=IW
fH9  BT=f   |$ tփ@
   Ht$ HH9bH>    E1HDT$HLD$@ALL$8G\UHL$0D$Ht$HL$I<$HHcD$Ht$H@H$HH8LLpDXIH$DT$HLD$@LL$8HL$0A MtIIM9H$   ZHL$pH!  L$   HcD$dLH)   H$   HHD$LHH)IH|$Ll5 H$   MMIf.     A>    HD$HL$(LH;ALHD$|I  1LH$    tf     NHHH	L9uHL$HcLH$H4vH4LnHFU   LH$AD  MlHD$IIII9EH|$p+H$   dH+%(     H  []A\A]A^A_H9   ItG11 4:HHH	HuHSH9rTA|HSfH9rAAT+@ 1   t:HH	HuHSH9rHSA|H9sH
C     H5B  H="C  w    1   f     t:HH	HuHSH9rHS
A|H9H9rJt= E   11f     DHHL	HuIWH9WBt=IWfH9@BT=c H$   N?H1fD  2HHH	LH)I9sFfH$      L1@ HHH	L9u1   f     D\HL	HuIWH9IWBt=H9G     1   f     D\HL	HuIWH9JIW
Bt=H9_2     HD$p    D$d    {f.     HǄ$       HǄ$       HǄ$       HǄ$       mH|$pAH$   4H\$XLd$hD1H|$p t(L$   D$dHD$0    D$x    I)H|$p1H$   H$   H     1&1DH|$plH|$pH$   KG
f.      USHHHoPH} H}H}8H0HCP    H[]ÐAWAVAUIATUSHHHdH%(   HD$81gLHLE1H~@H}HH~Module H8HsignaturH3
H3BH	t@H   AAt^E1HD$8dH+%(   i  HHD[]A\A]A^A_D  Hpended~
H3BHature apH3JH	u1HAAuH(L$.A$wAL$wA|$@xAD$AMeET$E|$MEMcMI9DL)L.@tjL)fInL[@A   H.L)L{HCH.HH+  ~H  Lk~H/  flC0K f.     L׉DD$1HH$DD$HI  HDD$eLDD$HH  1DD$HHt  H@Hg  Ho(L8LhHS  1HL$(HT$ PHHHC81LHHC@DD$HHD$I  HMPHHcHDD$HHD$  LHE1HD$HkDD$HC@f.     DLDD$ HHD$HDD$
t!ALDD$DD$A9|t7H|$DD$>HDD$HHtHDD$HCHL$ 11H|$0DD$H|$0DDD$=  \  
  uC       @      H  HAL$fHn   H  DD$C(DD$HtPHL$L0A   HCPHHHL$HHHHCH6=        =  w1HC(H|$DD$DD$H|$DD$4DD$LDD$DD$HDD$=  t,=w  u
   =  u               H;  HGHHtD  f.     D  UHS   O   HHHHt"v)ڹ@      CщXHhPH[]D     f     H   AVAULoATIUSDwIMM9r^fD  HI4M9sGID$I] HtAmHHH9r    ID$H{HH9rI] fD  [L]A\A]A^    AWAVAUATUHHSHHHT$Hǃ  4    HHސHA11ЉH9u݃|  K  "      u1ЉЉ1ЉЉ1ЍV!HLtE~AFM&AW9   EIMM9r"  f.     I|$xIL9sYII4$HuHEHtI|$HD$I$ID$1H[]A\A]A^A_fLLL)E~LHD$AHHGE~E 뾐ELIH|IH   IE~En2
1f     F11ȉ    1~H[LE
 fAWAVAUATUHHSHHHǃd  4    HHfD  HA11ЉH9u݃             }E11ЉЉ1ЉЉ1ЍW!HHDDxL( M9s,K,>HHIIMI4$x"t(LuM9rH1[]A\A]A^A_fD  I ID$H[]A\A]A^A_@ 16     
1f     F11ȉH    AWAVAUATUSHH(H<$H
Hǃ2  4    HHD  HA11ЉH9u݃          H<$11ЉwЉ1ЉЉ1ЍV!HHDDxL(HD$L|$fD  L9s1M$/HILHMt
 I6Ax.t4Il$L9rAH(D[]A\A]A^A_f.     M H$H@Ht DL$I~HD$DL$L(@HD$HD$IvLDL$HIT L)H|$H$1DL$GsD$G+1ҍXG9VIH?DL$HkDL$H1IH$XA^f     
1gf     F11ȉ=    1H     H4  H>HFÐIыWLHIHHItWQ;Vs'HHMtHBIMtHI     PAzA    QHHIT9r1@ HA9sDRHEt9s1fD  H    HG    H?     SHHGH?pHt
S H[H;HD$HD$@ USHHWHj9os!Hu1HHHtHSk HH[]f.     HHH^Hu    ATUSGHH?D`D9cs$Lu/L'H1HtH;CDc@,   C[]A\ÐAIfD  AVAUATUSH   HH   HHH;IAċCF4(LD9ssu:L
HHtBDsHCDHH
DkD[]A\A]A^fAIL`
HHuE1[]DA\A]A^H
r2  c   H51  H=2  	H
S2  b   H51  H=1  f.     GtGPH
2  r   H51  H=1  fG9r)GPH
1  x   H5w1  H=1   G         UHHSHH
HtHHHH[]Z1[]f.      DHEtHD8uDAHEuf.     1<[t6dt<-ul_HH  v  HtH
1f     H<]tu<]u]HH  vfD  <]ufD  HH  nf.     HthUHS1Ht<[t%<]t9<-tE{HHuH1[]@ H5z0  ؀|  HuH[]@ _붸f.      H1%f     Et+A.t%DHH  tDA-uA_   ܐ HtH
 UHSHH	Ht8 tHHHH[]H1[]    AVIAUAATIU1SHZHLDK	Ht~$HH)M$.HuA$ H[]A\A]A^@  tڃt[]HA\A]A^fAUAATIU1SHHI4,HD|Ht
~H)HHuHH[]A\A]@ S t݃tH[H]A\A]     AUATUպ    SHHHdH%(   HD$81H    Ld$Lx@Ht$L     Hl$IL9t6FHU H DP t"L+1HD$8dH+%(   uHH[]A\A]úYf     AUATUպ    SHHHdH%(   HD$81H    Ld$L8x@=Ht$L     Hl$IL9t6HU H DP t"L+1HD$8dH+%(   uHH[]A\A]úf     AWAVAUIATUSH   HrIH   HCE11   H;Cs3HPHS 
tR\t}D}A,D9   HCIcH;CrH߉L$L$
t\tEuÅuLE1@ A, MtAEu 1GHL[]A\A]A^A_D  HCH;CsVHPHS 
eAAjfD  LHcL$L$HvI>f.     H߉L$L$f.     @ AVAUATIUS?/thHHtkLHIHItIHHtB0/J|0IU1L HH[H]A\A]A^@ 1H@ 1@ HW`HiOX@B HS㥛 HHHH  HH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               EMERGENCY ALERT CRITICAL ERROR WARNING NOTICE INFO DEBUG L:%d libkmod: %s %s:%d %s:     Xhx8H(/lib/modules %s/%s      custom logging function %p registered
 ../libkmod/libkmod.c     use mmaped index '%s' for name=%s
      Could not create module for alias=%s realname=%s: %s
 %s/%s.bin file=%s name=%s
        use mmaped index '%s' modname=%s
       could not open builtin file '%s'
 modules.builtin file=%s modname=%s
 KMOD_LOG debug could not create config
 ctx %p created
 log_priority=%d
  could not create by-name hash
  get module name='%s' found=%p
 add %p key='%s'
 del %p key='%s'
 symbol:        Could not create module from name %s: %s
 modules.dep   could not open moddep file '%s'
        Could not create module for alias=%s modname=%s: %s
 out of memory
 context %p released
 Index %s already loaded
 use mmaped index '%s'
 file=%s
       kmod_dump_index kmod_load_resources             kmod_lookup_alias_from_commands kmod_lookup_alias_from_config   kmod_lookup_alias_from_moddep_file              kmod_search_moddep              lookup_builtin_file                             kmod_lookup_alias_from_builtin_file                             kmod_lookup_alias_from_builtin_file                             kmod_lookup_alias_from_kernel_builtin_file                      kmod_lookup_alias_from_alias_bin                kmod_pool_del_module            kmod_pool_add_module            kmod_pool_get_module            kmod_set_log_fn kmod_unref      kmod_new /etc/modprobe.d /run/modprobe.d /usr/local/lib/modprobe.d modules.alias alias  modules.symbols modules.builtin.alias         modules.builtin.modinfo get_string: %s
 ../libkmod/libkmod-builtin.c    kmod_builtin_iter_next: unexpected string without modname prefix
       kmod_builtin_iter_get_modname: unexpected string without modname prefix
                kmod_builtin_iter_get_modname   kmod_builtin_iter_next  Ignoring duplicate config file: %s/%s
 ../libkmod/libkmod-config.c modname='%s' options='%s'
 modname='%s' cmd='%s %s'
 modules.softdep could not stat '%s': %m
 opendir(%s): %m
 .conf /proc/cmdline parsing file '%s' fd=%d
 fd %d: %m
 	  name=%s modname=%s
 blacklist options install remove %u pre, %u post
 out-of-memory modname=%s
 include config %s %s
 modprobe blacklist= , post:  Directories inside directories are not supported: %s/%s
        Error parsing %s/%s: path too long
     %s: command %s is deprecated and not parsed anymore
    %s line %u: ignoring bad line starting with '%s'
       could not open '/proc/cmdline' for reading: %m
 could not read from '/proc/cmdline': %s
        Ignoring bad option on kernel command line while parsing module name: '%s'
     %`%`%`%`%`%`%`%`%%%%%%`%`%`%`%`%`%`%`%`%`%`%`%`%`%`%`%`%`%%`%8&`%`%`%`%`%`%`%`%`%`%`%&    kcmdline_parse_result           kmod_config_parse_kcmdline      kmod_config_add_softdep         kmod_config_add_command         kmod_config_add_options         kmod_config_add_blacklist       kmod_config_add_alias           kmod_config_parse               conf_files_filter_out           conf_files_list conf_files_insert_sorted        kmod_config_new ../libkmod/libkmod-index.c pidx != NULL malloc: %m
     open(%s, O_RDONLY|O_CLOEXEC): %m
       mmap(NULL, %lu, PROT_READ, %d, MAP_PRIVATE, 0): %m
     magic check fail: %x instead of %x
     major version check fail: %u instead of %u
     index_mm_open   index_mm_open    %02X /sys/module/%s/initstate could not open '%s': %s
 ../libkmod/libkmod-module.c could not read from '%s': %s
 live
 coming
 going
 unknown %s: '%s'
 no absolute path for %s
 stat %s: %s
 could not get modname from path %s
     kmod_module '%s' already exists with different path: new-path='%s' old-path='%s'
 mod->dep == NULL  	 ctx=%p path=%s error=%s
 add dep: %s
 %d dependencies for %s
     could not join path '%s' and '%s'.
 kmod_module %p released
    An empty list is needed to create lookup
       input alias=%s, normalized=%s
 invalid alias: %s
 lookup=%s found=%d
   failed to lookup soft dependency '%s', continuing anyway.
      input modname=%s, normalized=%s
 name='%s' path='%s'
 could not remove '%s': %m
 __versions Failed to strip vermagic: %s
       could not find module by name='%s'
     Failed to strip modversion: %s
 Failed to insert module '%s': %m
       modname=%s mod->name=%s mod->alias=%s
  passed = modname=%s mod->name=%s mod->alias=%s
 *pre == NULL *post == NULL could not get softdep: %s
   Ignore module '%s': already visited
 /proc/modules      could not open /proc/modules: %s
       could not get module from name '%s': %s
 live coming going list != NULL && *list == NULL command $CMDLINE_OPTS MODPROBE_MODULE  Ignoring module '%s': already loaded
   Could not run %s command '%s' for module %s: %m
        Error running %s command '%s' for module %s: retcode %d
 /sys/module/%s coresize        failed to read coresize from %s
        invalid line format at /proc/modules:%d
 /sys/module/%s/refcnt  could not read integer from '%s': '%s'
 /sys/module/%s/holders  could not create module for '%s': %s
 /sys/module/%s/sections could not open '%s/%s': %m
       could not read long from '%s/%s': %m
 sig_id signer sig_key sig_hashalgo signature                      kmod_module_get_dependency_symbols              kmod_module_get_symbols         kmod_module_get_versions        kmod_module_get_info            kmod_module_get_sections        kmod_module_get_holders         kmod_module_get_refcnt          kmod_module_get_size            kmod_module_get_initstate       kmod_module_new_from_loaded     lookup_softdep  kmod_module_get_softdeps        kmod_module_get_options command_do              module_do_install_commands      __kmod_module_fill_softdep      __kmod_module_get_probe_list    kmod_module_get_probe_list                      kmod_module_probe_insert_module kmod_module_insert_module       kmod_module_remove_module       kmod_module_get_path            kmod_module_get_dependencies    kmod_module_new_from_name_lookup                kmod_module_new_from_lookup     kmod_module_unref               kmod_module_new_from_path       kmod_module_parse_depline       kmod_module_parse_depline / xz: %s
 ../libkmod/libkmod-file.c xz: File is corrupt
 xz: Unexpected end of input
 xz: Internal error (bug)
       xz: File format not recognized
 xz: Unsupported compression options
    h&zstd: Failed to create decompression stream
 zstd: %m
 zstd: %s
                zstd_decompress_block           zstd_read_block load_zstd       xz_uncompress_belch     load_xz 7zXZ (/../libkmod/libkmod-elf.c offset < elf->size offset + size <= elf->size        idx < elf->header.section.count idx != SHN_UNDEF vermagic= .strtab .symtab __ksymtab_strings LGW__crc_  elf_get_section_header  elf_get_uint    elf_get_mem md4 ~Module signature appended~
 PGP X509 PKCS#7 md5 sha1 rmd160 sha256 sha384 sha512 sha224 sm3 DSA RSA        ../shared/strbuf.c str != NULL buf != NULL buf->used > 0 buf->used >= n strbuf_popchars strbuf_popchar  strbuf_pushchars ]  ;     L  $  <  L             4  H    , 	  	  	  
  ,\
  
  
  L  \$  T      H    \  \
  ,
  
    <D  t    L  d  |    X  <  ,    (  `  <t        <  \  4  H  \  p      ,      <  L  L	x  \	  l	  |	  	  
  T  L      L!  !$  L"X  "  "  \#  #  #  \$T  &  '  L(  )d  l,  ,  \.8  |0  0  1  1  |24  3t  6  ,:\  L:x  :  ;  \><  >  \?  @$  C  C  D  ,D  <D  Eh  |H  I@   \Jt   J   O$!  LPT!  R!  S,"  T|"  T"  V #  V#  Wd#  X#  X#  \[@$  |\$  \$  ^0%  <_l%  L_%  `%  Lb&  cd&  <d&  Ld&  