From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 15 Dec 2025 00:40:38 -0800 Received: from mail-ot1-f63.google.com ([209.85.210.63]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1vV48E-0000xS-5X for bitcoindev@gnusha.org; Mon, 15 Dec 2025 00:40:38 -0800 Received: by mail-ot1-f63.google.com with SMTP id 46e09a7af769-7cad1393ec8sf7230424a34.0 for ; Mon, 15 Dec 2025 00:40:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1765788032; cv=pass; d=google.com; s=arc-20240605; b=FNtdr5vRl2U/hkAPJp/Juj3B+81oZPyLNY7wLJOwsCUDVh/+uhsgi5sjei6ren0Eow 7PkgeiP0REBEFs2BCq/puQbLo9yRs5nvrAsuI+F/5uNV+qbzPtLmq4ucnSEFD/H9rPTS goBfBukLcFRRWwY/QFgx26SOqLhgQox4hE9h/WC3w6hxe41vGKjC0awrFT+0pUCTEL9q m4uVyLJpPdPbwukVzo+8dk//O3Vd2XUJmb0XxpJy79P69hC9J0CUzhmcHVbkX7Rd7yPT 1pTIjL5bMqF2mfcxDL1YCTYbUrI8LqBbhtOUKPHcJPUr/FsRLKGuV6JyVth3dn6UawpV zdcw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:feedback-id :message-id:subject:from:to:date:dkim-signature; bh=Lg9Gqm8nl54BOsQZlE2fxQ4if0qK3JHZLVxh9G5SEZE=; fh=uDA8lJZSXVB+MIjNTDWScxFQPKXllNwSiPXJW2Ttvww=; b=MvKXyKOnc/1XRbvJEdZ29AkbnI71oJH95uKCfJwW7IUvGf9sDxIEQlbEmLDCj6HtZc 0KghaFBJrnqyZHBuJOIbyPRBPg3XD2dqRMejThZ8oaP4LMxDLAx4/v8VxeSjy0MBasug 9X+FJuHFQB6H+CYEpoNcBNUl+iz3uLtURAeIPvQ3yr121fzgYiUE1aUsHJbKzkeUQ0+A Id5RPEVvHhiDPGggth59OI5Kva9fOH5ndumqHtpswyL6ssukKzkJLbjYCRLI7+Nk6rzm LWNhZgYz1OjRxrywXFqeBplK37d0vLe5zmn5KTQJm0LzVHLjRseiPKcAdK5YLo46kOtW j4nQ==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@proton.me header.s=protonmail header.b=b8m5Ahbb; spf=pass (google.com: domain of nymius@proton.me designates 185.70.43.19 as permitted sender) smtp.mailfrom=nymius@proton.me; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1765788032; x=1766392832; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :feedback-id:message-id:subject:from:to:date:from:to:cc:subject:date :message-id:reply-to; bh=Lg9Gqm8nl54BOsQZlE2fxQ4if0qK3JHZLVxh9G5SEZE=; b=ha2gadOI9kCB0dLwG7tDIgLgogn2YCva1pNodQp5Xv6Lym8R28Ydf78hvWUXCLCtJU e6yF9W27sf3G3bwOJ6ySmf5MxW3VzGTymfk6FqFzZerYeaQWPQP2tMLSkguIum19x/0C AQ7TP4AdoGFnuVVu1xy97GugXz91THtzXCmrxJsfx1HueZrH5Is/prpNWn3PT6P+dTXr 5L0MCBf02jTMDT+9JYkTWDPP/SMkyNaSCOuKx9iidMuLaLrs4CF/+hFHn5HAHHkrEX77 bI/hJQalovRi201sn59tvFAchfJgeHvSZIJDYDTgTsyPCXMkJyGQsJNVWe8KbBEf48mE Qm5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765788032; x=1766392832; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :feedback-id:message-id:subject:from:to:date:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Lg9Gqm8nl54BOsQZlE2fxQ4if0qK3JHZLVxh9G5SEZE=; b=UEOeT5eG5AblFLF7InMoIimUt7jo5+mpgS4xr93phP5yYZTwmyw4Aaq8BHroetFeAV OOMoaw8KBHGjHgYCmGhBdb98RhnlSrPagj8kph39ZDaUNa/6lgAgS49PSPAqkRHP6Aug YsNpecPSVxej80O7Q6tmnc1qEn/IzWwK/+8kDsxqJaJa1VIYRe3994j8qCx61ic6FcSt dK871/BZZhgG2RF5cRACnHzJqSQGtZkQLmpqGuw3Gjsi5HrlQIk47JDo78DPlBlRGiTW zxFj8IPqJlANqAVHjbWOfkdT1GV/prywQtb23z4BTce5RNx121FJMsW20Gr8nmzBosDz c+wg== X-Forwarded-Encrypted: i=2; AJvYcCWBsKhX30/CpiByNfjjpZfFQ7W3L1q4JQg3tCBY1cnrepZKBtvZG9rdRv4JOyIc/hvhXNTJ0qmeuHOr@gnusha.org X-Gm-Message-State: AOJu0YxEf9UYxge3fgNcgdrv44EIJA9XvGgKVf898Li2hqNremzvixqD cYyHW+dps7S+0gjTo76hTgfgXOFVJnrpfLxafB9BEb26BqBXaFmrHk3O X-Google-Smtp-Source: AGHT+IEuQSbJlaH0uRzY3K/P43VpQhkPrxNqLaSxi1evLjS0a+QRdf1alxwmMUln4fnEgLjgVb31/A== X-Received: by 2002:a05:6820:229a:b0:65b:31cf:ca78 with SMTP id 006d021491bc7-65b45705abcmr4181824eaf.47.1765788031485; Mon, 15 Dec 2025 00:40:31 -0800 (PST) X-BeenThere: bitcoindev@googlegroups.com; h="AWVwgWb5i9F93dJQsxKq13sQdiS3LbId0MfhzTSjoPRtk4BkAw==" Received: by 2002:a05:687c:56:20b0:3d5:54c4:3245 with SMTP id 586e51a60fabf-3f5f87f2400ls1267325fac.2.-pod-prod-01-us; Mon, 15 Dec 2025 00:40:26 -0800 (PST) X-Received: by 2002:a05:6808:2e43:b0:453:308c:52cb with SMTP id 5614622812f47-455ac99ced3mr5051373b6e.63.1765788026511; Mon, 15 Dec 2025 00:40:26 -0800 (PST) Received: by 2002:a05:6402:3246:10b0:643:1f87:ab0e with SMTP id 4fb4d7f45d1cf-649957a0f1cmsa12; Mon, 15 Dec 2025 00:00:07 -0800 (PST) X-Received: by 2002:a17:906:ee81:b0:b6d:67b0:ca0b with SMTP id a640c23a62f3a-b7d23a7b1ffmr1065121266b.61.1765785605192; Mon, 15 Dec 2025 00:00:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1765785605; cv=none; d=google.com; s=arc-20240605; b=dkGV/LzezJfc4FPI3DOnx5PUquHh9aXcL4Fp09KPp4TlI4TvXWaSCArz89j8Sl6NTu 3xwoBCEBsp3D37BU0Mhl1gF2a+mj8WjDMGP5KgcuveeissvAp23fT0hfcCbrXWKjHhAK eJoJ+BJiMabZaXtF/BOZB18hgGZl6ERclnHcZdM+axLlZAf2abwnx3T8ALYcEFZNfLO0 D9TK+uCvUR+JdMaDRyr/XSc+NJPmceY9ptkndPTWmBvo75+rgF3JRJz7aLCGGFHe9i4B m3YD49wEzNYNDEeWtSpD9RCC2kLsobdkpWefqiHJKmR29xrSvacg4kVi8TGGvjst//cp TRkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:feedback-id:message-id:subject:from:to:date :dkim-signature; bh=lHtLfj3yxJE5aVfxbLUUZFDRLbY8twobDqvjCkj7+TY=; fh=lhFSo2W/mHC0QoJ9oNg3A35n0DTltt3CQl1/0RggJlk=; b=lBrVX6IJ/HO/H8XTDT8fFVp4h9U/cydHpNHLoOh1tG2PHa9zrajCFW8kVzRkKmdiAi hhpXadNfTO2vvEaGztLZL+IrBn6nl8ZHzr3ieTocRMD1Cm6vZsSb/h1T/bguMXUprw3X +xK4mvW57iphWz5WFirQQ20wc1eUrqlvMYW5pYO1z43myMagaK8iKzEw5wlliT6eAk3u juKiWYM35tJE3SIN577Tv1c//kfBPt0hfbAKT1vMrous1y5Z57P/GqYhpTHGlHJWP69d bybNTcS52uaO0d2Tkm0o3zagKShiXTirS4iIXiSz+tj5HvbHhLjZpmpk7vd5ezODV0ks MevQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@proton.me header.s=protonmail header.b=b8m5Ahbb; spf=pass (google.com: domain of nymius@proton.me designates 185.70.43.19 as permitted sender) smtp.mailfrom=nymius@proton.me; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me Received: from mail-4319.protonmail.ch (mail-4319.protonmail.ch. [185.70.43.19]) by gmr-mx.google.com with ESMTPS id 4fb4d7f45d1cf-649820eff06si185347a12.8.2025.12.15.00.00.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Dec 2025 00:00:05 -0800 (PST) Received-SPF: pass (google.com: domain of nymius@proton.me designates 185.70.43.19 as permitted sender) client-ip=185.70.43.19; Date: Mon, 15 Dec 2025 08:00:01 +0000 To: "bitcoindev@googlegroups.com" From: "'nymius' via Bitcoin Development Mailing List" Subject: [bitcoindev] [BIP Proposal] Add PSBT_IN_SP_TWEAK field Message-ID: Feedback-ID: 96843959:user:proton X-Pm-Message-ID: 19b1b41ab7bf4073035661a15cc2a075eaf95fec MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------9e488db03045bdf4beaed93c502eedd8d04f34791b6d18e308532c122ac3b526"; charset=utf-8 X-Original-Sender: nymius@proton.me X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@proton.me header.s=protonmail header.b=b8m5Ahbb; spf=pass (google.com: domain of nymius@proton.me designates 185.70.43.19 as permitted sender) smtp.mailfrom=nymius@proton.me; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me X-Original-From: nymius Reply-To: nymius Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------9e488db03045bdf4beaed93c502eedd8d04f34791b6d18e308532c122ac3b526 Content-Type: multipart/mixed;boundary=---------------------f1af483968d3dda9eb919e7e82b37cb8 -----------------------f1af483968d3dda9eb919e7e82b37cb8 Content-Type: multipart/alternative;boundary=---------------------98d19d32581a8da9a4e14787615dd806 -----------------------98d19d32581a8da9a4e14787615dd806 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" Hi all, I'm working on the implementation of silent payments in BDK. BDK's transaction creation process is structured around PSBTs. Because of t= his, a stable implementation of silent payments in the project depends of t= he specifications of BIP 352 for this format. BIP 375 and BIP 374 are core = component for this. However, there is a need for the inclusion of silent payments tweaks in PSB= Ts to spend silent payment outputs, which was considered before [1][2] but = never specified. I would like to propose the following as a base for a new BIP proposal addr= essing this gap: ### Abstract This document proposes additional fields for BIP 370 PSBTv2 that allow for = BIP 352 silent payment tweaks to be included in a PSBT of version 2. These = will be fields for scripts that are relevant to the spending of silent paym= ent outputs, but may be also useful to other protocols using taproot tweaks= not following BIP 340 spec. ### Motivation BIPs 352 specify silent payments protocol, which provides a new way to crea= te P2TR outputs and spend them. The existing PSBT fields are unable to supp= ort silent payments without changes, due to the new method by which outputs= are created. BIP 375 and complementary BIP 374 specify how to create outpu= ts locked with silent payment keys using PSBTs. But they don't specify how = to unlock these outputs in a transaction. Therefore new fields must be defi= ned to allow PSBTs to carry the information necessary for tweaking taproot = keys without following the BIP 340 tagging scheme. ### Specification The new per-input types are defined as follows: | Name =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| \ =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | \ |
De= scription | \ =C2=A0 =C2=A0| \
Description =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | \ | \ | \ | | ----------------- | ------------------------- | ----------- | -----------= -------------- | ---------------- | ---------------------------------------= --------------------------------------------------------------------- | ---= ---------------------------- | -------------------------------- | ---------= ---------------------- | | Taproot Raw Tweak | `PSBT_IN_SP_TWEAK =3D 0x1f` | None =C2=A0 =C2=A0 =C2= =A0 =C2=A0| No key data =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | = `<32-byte hash>` | A 32 byte raw tweak. Finalizers should remove this field= after `PSBT_IN_FINAL_SCRIPTWITNESS` is constructed. | =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 2 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 | ### Rationale On PSBTs, when spending non silent payment outputs, one can rely on the `PS= BT_IN_BIP32_DERIVATION` or any of the allowed `PSBT_IN_TAP_*` combinations = available to get the right private keys to sign for each input. To spend silent payment outputs you have to combine the private key with th= e tweak obtained from the transaction corpus. On PSBT there is no field prescribed for this raw tweaks. The `PSBT_IN_BIP3= 2_DERIVATION` field cannot be used because its different nature, neither th= e `PSBT_IN_TAP_MERKLE_ROOT` field because of the tagged hash used for tweak= ing. A change of the hash tag used for silent payments to `TapTweak` or somethin= g compatible with taproot tweaking wouldn't make sense. Although the raw tw= eak can be disguised as the tap tree merkle root for spending, at the momen= t of verifying change outputs, you need the full tap tree, and there would = be none backing this fake merkle root. The use of proprietary fields is possible but brittle, as one may end up ha= ving to perform extra lookups for keys that are not unified across implemen= tations. Assuming different tweaking schemes available, `PSBT_IN_TAP_RAW_TWEAK` woul= d be a more general solution. However is unclear how a hardware wallet will= determine what the content of the field were in the first more general cas= e. In addition, PSBT fields are usually specified as to the nature of the c= ontents. ### Backward Compatibility These are new fields added to the existing PSBT format. Because PSBT is des= igned to be extensible, old software will ignore the new fields. ### Test Vectors To be added ### Related Work BIP 352, BIP 375, BIP 371 A version of this document is also available at https://gist.github.com/nym= ius/b3dd0b8a08c6735d617e6216b73c4260. Any feedback is appreciated. Thanks, nymius. [1]: https://delvingbitcoin.org/t/bip352-psbt-support/877 [2]: https://groups.google.com/g/bitcoindev/c/5G5wzqUXyk4/m/1qEST5b7AQAJ --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= R53cG3TeXgXDUUS4kH_q226GlaFCjI0DZVT6mdTQzSQdj3RnNqWA-bFT7uGgGQFJG6938kDGvDJ= VoFQj8ItEMsJ6NyOjCTvpVEarYiyW6-8%3D%40proton.me. -----------------------98d19d32581a8da9a4e14787615dd806 Content-Type: multipart/related;boundary=---------------------b083a47edfc9eb59de68a9d189691a49 -----------------------b083a47edfc9eb59de68a9d189691a49 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,
I'm working on the implementation of silent payments in = BDK.

BDK's transaction creation proce= ss is structured around PSBTs. Because of this, a stable implementation of = silent payments in the project depends of the specifications of BIP 352 for= this format. BIP 375 and BIP 374 are core component for this.
=

However, there is a need for the inclusion of sil= ent payments tweaks in PSBTs to spend silent payment outputs, which was con= sidered before [1][2] but never specified.

= I would like to propose the following as a base for a new BIP proposa= l addressing this gap:

### Abstract

This document proposes additional fiel= ds for BIP 370 PSBTv2 that allow for BIP 352 silent payment tweaks to be in= cluded in a PSBT of version 2. These will be fields for scripts that are re= levant to the spending of silent payment outputs, but may be also useful to= other protocols using taproot tweaks not following BIP 340 spec.

### Motivation

BIPs 352 specify silent payments protocol, which provides a new way = to create P2TR outputs and spend them. The existing PSBT fields are unable = to support silent payments without changes, due to the new method by which = outputs are created. BIP 375 and complementary BIP 374 specify how to creat= e outputs locked with silent payment keys using PSBTs. But they don't speci= fy how to unlock these outputs in a transaction. Therefore new fields must = be defined to allow PSBTs to carry the information necessary for tweaking t= aproot keys without following the BIP 340 tagging scheme.
=
### Specification

The new per-input types are defined as follows:

| Name              | \<= ;keytype\>               | \<keyda= ta\> | <keydata\><br>Description | \<valuedata\>  = ;  | \<valuedata\><br>Description       &nb= sp;                     &= nbsp;                    =                     &nbs= p;         | \<Versions Requiring Inlusion\> | \&= lt;Versions Requiring Exclusion\> | \<Versions Allowing Inclusion\>= ; |
| ----------------- | ------------------------- = | ----------- | ------------------------- | ---------------- | ------------= ---------------------------------------------------------------------------= --------------------- | ------------------------------- | -----------------= --------------- | ------------------------------- |
= | Taproot Raw Tweak | `PSBT_IN_SP_TWEAK =3D 0x1f` | None     &nbs= p;  | No key data               | `= <32-byte hash>` | A 32 byte raw tweak. Finalizers should remove this = field after `PSBT_IN_FINAL_SCRIPTWITNESS` is constructed. |     &= nbsp;                    =       | 0               =                  | 2   &n= bsp;                     =       |

### Rationale<= /span>

On PSBTs, when spending non silent pa= yment outputs, one can rely on the `PSBT_IN_BIP32_DERIVATION` or any of the= allowed `PSBT_IN_TAP_*` combinations available to get the right private ke= ys to sign for each input.

To spend s= ilent payment outputs you have to combine the private key with the tweak ob= tained from the transaction corpus.

O= n PSBT there is no field prescribed for this raw tweaks. The `PSBT_IN_BIP32= _DERIVATION` field cannot be used because its different nature, neither the= `PSBT_IN_TAP_MERKLE_ROOT` field because of the tagged hash used for tweaki= ng.

A change of the hash tag used for= silent payments to `TapTweak` or something compatible with taproot tweakin= g wouldn't make sense. Although the raw tweak can be disguised as the tap t= ree merkle root for spending, at the moment of verifying change outputs, yo= u need the full tap tree, and there would be none backing this fake merkle = root.

The use of proprietary fields i= s possible but brittle, as one may end up having to perform extra lookups f= or keys that are not unified across implementations.

<= /div>
Assuming different tweaking schemes available, `PSBT_IN_TAP= _RAW_TWEAK` would be a more general solution. However is unclear how a hard= ware wallet will determine what the content of the field were in the first = more general case. In addition, PSBT fields are usually specified as to the= nature of the contents.

### Backward= Compatibility

These are new fields a= dded to the existing PSBT format. Because PSBT is designed to be extensible= , old software will ignore the new fields.

= ### Test Vectors

To be added

### Related Work

<= /div>
BIP 352, BIP 375, BIP 371

<= span>A version of this document is also available at https://gist.github.com/nymius/b3dd0b8a08= c6735d617e6216b73c4260.

Any feedb= ack is appreciated.

Thanks, nymius.



--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/R53cG3= TeXgXDUUS4kH_q226GlaFCjI0DZVT6mdTQzSQdj3RnNqWA-bFT7uGgGQFJG6938kDGvDJVoFQj8= ItEMsJ6NyOjCTvpVEarYiyW6-8%3D%40proton.me.
-----------------------b083a47edfc9eb59de68a9d189691a49-- -----------------------98d19d32581a8da9a4e14787615dd806-- -----------------------f1af483968d3dda9eb919e7e82b37cb8-- --------9e488db03045bdf4beaed93c502eedd8d04f34791b6d18e308532c122ac3b526 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: ProtonMail wrsEARYKAG0Fgmk/wAAJEKS6JynRHnx/RRQAAAAAABwAIHNhbHRAbm90YXRp b25zLm9wZW5wZ3Bqcy5vcmfdbtF/12ud18FyYgkxx41rC+ewfUPS5qf+KtDt Fk9EhxYhBAFR3CmFh616Ga0zq6S6JynRHnx/AAD4hQEAw6rLoMgoDrNeK0Mb oNLoaHhhJhK0wf54i/KI3OZAxlABAJpsxniYmlIRelIim8nXTYqIkcrBGxiU Ozsst/mr3jgM =+ghl -----END PGP SIGNATURE----- --------9e488db03045bdf4beaed93c502eedd8d04f34791b6d18e308532c122ac3b526--