From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id D448D1FF15E for ; Wed, 21 Jan 2026 16:15:56 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2999728B7; Wed, 21 Jan 2026 16:16:15 +0100 (CET) Message-ID: <62aa3252-4d4c-4c18-bcf6-83a3e621d874@proxmox.com> Date: Wed, 21 Jan 2026 16:15:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: pbs-devel@lists.proxmox.com References: <20260102160750.285157-1-s.rufinatscha@proxmox.com> Content-Language: en-US From: Samuel Rufinatscha In-Reply-To: <20260102160750.285157-1-s.rufinatscha@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.101 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] superseded: [PATCH proxmox{-backup, , -datacenter-manager} v3 00/10] token-shadow: reduce api token verification overhead X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" aHR0cHM6Ly9sb3JlLnByb3htb3guY29tL3Bicy1kZXZlbC8yMDI2MDEyMTE1MTQwOC43MzE1MTYt MS1zLnJ1ZmluYXRzY2hhQHByb3htb3guY29tL1QvI3QKCk9uIDEvMi8yNiA1OjA3IFBNLCBTYW11 ZWwgUnVmaW5hdHNjaGEgd3JvdGU6Cj4gSGksCj4gCj4gdGhpcyBzZXJpZXMgaW1wcm92ZXMgdGhl IHBlcmZvcm1hbmNlIG9mIHRva2VuLWJhc2VkIEFQSSBhdXRoZW50aWNhdGlvbgo+IGluIFBCUyAo cGJzLWNvbmZpZykgYW5kIGluIFBETSAodW5kZXJseWluZyBwcm94bW94LWFjY2Vzcy1jb250cm9s Cj4gY3JhdGUpLCBhZGRyZXNzaW5nIHRoZSBBUEkgdG9rZW4gdmVyaWZpY2F0aW9uIGhvdHNwb3Qg cmVwb3J0ZWQgaW4gb3VyCj4gYnVndHJhY2tlciAjNzAxNyBbMV0uCj4gCj4gV2hlbiBwcm9maWxp bmcgUEJTIC9zdGF0dXMgZW5kcG9pbnQgd2l0aCBjYXJnbyBmbGFtZWdyYXBoIFsyXSwKPiB0b2tl bi1iYXNlZCBhdXRoZW50aWNhdGlvbiBzaG93ZWQgdXAgYXMgYSBkb21pbmFudCBob3RzcG90IHZp YQo+IHByb3htb3hfc3lzOjpjcnlwdDo6dmVyaWZ5X2NyeXB0X3B3LiBBcHBseWluZyB0aGlzIHNl cmllcyByZW1vdmVzIHRoYXQKPiBwYXRoIGZyb20gdGhlIGhvdCBzZWN0aW9uIG9mIHRoZSBmbGFt ZWdyYXBoLiBUaGUgc2FtZSBwZXJmb3JtYW5jZSBpc3N1ZQo+IHdhcyBtZWFzdXJlZCBbMl0gZm9y IFBETS4gUERNIHVzZXMgdGhlIHVuZGVybHlpbmcgc2hhcmVkCj4gcHJveG1veC1hY2Nlc3MtY29u dHJvbCBsaWJyYXJ5IGZvciB0b2tlbiBoYW5kbGluZywgd2hpY2ggaXMgYQo+IGZhY3RvcmVkIG91 dCB2ZXJzaW9uIG9mIHRoZSB0b2tlbi5zaGFkb3cgaGFuZGxpbmcgY29kZSBmcm9tIFBCUy4KPiAK PiBXaGlsZSB0aGlzIHNlcmllcyBmaXhlcyB0aGUgaW1tZWRpYXRlIHBlcmZvcm1hbmNlIGlzc3Vl IGJvdGggaW4gUEJTCj4gKHBicy1jb25maWcpIGFuZCBpbiB0aGUgc2hhcmVkIHByb3htb3gtYWNj ZXNzLWNvbnRyb2wgY3JhdGUgdXNlZCBieQo+IFBETSwgUEJTIHNob3VsZCBldmVudHVhbGx5LCBp ZGVhbGx5IGJlIHJlZmFjdG9yZWQsIGluIGEgc2VwYXJhdGUKPiBlZmZvcnQsIHRvIHVzZSBwcm94 bW94LWFjY2Vzcy1jb250cm9sIGZvciB0b2tlbiBoYW5kbGluZyBpbnN0ZWFkIG9mIGl0cwo+IGxv Y2FsIGltcGxlbWVudGF0aW9uLgo+IAo+IFByb2JsZW0KPiAKPiBGb3IgdG9rZW4tYmFzZWQgQVBJ IHJlcXVlc3RzLCBib3RoIFBCU+KAmXMgcGJzLWNvbmZpZyB0b2tlbi5zaGFkb3cKPiBoYW5kbGlu ZyBhbmQgUERNIHByb3htb3gtYWNjZXNzLWNvbnRyb2zigJlzIHRva2VuLnNoYWRvdyBoYW5kbGlu Zwo+IGN1cnJlbnRseToKPiAKPiAxLiByZWFkIHRoZSB0b2tlbi5zaGFkb3cgZmlsZSBvbiBlYWNo IHJlcXVlc3QKPiAyLiBkZXNlcmlhbGl6ZSBpdCBpbnRvIGEgSGFzaE1hcDxBdXRoaWQsIFN0cmlu Zz4KPiAzLiBydW4gcGFzc3dvcmQgaGFzaCB2ZXJpZmljYXRpb24gdmlhCj4gICAgIHByb3htb3hf c3lzOjpjcnlwdDo6dmVyaWZ5X2NyeXB0X3B3IGZvciB0aGUgcHJvdmlkZWQgdG9rZW4gc2VjcmV0 Cj4gCj4gVW5kZXIgbG9hZCwgdGhpcyByZXN1bHRzIGluIHNpZ25pZmljYW50IENQVSB1c2FnZSBz cGVudCBpbiByZXBlYXRlZAo+IHBhc3N3b3JkIGhhc2hpbmcgZm9yIHRoZSBzYW1lIHRva2VuK3Nl Y3JldCBwYWlycy4gVGhlIGF0dGFjaGVkCj4gZmxhbWVncmFwaHMgZm9yIFBCUyBbMl0gYW5kIFBE TSBbM10gc2hvdwo+IHByb3htb3hfc3lzOjpjcnlwdDo6dmVyaWZ5X2NyeXB0X3B3IGRvbWluYXRp bmcgdGhlIGhvdCBwYXRoLgo+IAo+IEFwcHJvYWNoCj4gCj4gVGhlIGdvYWwgaXMgdG8gcmVkdWNl IHRoZSBjb3N0IG9mIHRva2VuLWJhc2VkIGF1dGhlbnRpY2F0aW9uIHByZXNlcnZpbmcKPiB0aGUg ZXhpc3RpbmcgdG9rZW4gaGFuZGxpbmcgc2VtYW50aWNzIChpbmNsdWRpbmcgZGV0ZWN0aW5nIG1h bnVhbCBlZGl0cwo+IHRvIHRva2VuLnNoYWRvdykgYW5kIGJlIGNvbnNpc3RlbnQgYmV0d2VlbiBQ QlMgKHBicy1jb25maWcpIGFuZAo+IFBETSAocHJveG1veC1hY2Nlc3MtY29udHJvbCkuIEZvciBi b3RoIHNpdGVzLCB0aGlzIHNlcmllcyBwcm9wb3NlcyB0bzoKPiAKPiAxLiBJbnRyb2R1Y2UgYW4g aW4tbWVtb3J5IGNhY2hlIGZvciB2ZXJpZmllZCB0b2tlbiBzZWNyZXRzIGFuZAo+IGludmFsaWRh dGUgaXQgdGhyb3VnaCBhIHNoYXJlZCBDb25maWdWZXJzaW9uQ2FjaGUgZ2VuZXJhdGlvbi4gTm90 ZSwgYQo+IHNoYXJlZCBnZW5lcmF0aW9uIGlzIHJlcXVpcmVkIHRvIGtlZXAgcHJpdmlsZWdlZCBh bmQgdW5wcml2aWxlZ2VkCj4gZGFlbW9uIGluIHN5bmMgdG8gYXZvaWQgY2FjaGluZyBpbmNvbnNp c3RlbmNpZXMgYWNyb3NzIHByb2Nlc3Nlcy4KPiAyLiBJbnZhbGlkYXRlIG9uIHRva2VuLnNoYWRv dyBmaWxlIEFQSSBjaGFuZ2VzIChzZXRfc2VjcmV0LAo+IGRlbGV0ZV9zZWNyZXQpCj4gMy4gSW52 YWxpZGF0ZSBvbiBkaXJlY3QvbWFudWFsIHRva2VuLnNoYWRvdyBmaWxlIGNoYW5nZXMgKG10aW1l ICsKPiBsZW5ndGgpCj4gNC4gQXZvaWQgcGVyLXJlcXVlc3QgZmlsZSBzdGF0IGNhbGxzIHVzaW5n IGEgVFRMIHdpbmRvdwo+IAo+IFRlc3RpbmcKPiAKPiAqUEJTIChwYnMtY29uZmlnKSoKPiAKPiBU byB2ZXJpZnkgdGhlIGVmZmVjdCBpbiBQQlMsIEk6Cj4gMS4gU2V0IHVwIHRlc3QgZW52aXJvbm1l bnQgYmFzZWQgb24gbGF0ZXN0IFBCUyBJU08sIGluc3RhbGxlZCBSdXN0Cj4gICAgIHRvb2xjaGFp biwgY2xvbmVkIHByb3htb3gtYmFja3VwIHJlcG9zaXRvcnkgdG8gdXNlIHdpdGggY2FyZ28KPiAg ICAgZmxhbWVncmFwaC4gUmVwcm9kdWNlZCBidWcgIzcwMTcgWzFdIGJ5IHByb2ZpbGluZyB0aGUg L3N0YXR1cwo+ICAgICBlbmRwb2ludCB3aXRoIHRva2VuLWJhc2VkIGF1dGhlbnRpY2F0aW9uIHVz aW5nIGNhcmdvIGZsYW1lZ3JhcGggWzJdLgo+IDIuIEJ1aWx0IFBCUyB3aXRoIHBicy1jb25maWcg cGF0Y2hlcyBhbmQgcmUtcmFuIHRoZSBzYW1lIHdvcmtsb2FkIGFuZAo+ICAgICBwcm9maWxpbmcg c2V0dXAuIENvbmZpcm1lZCB0aGF0Cj4gICAgIHByb3htb3hfc3lzOjpjcnlwdDo6dmVyaWZ5X2Ny eXB0X3B3IHBhdGggbm8gbG9uZ2VyIGFwcGVhcnMgaW4gdGhlCj4gICAgIGhvdCBzZWN0aW9uIG9m IHRoZSBmbGFtZWdyYXBoLiBDUFUgdXNhZ2UgaXMgbm93IGRvbWluYXRlZCBieSBUTFMKPiAgICAg b3ZlcmhlYWQuCj4gMy4gRnVuY3Rpb25hbGx5LXdpc2UsIEkgdmVyaWZpZWQgdGhhdDoKPiAgICAg KiB2YWxpZCB0b2tlbnMgYXV0aGVudGljYXRlIGNvcnJlY3RseSB3aGVuIHVzZWQgaW4gQVBJIHJl cXVlc3RzCj4gICAgICogaW52YWxpZCBzZWNyZXRzIGFyZSByZWplY3RlZCBhcyBiZWZvcmUKPiAg ICAgKiBnZW5lcmF0aW5nIGEgbmV3IHRva2VuIHNlY3JldCB2aWEgZGFzaGJvYXJkIChjcmVhdGUg dG9rZW4gZm9yIHVzZXIsCj4gICAgIHJlZ2VuZXJhdGUgZXhpc3Rpbmcgc2VjcmV0KSB3b3JrcyBh bmQgYXV0aGVudGljYXRlcyBjb3JyZWN0bHkKPiAKPiAqUERNIChwcm94bW94LWFjY2Vzcy1jb250 cm9sKSoKPiAKPiBUbyB2ZXJpZnkgdGhlIGVmZmVjdCBpbiBQRE0sIEkgZm9sbG93ZWQgYSBzaW1p bGFyIHRlc3RpbmcgYXBwcm9hY2guCj4gSW5zdGVhZCBvZiBQQlPigJkgL3N0YXR1cywgSSBwcm9m aWxlZCB0aGUgL3ZlcnNpb24gZW5kcG9pbnQgd2l0aCBjYXJnbwo+IGZsYW1lZ3JhcGggWzJdIGFu ZCB2ZXJpZmllZCB0aGF0IHRoZSBleHBlbnNpdmUgaGFzaGluZyBwYXRoIGRpc2FwcGVhcnMKPiBm cm9tIHRoZSBob3Qgc2VjdGlvbiBhZnRlciBpbnRyb2R1Y2luZyBjYWNoaW5nLgo+IAo+IEZ1bmN0 aW9uYWxseS13aXNlLCBJIHZlcmlmaWVkIHRoYXQ6Cj4gICAgICogdmFsaWQgdG9rZW5zIGF1dGhl bnRpY2F0ZSBjb3JyZWN0bHkgd2hlbiB1c2VkIGluIEFQSSByZXF1ZXN0cwo+ICAgICAqIGludmFs aWQgc2VjcmV0cyBhcmUgcmVqZWN0ZWQgYXMgYmVmb3JlCj4gICAgICogZ2VuZXJhdGluZyBhIG5l dyB0b2tlbiBzZWNyZXQgdmlhIGRhc2hib2FyZCAoY3JlYXRlIHRva2VuIGZvciB1c2VyLAo+ICAg ICByZWdlbmVyYXRlIGV4aXN0aW5nIHNlY3JldCkgd29ya3MgYW5kIGF1dGhlbnRpY2F0ZXMgY29y cmVjdGx5Cj4gCj4gQmVuY2htYXJrczoKPiAKPiBUd28gZGlmZmVyZW50IGJlbmNobWFya3MgaGF2 ZSBiZWVuIHJ1biB0byBtZWFzdXJlIGNhY2hpbmcgZWZmZWN0cwo+IGFuZCBSd0xvY2sgY29udGVu dGlvbjoKPiAKPiAoMSkgUmVxdWVzdHMgcGVyIHNlY29uZCBmb3IgUEJTIC9zdGF0dXMgZW5kcG9p bnQgKEUyRSkKPiAKPiBCZW5jaG1hcmtlZCBwYXJhbGxlbCB0b2tlbiBhdXRoIHJlcXVlc3RzIGZv cgo+IC9zdGF0dXM/dmVyYm9zZT0wIG9uIHRvcCBvZiB0aGUgZGF0YXN0b3JlIGxvb2t1cCBjYWNo ZSBzZXJpZXMgWzRdCj4gdG8gY2hlY2sgdGhyb3VnaHB1dCBpbXBhY3QuIFdpdGggZGF0YXN0b3Jl cz0xLCByZXBlYXQ9NTAwMCwgcGFyYWxsZWw9MTYKPiB0aGlzIHNlcmllcyBnaXZlcyB+MTcyIHJl cS9zIGNvbXBhcmVkIHRvIH42NSByZXEvcyB3aXRob3V0IGl0Lgo+IFRoaXMgaXMgYSB+Mi42eCBp bXByb3ZlbWVudCAoYW5kIGFsaWducyB3aXRoIHRoZSB+MTc5IHJlcS9zIGZyb20gdGhlCj4gcHJl dmlvdXMgc2VyaWVzLCB3aGljaCB1c2VkIHBlci1wcm9jZXNzIGNhY2hlIGludmFsaWRhdGlvbiku Cj4gCj4gKDIpIFJ3TG9jayBjb250ZW50aW9uIGZvciB0b2tlbiBjcmVhdGUvZGVsZXRlIHVuZGVy IGhlYXZ5IGxvYWQgb2YKPiB0b2tlbi1hdXRoZW50aWNhdGVkIHJlcXVlc3RzCj4gCj4gVGhlIHBy ZXZpb3VzIHZlcnNpb24gb2YgdGhlIHNlcmllcyBjb21wYXJlZCBzdGQ6OnN5bmM6OlJ3TG9jayBh bmQKPiBwYXJraW5nX2xvdDo6UndMb2NrIGNvbnRlbnRpb24gZm9yIHRva2VuIGNyZWF0ZS9kZWxl dGUgdW5kZXIgaGVhdnkKPiBwYXJhbGxlbCB0b2tlbi1hdXRoZW50aWNhdGVkIHJlYWRlcnMuIHBh cmtpbmdfbG90OjpSd0xvY2sgaGFzIGJlZW4KPiBjaG9zZW4gZm9yIHRoZSBhZGRlZCBmYWlybmVz cyBndWFyYW50ZWVzLgo+IAo+IFBhdGNoIHN1bW1hcnkKPiAKPiBwYnMtY29uZmlnOgo+IAo+IDAw MDEg4oCTIHBicy1jb25maWc6IGFkZCB0b2tlbi5zaGFkb3cgZ2VuZXJhdGlvbiB0byBDb25maWdW ZXJzaW9uQ2FjaGUKPiBFeHRlbmRzIENvbmZpZ1ZlcnNpb25DYWNoZSB0byBwcm92aWRlIGEgcHJv Y2Vzcy1zaGFyZWQgZ2VuZXJhdGlvbgo+IG51bWJlciBmb3IgdG9rZW4uc2hhZG93IGNoYW5nZXMu Cj4gCj4gMDAwMiDigJMgcGJzLWNvbmZpZzogY2FjaGUgdmVyaWZpZWQgQVBJIHRva2VuIHNlY3Jl dHMKPiBBZGRzIGFuIGluLW1lbW9yeSBjYWNoZSB0byBjYWNoZSB2ZXJpZmllZCwgcGxhaW4tdGV4 dCBBUEkgdG9rZW4gc2VjcmV0cy4KPiBDYWNoZSBpcyBpbnZhbGlkYXRlZCB0aHJvdWdoIHRoZSBw cm9jZXNzLXNoYXJlZCBDb25maWdWZXJzaW9uQ2FjaGUKPiBnZW5lcmF0aW9uIG51bWJlci4gVXNl cyBvcGVuc3Ns4oCZcyBtZW1jbXAgY29uc3RhbnQtdGltZSBmb3IgbWF0Y2hpbmcKPiBzZWNyZXRz Lgo+IAo+IDAwMDMg4oCTIHBicy1jb25maWc6IGludmFsaWRhdGUgdG9rZW4tc2VjcmV0IGNhY2hl IG9uIHRva2VuLnNoYWRvdwo+IGNoYW5nZXMKPiBTdGF0cyB0b2tlbi5zaGFkb3cgbXRpbWUgYW5k IGxlbmd0aCBhbmQgY2xlYXJzIHRoZSBjYWNoZSB3aGVuIHRoZQo+IGZpbGUgY2hhbmdlcywgb24g ZWFjaCB0b2tlbiB2ZXJpZmljYXRpb24gcmVxdWVzdC4KPiAKPiAwMDA0IOKAkyBwYnMtY29uZmln OiBhZGQgVFRMIHdpbmRvdyB0byB0b2tlbi1zZWNyZXQgY2FjaGUKPiBJbnRyb2R1Y2VzIGEgVFRM IChUT0tFTl9TRUNSRVRfQ0FDSEVfVFRMX1NFQ1MsIGRlZmF1bHQgNjApIGZvciBtZXRhZGF0YQo+ IGNoZWNrcyBzbyB0aGF0IGZzOjptZXRhZGF0YSBjYWxscyBhcmUgbm90IHBlcmZvcm1lZCBvbiBl YWNoIHJlcXVlc3QuCj4gCj4gcHJveG1veC1hY2Nlc3MtY29udHJvbDoKPiAKPiAwMDA1IOKAkyBh Y2Nlc3MtY29udHJvbDogZXh0ZW5kIEFjY2Vzc0NvbnRyb2xDb25maWcgZm9yIHRva2VuLnNoYWRv dyBpbnZhbGlkYXRpb24KPiAKPiBFeHRlbmRzIHRoZSBBY2Nlc3NDb250cm9sQ29uZmlnIHRyYWl0 IHdpdGgKPiB0b2tlbl9zaGFkb3dfY2FjaGVfZ2VuZXJhdGlvbigpIGFuZAo+IGluY3JlbWVudF90 b2tlbl9zaGFkb3dfY2FjaGVfZ2VuZXJhdGlvbigpIGZvcgo+IHByb3htb3gtYWNjZXNzLWNvbnRy b2wgdG8gZ2V0IHRoZSBzaGFyZWQgdG9rZW4uc2hhZG93IGdlbmVyYXRpb24gbnVtYmVyCj4gYW5k IGJ1bXAgaXQgb24gdG9rZW4gc2hhZG93IGNoYW5nZXMuCj4gCj4gMDAwNiDigJMgYWNjZXNzLWNv bnRyb2w6IGNhY2hlIHZlcmlmaWVkIEFQSSB0b2tlbiBzZWNyZXRzCj4gTWlycm9ycyBQQlMgUEFU Q0ggMDAwMi4KPiAKPiAwMDA3IOKAkyBhY2Nlc3MtY29udHJvbDogaW52YWxpZGF0ZSB0b2tlbi1z ZWNyZXQgY2FjaGUgb24gdG9rZW4uc2hhZG93IGNoYW5nZXMKPiBNaXJyb3JzIFBCUyBQQVRDSCAw MDAzLgo+IAo+IDAwMDgg4oCTIGFjY2Vzcy1jb250cm9sOiBhZGQgVFRMIHdpbmRvdyB0byB0b2tl bi1zZWNyZXQgY2FjaGUKPiBNaXJyb3JzIFBCUyBQQVRDSCAwMDA0Lgo+IAo+IHByb3htb3gtZGF0 YWNlbnRlci1tYW5hZ2VyOgo+IAo+IDAwMDkg4oCTIHBkbS1jb25maWc6IGFkZCB0b2tlbi5zaGFk b3cgZ2VuZXJhdGlvbiB0byBDb25maWdWZXJzaW9uQ2FjaGUKPiBFeHRlbmRzIFBETSBDb25maWdW ZXJzaW9uQ2FjaGUgYW5kIGltcGxlbWVudHMKPiB0b2tlbl9zaGFkb3dfY2FjaGVfZ2VuZXJhdGlv bigpIGFuZAo+IGluY3JlbWVudF90b2tlbl9zaGFkb3dfY2FjaGVfZ2VuZXJhdGlvbigpIGZyb20g QWNjZXNzQ29udHJvbENvbmZpZyBmb3IKPiBQRE0uCj4gCj4gMDAxMCDigJMgZG9jczogZG9jdW1l bnQgQVBJIHRva2VuLWNhY2hlIFRUTCBlZmZlY3RzCj4gRG9jdW1lbnRzIHRoZSBlZmZlY3RzIG9m IHRoZSBUVEwgd2luZG93IG9uIHRva2VuLnNoYWRvdyBlZGl0cwo+IAo+IENoYW5nZXMgZnJvbSB2 MSB0byB2MjoKPiAKPiAqIChyZWZhY3RvcikgU3dpdGNoZWQgY2FjaGUgaW5pdGlhbGl6YXRpb24g dG8gTGF6eUxvY2sKPiAqIChwZXJmKSBVc2UgcGFya2luZ19sb3Q6OlJ3TG9jayBhbmQgYmVzdC1l ZmZvcnQgY2FjaGUgYWNjZXNzIG9uIHRoZQo+ICAgIHJlYWQvcmVmcmVzaCBwYXRoICh0cnlfcmVh ZC90cnlfd3JpdGUpIHRvIGF2b2lkIGxvY2sgY29udGVudGlvbgo+ICogKGRvYykgRG9jdW1lbnQg VFRMLWRlbGF5ZWQgZWZmZWN0IG9mIG1hbnVhbCB0b2tlbi5zaGFkb3cgZWRpdHMKPiAqIChmaXgp IEFkZCBnZW5lcmF0aW9uIGd1YXJkcyAoQVBJX01VVEFUSU9OX0dFTkVSQVRJT04gKwo+ICAgIEZJ TEVfR0VORVJBVElPTikgdG8gcHJldmVudCBjYWNoaW5nIGFjcm9zcyBjb25jdXJyZW50IHNldC9k ZWxldGUgYW5kCj4gICAgZXh0ZXJuYWwgZWRpdHMKPiAKPiBDaGFuZ2VzIGZyb20gdjIgdG8gdjM6 Cj4gCj4gKiAocmVmYWN0b3IpIFJlcGxhY2UgUEJTIHBlci1wcm9jZXNzIGNhY2hlIGludmFsaWRh dGlvbiB3aXRoIGEKPiAgICBjcm9zcy1wcm9jZXNzIHRva2VuLnNoYWRvdyBnZW5lcmF0aW9uIGJh c2VkIG9uIFBCUwo+ICAgIENvbmZpZ1ZlcnNpb25DYWNoZSwgZW5zdXJpbmcgY2FjaGUgY29uc2lz dGVuY3kgYmV0d2VlbiBwcml2aWxlZ2VkCj4gICAgYW5kIHVucHJpdmlsZWdlZCBkYWVtb25zLgo+ ICogKHJlZmFjdG9yKSBEZWNvdXBsaW5nIGdlbmVyYXRpb24gc291cmNlIGZyb20gdGhlCj4gICAg cHJveG1veC9wcm94bW94LWFjY2Vzcy1jb250cm9sIGNhY2hlIGltcGxlbWVudGF0aW9uOiBleHRl bmQKPiAgICBBY2Nlc3NDb250cm9sQ29uZmlnIGhvb2tzIHNvIHRoYXQgcHJvZHVjdHMgY2FuIHBy b3ZpZGUgdGhlIHNoYXJlZAo+ICAgIHRva2VuLnNoYWRvdyBnZW5lcmF0aW9uIHNvdXJjZS4KPiAq IChyZWZhY3RvcikgRXh0ZW5kIFBETSdzIENvbmZpZ1ZlcnNpb25DYWNoZSB3aXRoCj4gICAgdG9r ZW5fc2hhZG93X2dlbmVyYXRpb24KPiAgICBhbmQgaW50cm9kdWNlIGEgcGRtX2NvbmZpZzo6QWNj ZXNzQ29udHJvbENvbmZpZyB3cmFwcGVyIGltcGxlbWVudGluZwo+ICAgIHRoZSBuZXcgcHJveG1v eC1hY2Nlc3MtY29udHJvbCB0cmFpdCBob29rcy4gU3dpdGNoIHNlcnZlciBhbmQgQ0xJCj4gICAg aW5pdGlhbGl6YXRpb24gdG8gdXNlIHBkbV9jb25maWc6OkFjY2Vzc0NvbnRyb2xDb25maWcgaW5z dGVhZCBvZgo+ICAgIHBkbV9hcGlfdHlwZXM6OkFjY2Vzc0NvbnRyb2xDb25maWcuCj4gKiAocmVm YWN0b3IpIEFkYXB0IGdlbmVyYXRpb24gY2hlY2tzIGFyb3VuZCBjYWNoZWQtc2VjcmV0IGNvbXBh cmlzb24gdG8KPiAgICB1c2UgdGhlIG5ldyBzaGFyZWQgZ2VuZXJhdGlvbiBzb3VyY2UuCj4gKiAo Zml4L2xvZ2ljKSBjYWNoZV90cnlfaW5zZXJ0X3NlY3JldDogVXBkYXRlIHRoZSBsb2NhbCBjYWNo ZQo+ICAgIGdlbmVyYXRpb24gaWYgc3RhbGUsIGFsbG93aW5nIHRoZSBuZXcgc2VjcmV0IHRvIGJl IGluc2VydGVkCj4gICAgaW1tZWRpYXRlbHkKPiAqIChyZWZhY3RvcikgRXh0cmFjdCBjYWNoZSBp bnZhbGlkYXRpb24gbG9naWMgaW50byBhCj4gICAgaW52YWxpZGF0ZV9jYWNoZV9zdGF0ZSBoZWxw ZXIgdG8gcmVkdWNlIGR1cGxpY2F0aW9uIGFuZCBlbnN1cmUKPiAgICBjb25zaXN0ZW50IHN0YXRl IHJlc2V0cwo+ICogKHJlZmFjdG9yKSBTaW1wbGlmeSByZWZyZXNoX2NhY2hlX2lmX2ZpbGVfY2hh bmdlZDogaGFuZGxlIHRoZQo+ICAgIHVuLWluaXRpYWxpemVkL3Jlc2V0IHN0YXRlIGFuZCBhZGp1 c3QgdGhlIGdlbmVyYXRpb24gbWlzbWF0Y2gKPiAgICBwYXRoIHRvIGVuc3VyZSBmaWxlIG1ldGFk YXRhIGlzIGFsd2F5cyByZS1yZWFkLgo+ICogKGRvYykgQ2xhcmlmeSBUVEwtZGVsYXllZCBlZmZl Y3RzIG9mIG1hbnVhbCB0b2tlbi5zaGFkb3cgZWRpdHMuCj4gCj4gUGxlYXNlIHNlZSB0aGUgcGF0 Y2ggc3BlY2lmaWMgY2hhbmdlbG9ncyBmb3IgbW9yZSBkZXRhaWxzLgo+IAo+IFRoYW5rcyBmb3Ig Y29uc2lkZXJpbmcgdGhpcyBwYXRjaCBzZXJpZXMsIEkgbG9vayBmb3J3YXJkIHRvIHlvdXIKPiBm ZWVkYmFjay4KPiAKPiBCZXN0LAo+IFNhbXVlbCBSdWZpbmF0c2NoYQo+IAo+IFsxXSBodHRwczov L2J1Z3ppbGxhLnByb3htb3guY29tL3Nob3dfYnVnLmNnaT9pZD03MDE3Cj4gWzJdIGF0dGFjaG1l bnQgMTc2NyBbMV06IEZsYW1lZ3JhcGggc2hvd2luZyB0aGUgcHJveG1veF9zeXM6OmNyeXB0Ojp2 ZXJpZnlfY3J5cHRfcHcgc3RhY2sKPiBbM10gYXR0YWNobWVudCAxNzk0IFsxXTogRmxhbWVncmFw aCBQRE0gYmFzZWxpbmUKPiBbNF0gaHR0cHM6Ly9idWd6aWxsYS5wcm94bW94LmNvbS9zaG93X2J1 Zy5jZ2k/aWQ9NjA0OQo+IAo+IHByb3htb3gtYmFja3VwOgo+IAo+IFNhbXVlbCBSdWZpbmF0c2No YSAoNCk6Cj4gICAgcGJzLWNvbmZpZzogYWRkIHRva2VuLnNoYWRvdyBnZW5lcmF0aW9uIHRvIENv bmZpZ1ZlcnNpb25DYWNoZQo+ICAgIHBicy1jb25maWc6IGNhY2hlIHZlcmlmaWVkIEFQSSB0b2tl biBzZWNyZXRzCj4gICAgcGJzLWNvbmZpZzogaW52YWxpZGF0ZSB0b2tlbi1zZWNyZXQgY2FjaGUg b24gdG9rZW4uc2hhZG93IGNoYW5nZXMKPiAgICBwYnMtY29uZmlnOiBhZGQgVFRMIHdpbmRvdyB0 byB0b2tlbiBzZWNyZXQgY2FjaGUKPiAKPiAgIENhcmdvLnRvbWwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKPiAgIGRvY3MvdXNlci1tYW5hZ2VtZW50LnJzdCAgICAgICAgICAg ICAgIHwgICA0ICsKPiAgIHBicy1jb25maWcvQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgIHwg ICAxICsKPiAgIHBicy1jb25maWcvc3JjL2NvbmZpZ192ZXJzaW9uX2NhY2hlLnJzIHwgIDE4ICsr Cj4gICBwYnMtY29uZmlnL3NyYy90b2tlbl9zaGFkb3cucnMgICAgICAgICB8IDI5OCArKysrKysr KysrKysrKysrKysrKysrKystCj4gICA1IGZpbGVzIGNoYW5nZWQsIDMyMSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCj4gCj4gCj4gcHJveG1veDoKPiAKPiBTYW11ZWwgUnVmaW5hdHNjaGEg KDQpOgo+ICAgIHByb3htb3gtYWNjZXNzLWNvbnRyb2w6IGV4dGVuZCBBY2Nlc3NDb250cm9sQ29u ZmlnIGZvciB0b2tlbi5zaGFkb3cKPiAgICAgIGludmFsaWRhdGlvbgo+ICAgIHByb3htb3gtYWNj ZXNzLWNvbnRyb2w6IGNhY2hlIHZlcmlmaWVkIEFQSSB0b2tlbiBzZWNyZXRzCj4gICAgcHJveG1v eC1hY2Nlc3MtY29udHJvbDogaW52YWxpZGF0ZSB0b2tlbi1zZWNyZXQgY2FjaGUgb24gdG9rZW4u c2hhZG93Cj4gICAgICBjaGFuZ2VzCj4gICAgcHJveG1veC1hY2Nlc3MtY29udHJvbDogYWRkIFRU TCB3aW5kb3cgdG8gdG9rZW4gc2VjcmV0IGNhY2hlCj4gCj4gICBDYXJnby50b21sICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+ICAgcHJveG1veC1hY2Nlc3MtY29udHJv bC9DYXJnby50b21sICAgICAgICAgIHwgICAxICsKPiAgIHByb3htb3gtYWNjZXNzLWNvbnRyb2wv c3JjL2luaXQucnMgICAgICAgICB8ICAxNyArKwo+ICAgcHJveG1veC1hY2Nlc3MtY29udHJvbC9z cmMvdG9rZW5fc2hhZG93LnJzIHwgMjk5ICsrKysrKysrKysrKysrKysrKysrLQo+ICAgNCBmaWxl cyBjaGFuZ2VkLCAzMTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IAo+IHByb3ht b3gtZGF0YWNlbnRlci1tYW5hZ2VyOgo+IAo+IFNhbXVlbCBSdWZpbmF0c2NoYSAoMik6Cj4gICAg cGRtLWNvbmZpZzogaW1wbGVtZW50IHRva2VuLnNoYWRvdyBnZW5lcmF0aW9uCj4gICAgZG9jczog ZG9jdW1lbnQgQVBJIHRva2VuLWNhY2hlIFRUTCBlZmZlY3RzCj4gCj4gICBjbGkvYWRtaW4vc3Jj L21haW4ucnMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgIGRvY3MvYWNjZXNzLWNv bnRyb2wucnN0ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKwo+ICAgbGliL3BkbS1jb25maWcv Q2FyZ28udG9tbCAgICAgICAgICAgICAgICAgICB8ICAxICsKPiAgIGxpYi9wZG0tY29uZmlnL3Ny Yy9hY2Nlc3NfY29udHJvbF9jb25maWcucnMgfCA3MyArKysrKysrKysrKysrKysrKysrKysKPiAg IGxpYi9wZG0tY29uZmlnL3NyYy9jb25maWdfdmVyc2lvbl9jYWNoZS5ycyAgfCAxOCArKysrKwo+ ICAgbGliL3BkbS1jb25maWcvc3JjL2xpYi5ycyAgICAgICAgICAgICAgICAgICB8ICAyICsKPiAg IHNlcnZlci9zcmMvYWNsLnJzICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArLQo+ICAg NyBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsaWIvcGRtLWNvbmZpZy9zcmMvYWNjZXNzX2NvbnRyb2xfY29uZmln LnJzCj4gCj4gCj4gU3VtbWFyeSBvdmVyIGFsbCByZXBvc2l0b3JpZXM6Cj4gICAgMTYgZmlsZXMg Y2hhbmdlZCwgNzM4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gCgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5n IGxpc3QKcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5j b20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo=