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 84B4E1FF184 for ; Thu, 18 Dec 2025 12:02:42 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 66CEB185CE; Thu, 18 Dec 2025 12:03:30 +0100 (CET) Message-ID: <7ee26369-ed7f-458f-87d3-275f6304bf65@proxmox.com> Date: Thu, 18 Dec 2025 12:03:25 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: pbs-devel@lists.proxmox.com References: <20251217162520.486520-1-s.rufinatscha@proxmox.com> Content-Language: en-US From: Samuel Rufinatscha In-Reply-To: <20251217162520.486520-1-s.rufinatscha@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.099 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 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pbs-devel] [PATCH proxmox{-backup, , -datacenter-manager} v2 0/7] 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" SXQgYXBwZWFycyB3ZSBuZWVkIHRvIHN3aXRjaCB0aGUgY2FjaGUgdG8gYSBTaGFyZWRNZW1vcnkK aW1wbGVtZW50YXRpb24uIEkgcmFuIGFkZGl0aW9uYWwgdG9rZW4gaW52YWxpZGF0aW9uIHRlc3Rz LCB3aGljaCBzaG93ZWQKdGhhdCByZWdlbmVyYXRpbmcgYSBzZWNyZXQgZm9yIGEgZ2l2ZW4gdG9r ZW4gaW4gdGhlIGRhc2hib2FyZCBjYW4gdGFrZQp1cCB0byBvbmUgbWludXRlIChUVEwpIHRvIHBy b3BhZ2F0ZSwgZXZlbiB0aG91Z2ggaXQgY2FsbHMgdGhlIHNldF9zZWNyZXQKQVBJLCB3aGljaCBz aG91bGQgZGlyZWN0bHkgdXBkYXRlIHRoZSBjYWNoZS4KCkkgZGlzY3Vzc2VkIHRoaXMgd2l0aCBG YWJpYW4sIGFuZCBpdCBhcHBlYXJzIHRoZSByb290IGNhdXNlIHNlZW1zIHRvIGJlCnRoYXQgdG9r ZW4gbW9kaWZpY2F0aW9ucyBoYXBwZW4gaW4gdGhlIHByaXZpbGVnZWQgZGFlbW9uLCB3aGlsZSBt b3N0CnJlZ3VsYXIgQVBJIHJlcXVlc3RzIGFyZSBoYW5kbGVkIGJ5IHRoZSBub24tcHJpdmlsZWdl ZCBvbmUuCk1vdmluZyB0aGUgY2FjaGUgdG8gYSBTaGFyZWRNZW1vcnkgaW1wbGVtZW50YXRpb24g c2hvdWxkIHJlc29sdmUKdGhpcy4gTm8gb3RoZXIgY2hhbmdlcyBzaG91bGQgYmUgcmVxdWlyZWQu CgpJIHdpbGwgc2VuZCBhIHYzIGluY29ycG9yYXRpbmcgdGhpcyBjaGFuZ2UuCgpPbiAxMi8xNy8y NSA1OjI1IFBNLCBTYW11ZWwgUnVmaW5hdHNjaGEgd3JvdGU6Cj4gSGksCj4gCj4gdGhpcyBzZXJp ZXMgaW1wcm92ZXMgdGhlIHBlcmZvcm1hbmNlIG9mIHRva2VuLWJhc2VkIEFQSSBhdXRoZW50aWNh dGlvbgo+IGluIFBCUyAocGJzLWNvbmZpZykgYW5kIGluIFBETSAodW5kZXJseWluZyBwcm94bW94 LWFjY2Vzcy1jb250cm9sCj4gY3JhdGUpLCBhZGRyZXNzaW5nIHRoZSBBUEkgdG9rZW4gdmVyaWZp Y2F0aW9uIGhvdHNwb3QgcmVwb3J0ZWQgaW4gb3VyCj4gYnVndHJhY2tlciAjNjA0OSBbMV0uCj4g Cj4gV2hlbiBwcm9maWxpbmcgUEJTIC9zdGF0dXMgZW5kcG9pbnQgd2l0aCBjYXJnbyBmbGFtZWdy YXBoIFsyXSwKPiB0b2tlbi1iYXNlZCBhdXRoZW50aWNhdGlvbiBzaG93ZWQgdXAgYXMgYSBkb21p bmFudCBob3RzcG90IHZpYQo+IHByb3htb3hfc3lzOjpjcnlwdDo6dmVyaWZ5X2NyeXB0X3B3LiBB cHBseWluZyB0aGlzIHNlcmllcyByZW1vdmVzIHRoYXQKPiBwYXRoIGZyb20gdGhlIGhvdCBzZWN0 aW9uIG9mIHRoZSBmbGFtZWdyYXBoLiBUaGUgc2FtZSBwZXJmb3JtYW5jZSBpc3N1ZQo+IHdhcyBt ZWFzdXJlZCBbMl0gZm9yIFBETS4gUERNIHVzZXMgdGhlIHVuZGVybHlpbmcgc2hhcmVkCj4gcHJv eG1veC1hY2Nlc3MtY29udHJvbCBsaWJyYXJ5IGZvciB0b2tlbiBoYW5kbGluZywgd2hpY2ggaXMg YQo+IGZhY3RvcmVkIG91dCB2ZXJzaW9uIG9mIHRoZSB0b2tlbi5zaGFkb3cgaGFuZGxpbmcgY29k ZSBmcm9tIFBCUy4KPiAKPiBXaGlsZSB0aGlzIHNlcmllcyBmaXhlcyB0aGUgaW1tZWRpYXRlIHBl cmZvcm1hbmNlIGlzc3VlIGJvdGggaW4gUEJTCj4gKHBicy1jb25maWcpIGFuZCBpbiB0aGUgc2hh cmVkIHByb3htb3gtYWNjZXNzLWNvbnRyb2wgY3JhdGUgdXNlZCBieQo+IFBETSwgUEJTIHNob3Vs ZCBldmVudHVhbGx5LCBpZGVhbGx5IGJlIHJlZmFjdG9yZWQsIGluIGEgc2VwYXJhdGUKPiBlZmZv cnQsIHRvIHVzZSBwcm94bW94LWFjY2Vzcy1jb250cm9sIGZvciB0b2tlbiBoYW5kbGluZyBpbnN0 ZWFkIG9mIGl0cwo+IGxvY2FsIGltcGxlbWVudGF0aW9uLgo+IAo+IFByb2JsZW0KPiAKPiBGb3Ig dG9rZW4tYmFzZWQgQVBJIHJlcXVlc3RzLCBib3RoIFBCU+KAmXMgcGJzLWNvbmZpZyB0b2tlbi5z aGFkb3cKPiBoYW5kbGluZyBhbmQgUERNIHByb3htb3gtYWNjZXNzLWNvbnRyb2zigJlzIHRva2Vu LnNoYWRvdyBoYW5kbGluZwo+IGN1cnJlbnRseToKPiAKPiAxLiByZWFkIHRoZSB0b2tlbi5zaGFk b3cgZmlsZSBvbiBlYWNoIHJlcXVlc3QKPiAyLiBkZXNlcmlhbGl6ZSBpdCBpbnRvIGEgSGFzaE1h cDxBdXRoaWQsIFN0cmluZz4KPiAzLiBydW4gcGFzc3dvcmQgaGFzaCB2ZXJpZmljYXRpb24gdmlh Cj4gICAgIHByb3htb3hfc3lzOjpjcnlwdDo6dmVyaWZ5X2NyeXB0X3B3IGZvciB0aGUgcHJvdmlk ZWQgdG9rZW4gc2VjcmV0Cj4gCj4gVW5kZXIgbG9hZCwgdGhpcyByZXN1bHRzIGluIHNpZ25pZmlj YW50IENQVSB1c2FnZSBzcGVudCBpbiByZXBlYXRlZAo+IHBhc3N3b3JkIGhhc2ggY29tcHV0YXRp b25zIGZvciB0aGUgc2FtZSB0b2tlbitzZWNyZXQgcGFpcnMuIFRoZQo+IGF0dGFjaGVkIGZsYW1l Z3JhcGhzIGZvciBQQlMgWzJdIGFuZCBQRE0gWzNdIHNob3cKPiBwcm94bW94X3N5czo6Y3J5cHQ6 OnZlcmlmeV9jcnlwdF9wdyBkb21pbmF0aW5nIHRoZSBob3QgcGF0aC4KPiAKPiBBcHByb2FjaAo+ IAo+IFRoZSBnb2FsIGlzIHRvIHJlZHVjZSB0aGUgY29zdCBvZiB0b2tlbi1iYXNlZCBhdXRoZW50 aWNhdGlvbiBwcmVzZXJ2aW5nCj4gdGhlIGV4aXN0aW5nIHRva2VuIGhhbmRsaW5nIHNlbWFudGlj cyAoaW5jbHVkaW5nIGRldGVjdGluZyBtYW51YWwgZWRpdHMKPiB0byB0b2tlbi5zaGFkb3cpIGFu ZCBiZSBjb25zaXN0ZW50IGJldHdlZW4gUEJTIChwYnMtY29uZmlnKSBhbmQKPiBQRE0gKHByb3ht b3gtYWNjZXNzLWNvbnRyb2wpLiBGb3IgYm90aCBzaXRlcywgdGhlIHNlcmllcyBwcm9wb3Nlcwo+ IGZvbGxvd2luZyBhcHByb2FjaDoKPiAKPiAxLiBJbnRyb2R1Y2UgYW4gaW4tbWVtb3J5IGNhY2hl IGZvciB2ZXJpZmllZCB0b2tlbiBzZWNyZXRzCj4gMi4gSW52YWxpZGF0ZSB0aGUgY2FjaGUgd2hl biB0b2tlbi5zaGFkb3cgY2hhbmdlcyAoZGV0ZWN0IG1hbnVhbCBlZGl0cykKPiAzLiBDb250cm9s IG1ldGFkYXRhIGNoZWNrcyB3aXRoIGEgVFRMIHdpbmRvdwo+IAo+IFRlc3RpbmcKPiAKPiAqUEJT IChwYnMtY29uZmlnKSoKPiAKPiBUbyB2ZXJpZnkgdGhlIGVmZmVjdCBpbiBQQlMsIEk6Cj4gMS4g U2V0IHVwIHRlc3QgZW52aXJvbm1lbnQgYmFzZWQgb24gbGF0ZXN0IFBCUyBJU08sIGluc3RhbGxl ZCBSdXN0Cj4gICAgIHRvb2xjaGFpbiwgY2xvbmVkIHByb3htb3gtYmFja3VwIHJlcG9zaXRvcnkg dG8gdXNlIHdpdGggY2FyZ28KPiAgICAgZmxhbWVncmFwaC4gUmVwcm9kdWNlZCBidWcgIzYwNDkg WzFdIGJ5IHByb2ZpbGluZyB0aGUgL3N0YXR1cwo+ICAgICBlbmRwb2ludCB3aXRoIHRva2VuLWJh c2VkIGF1dGhlbnRpY2F0aW9uIHVzaW5nIGNhcmdvIGZsYW1lZ3JhcGggWzJdLgo+ICAgICBUaGUg ZmxhbWVncmFwaCBzaG93ZWQgcHJveG1veF9zeXM6OmNyeXB0Ojp2ZXJpZnlfY3J5cHRfcHcgaXMg dGhlCj4gICAgIGhvdHNwb3QuCj4gMi4gQnVpbHQgUEJTIHdpdGggcGJzLWNvbmZpZyBwYXRjaGVz IGFuZCByZS1yYW4gdGhlIHNhbWUgd29ya2xvYWQgYW5kCj4gICAgIHByb2ZpbGluZyBzZXR1cC4K PiAzLiBDb25maXJtZWQgdGhhdCB0aGUgcHJveG1veF9zeXM6OmNyeXB0Ojp2ZXJpZnlfY3J5cHRf cHcgcGF0aCBubwo+ICAgICBsb25nZXIgYXBwZWFycyBpbiB0aGUgaG90IHNlY3Rpb24gb2YgdGhl IGZsYW1lZ3JhcGguIENQVSB1c2FnZSBpcwo+ICAgICBub3cgZG9taW5hdGVkIGJ5IFRMUyBvdmVy aGVhZC4KPiA0LiBGdW5jdGlvbmFsbHkgdmVyaWZpZWQgdGhhdDoKPiAgICAgKiB0b2tlbi1iYXNl ZCBBUEkgYXV0aGVudGljYXRpb24gc3RpbGwgd29ya3MgZm9yIHZhbGlkIHRva2Vucwo+ICAgICAq IGludmFsaWQgc2VjcmV0cyBhcmUgcmVqZWN0ZWQgYXMgYmVmb3JlCj4gICAgICogZ2VuZXJhdGlu ZyBhIG5ldyB0b2tlbiBzZWNyZXQgdmlhIGRhc2hib2FyZCB3b3JrcyBhbmQKPiAgICAgYXV0aGVu dGljYXRlcyBjb3JyZWN0bHkKPiAKPiAqUERNIChwcm94bW94LWFjY2Vzcy1jb250cm9sKSoKPiAK PiBUbyB2ZXJpZnkgdGhlIGVmZmVjdCBpbiBQRE0sIEkgZm9sbG93ZWQgYSBzaW1pbGFyIHRlc3Rp bmcgYXBwcm9hY2guCj4gSW5zdGVhZCBvZiAvc3RhdHVzLCBJIHByb2ZpbGVkIHRoZSAvdmVyc2lv biBlbmRwb2ludCB3aXRoIGNhcmdvCj4gZmxhbWVncmFwaCBbMl0gYW5kIHZlcmlmaWVkIHRoYXQg dGhlIHRva2VuIGhhc2hpbmcgcGF0aCBkaXNhcHBlYXJzIFs0XQo+IGZyb20gdGhlIGhvdCBzZWN0 aW9uIGFmdGVyIGFwcGx5aW5nIHRoZSBwcm94bW94LWFjY2Vzcy1jb250cm9sIHBhdGNoZXMuCj4g Cj4gRnVuY3Rpb25hbGx5IEkgdmVyaWZpZWQgdGhhdDoKPiAgICAgKiB0b2tlbi1iYXNlZCBBUEkg YXV0aGVudGljYXRpb24gc3RpbGwgd29ya3MgZm9yIHZhbGlkIHRva2Vucwo+ICAgICAqIGludmFs aWQgc2VjcmV0cyBhcmUgcmVqZWN0ZWQgYXMgYmVmb3JlCj4gICAgICogZ2VuZXJhdGluZyBhIG5l dyB0b2tlbiBzZWNyZXQgdmlhIGRhc2hib2FyZCB3b3JrcyBhbmQKPiAgICAgYXV0aGVudGljYXRl cyBjb3JyZWN0bHkKPiAKPiBCZW5jaG1hcmtzOgo+IAo+IFR3byBkaWZmZXJlbnQgYmVuY2htYXJr cyBoYXZlIGJlZW4gcnVuIHRvIG1lYXN1cmUgY2FjaGluZyBlZmZlY3RzCj4gYW5kIFJ3TG9jayBj b250ZW50aW9uOgo+IAo+ICgxKSBSZXF1ZXN0cyBwZXIgc2Vjb25kIGZvciBQQlMgL3N0YXR1cyBl bmRwb2ludCAoRTJFKQo+ICgyKSBSd0xvY2sgY29udGVudGlvbiBmb3IgdG9rZW4gY3JlYXRlL2Rl bGV0ZSB1bmRlcgo+ICAgICAgaGVhdnkgcGFyYWxsZWwgdG9rZW4tYXV0aGVudGljYXRlZCByZWFk ZXJzOyBjb21wYXJlZAo+ICAgICAgc3RkOjpzeW5jOjpSd0xvY2sgYW5kIHBhcmtpbmdfbG90OjpS d0xvY2suCj4gCj4gKDEpIGJlbmNobWFya2VkIHBhcmFsbGVsIHRva2VuIGF1dGggcmVxdWVzdHMg Zm9yCj4gL3N0YXR1cz92ZXJib3NlPTAgb24gdG9wIG9mIHRoZSBkYXRhc3RvcmUgbG9va3VwIGNh Y2hlIHNlcmllcyBbNV0KPiB0byBjaGVjayB0aHJvdWdocHV0IGltcGFjdC4gV2l0aCBkYXRhc3Rv cmVzPTEsIHJlcGVhdD01MDAwLCBwYXJhbGxlbD0xNgo+IHRoaXMgc2VyaWVzIGdpdmVzIH4xNzkg cmVxL3MgY29tcGFyZWQgdG8gfjY1IHJlcS9zIHdpdGhvdXQgaXQuCj4gVGhpcyBpcyBhIH4yLjc1 eCBpbXByb3ZlbWVudC4KPiAKPiAoMikgYmVuY2htYXJrZWQgdG9rZW4gY3JlYXRlL2RlbGV0ZSBv cGVyYXRpb25zIHVuZGVyIGhlYXZ5IGxvYWQgb2YKPiB0b2tlbi1hdXRoZW50aWNhdGVkIHJlcXVl c3RzIG9uIHRvcCBvZiB0aGUgZGF0YXN0b3JlIGxvb2t1cCBjYWNoZSBbNV0KPiBzZXJpZXMuIFRo aXMgYmVuY2htYXJrIHdhcyBkb25lIHVzaW5nIGFnYWluc3QgYSA2NC1wYXJhbGxlbAo+IHRva2Vu LWF1dGggZmxvb2QgKDIwMGsgcmVxdWVzdHMpIGFnYWluc3QKPiAvYWRtaW4vZGF0YXN0b3JlL2Rz MDAwMS9zdGF0dXM/dmVyYm9zZT0wIHdoaWxlIGV4ZWN1dGluZyA1MCB0b2tlbgo+IGNyZWF0ZSAr IDUwIHRva2VuIGRlbGV0ZSBvcGVyYXRpb25zLiBBZnRlciB0aGUgc2VyaWVzIEkgc2F3IHRoZQo+ IGZvbGxvd2luZyBlMmUgQVBJIGxhdGVuY2llczoKPiAKPiBwYXJraW5nX2xvdDo6UndMb2NrCj4g ICAgLSBjcmVhdGUgYXZnIH4yN21zIChwOTUgfjI4bXMpIHZzIH40Nm1zIChwOTUgfjUwbXMpIGJh c2VsaW5lCj4gICAgLSBkZWxldGUgYXZnIH4xN21zIChwOTUgfjE5bXMpIHZzIH4zM21zIChwOTUg fjM1bXMpIGJhc2VsaW5lCj4gCj4gc3RkOjpzeW5jOjpSd0xvY2sKPiAgICAtIGNyZWF0ZSBhdmcg fjI3bXMgKHA5NSB+MjhtcykKPiAgICAtIGNyZWF0ZSBhdmcgfjE3bXMgKHA5NSB+MTltcykKPiAK PiBJdCBhcHBlYXJzIHRoYXQgdGhlIGJvdGggUndMb2NrIGltcGxlbWVudGF0aW9ucyBwZXJmb3Jt IHNpbWlsYXJseQo+IGZvciB0aGlzIHdvcmtsb2FkLiBUaGUgcGFya2luZ19sb3QgdmVyc2lvbiBo YXMgYmVlbiBjaG9zZW4gZm9yIHRoZQo+IGFkZGVkIGZhaXJuZXNzIGd1YXJhbnRlZXMuCj4gCj4g UGF0Y2ggc3VtbWFyeQo+IAo+IHBicy1jb25maWc6Cj4gCj4gMDAwMSDigJMgcGJzLWNvbmZpZzog Y2FjaGUgdmVyaWZpZWQgQVBJIHRva2VuIHNlY3JldHMKPiBBZGRzIGFuIGluLW1lbW9yeSBjYWNo ZSBrZXllZCBieSBBdXRoaWQgdGhhdCBzdG9yZXMgcGxhaW4gdGV4dCB0b2tlbgo+IHNlY3JldHMg YWZ0ZXIgYSBzdWNjZXNzZnVsIHZlcmlmaWNhdGlvbiBvciBnZW5lcmF0aW9uIGFuZCB1c2VzCj4g b3BlbnNzbOKAmXMgbWVtY21wIGNvbnN0YW50LXRpbWUgZm9yIGNvbXBhcmlzb24uCj4gCj4gMDAw MiDigJMgcGJzLWNvbmZpZzogaW52YWxpZGF0ZSB0b2tlbi1zZWNyZXQgY2FjaGUgb24gdG9rZW4u c2hhZG93Cj4gY2hhbmdlcwo+IFRyYWNrcyB0b2tlbi5zaGFkb3cgbXRpbWUgYW5kIGxlbmd0aCBh bmQgY2xlYXJzIHRoZSBpbi1tZW1vcnkKPiBjYWNoZSB3aGVuIHRoZSBmaWxlIGNoYW5nZXMuCj4g Cj4gMDAwMyDigJMgcGJzLWNvbmZpZzogYWRkIFRUTCB3aW5kb3cgdG8gdG9rZW4tc2VjcmV0IGNh Y2hlCj4gSW50cm9kdWNlcyBhIFRUTCAoVE9LRU5fU0VDUkVUX0NBQ0hFX1RUTF9TRUNTLCBkZWZh dWx0IDYwKSBmb3IgbWV0YWRhdGEKPiBjaGVja3Mgc28gdGhhdCBmczo6bWV0YWRhdGEgaXMgb25s eSBjYWxsZWQgcGVyaW9kaWNhbGx5Lgo+IAo+IHByb3htb3gtYWNjZXNzLWNvbnRyb2w6Cj4gCj4g MDAwNCDigJMgYWNjZXNzLWNvbnRyb2w6IGNhY2hlIHZlcmlmaWVkIEFQSSB0b2tlbiBzZWNyZXRz Cj4gTWlycm9ycyBQQlMgUEFUQ0ggMDAwMS4KPiAKPiAwMDA1IOKAkyBhY2Nlc3MtY29udHJvbDog aW52YWxpZGF0ZSB0b2tlbi1zZWNyZXQgY2FjaGUgb24gdG9rZW4uc2hhZG93IGNoYW5nZXMKPiBN aXJyb3JzIFBCUyBQQVRDSCAwMDAyLgo+IAo+IDAwMDYg4oCTIGFjY2Vzcy1jb250cm9sOiBhZGQg VFRMIHdpbmRvdyB0byB0b2tlbi1zZWNyZXQgY2FjaGUKPiBNaXJyb3JzIFBCUyBQQVRDSCAwMDAz Lgo+IAo+IHByb3htb3gtZGF0YWNlbnRlci1tYW5hZ2VyOgo+IAo+IDAwMDcg4oCTIGRvY3M6IGRv Y3VtZW50IEFQSSB0b2tlbi1jYWNoZSBUVEwgZWZmZWN0cwo+IERvY3VtZW50cyB0aGUgZWZmZWN0 cyBvZiB0aGUgVFRMIHdpbmRvdyBvbiB0b2tlbi5zaGFkb3cgZWRpdHMKPiAKPiBDaGFuZ2VzIHNp bmNlIHYxCj4gCj4gLSAocmVmYWN0b3IpIFN3aXRjaGVkIGNhY2hlIGluaXRpYWxpemF0aW9uIHRv IExhenlMb2NrCj4gLSAocGVyZikgVXNlIHBhcmtpbmdfbG90OjpSd0xvY2sgYW5kIGJlc3QtZWZm b3J0IGNhY2hlIGFjY2VzcyBvbiB0aGUKPiAgICByZWFkL3JlZnJlc2ggcGF0aCAodHJ5X3JlYWQv dHJ5X3dyaXRlKSB0byBhdm9pZCBsb2NrIGNvbnRlbnRpb24KPiAtIChkb2MpIERvY3VtZW50IFRU TC1kZWxheWVkIGVmZmVjdCBvZiBtYW51YWwgdG9rZW4uc2hhZG93IGVkaXRzCj4gLSAoZml4KSBB ZGQgZ2VuZXJhdGlvbiBndWFyZHMgKEFQSV9NVVRBVElPTl9HRU5FUkFUSU9OICsKPiAgICBGSUxF X0dFTkVSQVRJT04pIHRvIHByZXZlbnQgY2FjaGluZyBhY3Jvc3MgY29uY3VycmVudCBzZXQvZGVs ZXRlIGFuZAo+ICAgIGV4dGVybmFsIGVkaXRzCj4gCj4gUGxlYXNlIHNlZSB0aGUgcGF0Y2ggc3Bl Y2lmaWMgY2hhbmdlbG9ncyBmb3IgbW9yZSBkZXRhaWxzLgo+IAo+IFRoYW5rcyBmb3IgY29uc2lk ZXJpbmcgdGhpcyBwYXRjaCBzZXJpZXMsIEkgbG9vayBmb3J3YXJkIHRvIHlvdXIKPiBmZWVkYmFj ay4KPiAKPiBCZXN0LAo+IFNhbXVlbCBSdWZpbmF0c2NoYQo+IAo+IFsxXSBodHRwczovL2J1Z3pp bGxhLnByb3htb3guY29tL3Nob3dfYnVnLmNnaT9pZD03MDE3Cj4gWzJdIGF0dGFjaG1lbnQgMTc2 NyBbMV06IEZsYW1lZ3JhcGggc2hvd2luZyB0aGUgcHJveG1veF9zeXM6OmNyeXB0Ojp2ZXJpZnlf Y3J5cHRfcHcgc3RhY2sKPiBbM10gYXR0YWNobWVudCAxNzk0IFsxXTogRmxhbWVncmFwaCBQRE0g YmFzZWxpbmUKPiBbNF0gYXR0YWNobWVudCAxNzk1IFsxXTogRmxhbWVncmFwaCBQRE0gcGF0Y2hl ZAo+IFs1XSBodHRwczovL2J1Z3ppbGxhLnByb3htb3guY29tL3Nob3dfYnVnLmNnaT9pZD02MDQ5 Cj4gCj4gcHJveG1veC1iYWNrdXA6Cj4gCj4gU2FtdWVsIFJ1ZmluYXRzY2hhICgzKToKPiAgICBw YnMtY29uZmlnOiBjYWNoZSB2ZXJpZmllZCBBUEkgdG9rZW4gc2VjcmV0cwo+ICAgIHBicy1jb25m aWc6IGludmFsaWRhdGUgdG9rZW4tc2VjcmV0IGNhY2hlIG9uIHRva2VuLnNoYWRvdyBjaGFuZ2Vz Cj4gICAgcGJzLWNvbmZpZzogYWRkIFRUTCB3aW5kb3cgdG8gdG9rZW4gc2VjcmV0IGNhY2hlCj4g Cj4gICBDYXJnby50b21sICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+ICAgZG9jcy91c2Vy LW1hbmFnZW1lbnQucnN0ICAgICAgIHwgICA0ICsKPiAgIHBicy1jb25maWcvQ2FyZ28udG9tbCAg ICAgICAgICB8ICAgMSArCj4gICBwYnMtY29uZmlnL3NyYy90b2tlbl9zaGFkb3cucnMgfCAyMzgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gICA0IGZpbGVzIGNoYW5nZWQsIDI0 MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gCj4gCj4gcHJveG1veDoKPiAKPiBTYW11 ZWwgUnVmaW5hdHNjaGEgKDMpOgo+ICAgIHByb3htb3gtYWNjZXNzLWNvbnRyb2w6IGNhY2hlIHZl cmlmaWVkIEFQSSB0b2tlbiBzZWNyZXRzCj4gICAgcHJveG1veC1hY2Nlc3MtY29udHJvbDogaW52 YWxpZGF0ZSB0b2tlbi1zZWNyZXQgY2FjaGUgb24gdG9rZW4uc2hhZG93Cj4gICAgICBjaGFuZ2Vz Cj4gICAgcHJveG1veC1hY2Nlc3MtY29udHJvbDogYWRkIFRUTCB3aW5kb3cgdG8gdG9rZW4gc2Vj cmV0IGNhY2hlCj4gCj4gICBDYXJnby50b21sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDEgKwo+ICAgcHJveG1veC1hY2Nlc3MtY29udHJvbC9DYXJnby50b21sICAgICAgICAg IHwgICAxICsKPiAgIHByb3htb3gtYWNjZXNzLWNvbnRyb2wvc3JjL3Rva2VuX3NoYWRvdy5ycyB8 IDIzOCArKysrKysrKysrKysrKysrKysrKy0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgMjM5IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAKPiAKPiBwcm94bW94LWRhdGFjZW50ZXItbWFuYWdl cjoKPiAKPiBTYW11ZWwgUnVmaW5hdHNjaGEgKDEpOgo+ICAgIGRvY3M6IGRvY3VtZW50IEFQSSB0 b2tlbi1jYWNoZSBUVEwgZWZmZWN0cwo+IAo+ICAgZG9jcy9hY2Nlc3MtY29udHJvbC5yc3QgfCAz ICsrKwo+ICAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+IAo+IAo+IFN1bW1hcnkg b3ZlciBhbGwgcmVwb3NpdG9yaWVzOgo+ICAgIDggZmlsZXMgY2hhbmdlZCwgNDg1IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3Rz LnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xp c3RpbmZvL3Bicy1kZXZlbAo=