From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 877CA1FF15E for ; Wed, 21 Jan 2026 16:14:00 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A2C882370; Wed, 21 Jan 2026 16:14:18 +0100 (CET) From: Samuel Rufinatscha To: pbs-devel@lists.proxmox.com Date: Wed, 21 Jan 2026 16:13:56 +0100 Message-ID: <20260121151408.731516-1-s.rufinatscha@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1769008396733 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.115 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] [PATCH proxmox{-backup, , -datacenter-manager} v4 00/11] 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" SGksCgp0aGlzIHNlcmllcyBpbXByb3ZlcyB0aGUgcGVyZm9ybWFuY2Ugb2YgdG9rZW4tYmFzZWQg QVBJIGF1dGhlbnRpY2F0aW9uCmluIFBCUyAocGJzLWNvbmZpZykgYW5kIGluIFBETSAodW5kZXJs eWluZyBwcm94bW94LWFjY2Vzcy1jb250cm9sCmNyYXRlKSwgYWRkcmVzc2luZyB0aGUgQVBJIHRv a2VuIHZlcmlmaWNhdGlvbiBob3RzcG90IHJlcG9ydGVkIGluIG91cgpidWd0cmFja2VyICM3MDE3 IFsxXS4KCldoZW4gcHJvZmlsaW5nIFBCUyAvc3RhdHVzIGVuZHBvaW50IHdpdGggY2FyZ28gZmxh bWVncmFwaCBbMl0sCnRva2VuLWJhc2VkIGF1dGhlbnRpY2F0aW9uIHNob3dlZCB1cCBhcyBhIGRv bWluYW50IGhvdHNwb3QgdmlhCnByb3htb3hfc3lzOjpjcnlwdDo6dmVyaWZ5X2NyeXB0X3B3LiBB cHBseWluZyB0aGlzIHNlcmllcyByZW1vdmVzIHRoYXQKcGF0aCBmcm9tIHRoZSBob3Qgc2VjdGlv biBvZiB0aGUgZmxhbWVncmFwaC4gVGhlIHNhbWUgcGVyZm9ybWFuY2UgaXNzdWUKd2FzIG1lYXN1 cmVkIFsyXSBmb3IgUERNLiBQRE0gdXNlcyB0aGUgdW5kZXJseWluZyBzaGFyZWQKcHJveG1veC1h Y2Nlc3MtY29udHJvbCBsaWJyYXJ5IGZvciB0b2tlbiBoYW5kbGluZywgd2hpY2ggaXMgYQpmYWN0 b3JlZCBvdXQgdmVyc2lvbiBvZiB0aGUgdG9rZW4uc2hhZG93IGhhbmRsaW5nIGNvZGUgZnJvbSBQ QlMuCgpXaGlsZSB0aGlzIHNlcmllcyBmaXhlcyB0aGUgaW1tZWRpYXRlIHBlcmZvcm1hbmNlIGlz c3VlIGJvdGggaW4gUEJTCihwYnMtY29uZmlnKSBhbmQgaW4gdGhlIHNoYXJlZCBwcm94bW94LWFj Y2Vzcy1jb250cm9sIGNyYXRlIHVzZWQgYnkKUERNLCBQQlMgc2hvdWxkIGV2ZW50dWFsbHksIGlk ZWFsbHkgYmUgcmVmYWN0b3JlZCwgaW4gYSBzZXBhcmF0ZQplZmZvcnQsIHRvIHVzZSBwcm94bW94 LWFjY2Vzcy1jb250cm9sIGZvciB0b2tlbiBoYW5kbGluZyBpbnN0ZWFkIG9mIGl0cwpsb2NhbCBp bXBsZW1lbnRhdGlvbi4KCkFwcHJvYWNoCgpUaGUgZ29hbCBpcyB0byByZWR1Y2UgdGhlIGNvc3Qg b2YgdG9rZW4tYmFzZWQgYXV0aGVudGljYXRpb24gcHJlc2VydmluZwp0aGUgZXhpc3RpbmcgdG9r ZW4gaGFuZGxpbmcgc2VtYW50aWNzIChpbmNsdWRpbmcgZGV0ZWN0aW5nIG1hbnVhbCBlZGl0cwp0 byB0b2tlbi5zaGFkb3cpIGFuZCBiZSBjb25zaXN0ZW50IGJldHdlZW4gUEJTIChwYnMtY29uZmln KSBhbmQKUERNIChwcm94bW94LWFjY2Vzcy1jb250cm9sKS4gRm9yIGJvdGggc2l0ZXMsIHRoaXMg c2VyaWVzIHByb3Bvc2VzIHRvOgoKMS4gSW50cm9kdWNlIGFuIGluLW1lbW9yeSBjYWNoZSBmb3Ig dmVyaWZpZWQgdG9rZW4gc2VjcmV0cyBhbmQKaW52YWxpZGF0ZSBpdCB0aHJvdWdoIGEgc2hhcmVk IENvbmZpZ1ZlcnNpb25DYWNoZSBnZW5lcmF0aW9uLiBOb3RlLCBhCnNoYXJlZCBnZW5lcmF0aW9u IGlzIHJlcXVpcmVkIHRvIGtlZXAgcHJpdmlsZWdlZCBhbmQgdW5wcml2aWxlZ2VkCmRhZW1vbiBp biBzeW5jIHRvIGF2b2lkIGNhY2hpbmcgaW5jb25zaXN0ZW5jaWVzIGFjcm9zcyBwcm9jZXNzZXMu CjIuIEludmFsaWRhdGUgb24gdG9rZW4uc2hhZG93IEFQSSBjaGFuZ2VzIChzZXRfc2VjcmV0LApk ZWxldGVfc2VjcmV0KQozLiBJbnZhbGlkYXRlIG9uIGRpcmVjdC9tYW51YWwgdG9rZW4uc2hhZG93 IGZpbGUgY2hhbmdlcyAobXRpbWUgKwpsZW5ndGgpCjQuIEF2b2lkIHBlci1yZXF1ZXN0IGZpbGUg c3RhdCBjYWxscyB1c2luZyBhIFRUTCB3aW5kb3cKClRlc3RpbmcKClRvIHZlcmlmeSB0aGUgZWZm ZWN0IGluIFBCUyAocGJzLWNvbmZpZyBjaGFuZ2VzKSwgSToKMS4gU2V0IHVwIHRlc3QgZW52aXJv bm1lbnQgYmFzZWQgb24gbGF0ZXN0IFBCUyBJU08sIGluc3RhbGxlZCBSdXN0CiAgIHRvb2xjaGFp biwgY2xvbmVkIHByb3htb3gtYmFja3VwIHJlcG9zaXRvcnkgdG8gdXNlIHdpdGggY2FyZ28KICAg ZmxhbWVncmFwaC4gUmVwcm9kdWNlZCBidWcgIzcwMTcgWzFdIGJ5IHByb2ZpbGluZyB0aGUgL3N0 YXR1cwogICBlbmRwb2ludCB3aXRoIHRva2VuLWJhc2VkIGF1dGhlbnRpY2F0aW9uIHVzaW5nIGNh cmdvIGZsYW1lZ3JhcGggWzJdLgoyLiBCdWlsdCBQQlMgd2l0aCBwYnMtY29uZmlnIHBhdGNoZXMg YW5kIHJlLXJhbiB0aGUgc2FtZSB3b3JrbG9hZCBhbmQKICAgcHJvZmlsaW5nIHNldHVwLiBDb25m aXJtZWQgdGhhdAogICBwcm94bW94X3N5czo6Y3J5cHQ6OnZlcmlmeV9jcnlwdF9wdyBwYXRoIG5v IGxvbmdlciBhcHBlYXJzIGluIHRoZQogICBob3Qgc2VjdGlvbiBvZiB0aGUgZmxhbWVncmFwaC4g Q1BVIHVzYWdlIGlzIG5vdyBkb21pbmF0ZWQgYnkgVExTCiAgIG92ZXJoZWFkLgozLiBGdW5jdGlv bmFsbHktd2lzZSwgSSB2ZXJpZmllZCB0aGF0OgogICAqIHZhbGlkIHRva2VucyBhdXRoZW50aWNh dGUgY29ycmVjdGx5IHdoZW4gdXNlZCBpbiBBUEkgcmVxdWVzdHMKICAgKiBpbnZhbGlkIHNlY3Jl dHMgYXJlIHJlamVjdGVkIGFzIGJlZm9yZQogICAqIGdlbmVyYXRpbmcgYSBuZXcgdG9rZW4gc2Vj cmV0IHZpYSBkYXNoYm9hcmQgKGNyZWF0ZSB0b2tlbiBmb3IKICAgdXNlciwgcmVnZW5lcmF0ZSBl eGlzdGluZyBzZWNyZXQpIHdvcmtzIGFuZCBhdXRoZW50aWNhdGVzIGNvcnJlY3RseQoKVG8gdmVy aWZ5IHRoZSBlZmZlY3QgaW4gUERNIChwcm94bW94LWFjY2Vzcy1jb250cm9sIGNoYW5nZXMpLCBp bnN0ZWFkCm9mIFBCU+KAmSAvc3RhdHVzLCBJIHByb2ZpbGVkIHRoZSAvdmVyc2lvbiBlbmRwb2lu dCB3aXRoIGNhcmdvIGZsYW1lZ3JhcGgKWzJdIGFuZCB2ZXJpZmllZCB0aGF0IHRoZSBleHBlbnNp dmUgaGFzaGluZyBwYXRoIGRpc2FwcGVhcnMgZnJvbSB0aGUKaG90IHNlY3Rpb24gYWZ0ZXIgaW50 cm9kdWNpbmcgY2FjaGluZy4gRnVuY3Rpb25hbGx5LXdpc2UsIEkgdmVyaWZpZWQKdGhhdDoKICAg KiB2YWxpZCB0b2tlbnMgYXV0aGVudGljYXRlIGNvcnJlY3RseSB3aGVuIHVzZWQgaW4gQVBJIHJl cXVlc3RzCiAgICogaW52YWxpZCBzZWNyZXRzIGFyZSByZWplY3RlZCBhcyBiZWZvcmUKICAgKiBn ZW5lcmF0aW5nIGEgbmV3IHRva2VuIHNlY3JldCB2aWEgZGFzaGJvYXJkIChjcmVhdGUgdG9rZW4g Zm9yIHVzZXIsCiAgIHJlZ2VuZXJhdGUgZXhpc3Rpbmcgc2VjcmV0KSB3b3JrcyBhbmQgYXV0aGVu dGljYXRlcyBjb3JyZWN0bHkKCkJlbmNobWFya3MKClR3byBkaWZmZXJlbnQgYmVuY2htYXJrcyBo YXZlIGJlZW4gcnVuIHRvIG1lYXN1cmUgY2FjaGluZyBlZmZlY3RzCmFuZCBSd0xvY2sgY29udGVu dGlvbjoKCigxKSBSZXF1ZXN0cyBwZXIgc2Vjb25kIGZvciBQQlMgL3N0YXR1cyBlbmRwb2ludCAo RTJFKQoKQmVuY2htYXJrZWQgcGFyYWxsZWwgdG9rZW4gYXV0aCByZXF1ZXN0cyBmb3IKL3N0YXR1 cz92ZXJib3NlPTAgb24gdG9wIG9mIHRoZSBkYXRhc3RvcmUgbG9va3VwIGNhY2hlIHNlcmllcyBb M10KdG8gY2hlY2sgdGhyb3VnaHB1dCBpbXBhY3QuIFdpdGggZGF0YXN0b3Jlcz0xLCByZXBlYXQ9 NTAwMCwgcGFyYWxsZWw9MTYKdGhpcyBzZXJpZXMgZ2l2ZXMgfjE3MiByZXEvcyBjb21wYXJlZCB0 byB+NjUgcmVxL3Mgd2l0aG91dCBpdC4KVGhpcyBpcyBhIH4yLjZ4IGltcHJvdmVtZW50IChhbmQg YWxpZ25zIHdpdGggdGhlIH4xNzkgcmVxL3MgZnJvbSB0aGUKcHJldmlvdXMgc2VyaWVzLCB3aGlj aCB1c2VkIHBlci1wcm9jZXNzIGNhY2hlIGludmFsaWRhdGlvbikuCgooMikgUndMb2NrIGNvbnRl bnRpb24gZm9yIHRva2VuIGNyZWF0ZS9kZWxldGUgdW5kZXIgaGVhdnkgbG9hZCBvZgp0b2tlbi1h dXRoZW50aWNhdGVkIHJlcXVlc3RzCgpUaGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgc2VyaWVz IGNvbXBhcmVkIHN0ZDo6c3luYzo6UndMb2NrIGFuZApwYXJraW5nX2xvdDo6UndMb2NrIGNvbnRl bnRpb24gZm9yIHRva2VuIGNyZWF0ZS9kZWxldGUgdW5kZXIgaGVhdnkKcGFyYWxsZWwgdG9rZW4t YXV0aGVudGljYXRlZCByZWFkZXJzLiBwYXJraW5nX2xvdDo6UndMb2NrIGhhcyBiZWVuCmNob3Nl biBmb3IgdGhlIGFkZGVkIGZhaXJuZXNzIGd1YXJhbnRlZXMuCgpQYXRjaCBzdW1tYXJ5CgpwYnMt Y29uZmlnOgowMDAxIOKAkyBwYnMtY29uZmlnOiBhZGQgdG9rZW4uc2hhZG93IGdlbmVyYXRpb24g dG8gQ29uZmlnVmVyc2lvbkNhY2hlCjAwMDIg4oCTIHBicy1jb25maWc6IGNhY2hlIHZlcmlmaWVk IEFQSSB0b2tlbiBzZWNyZXRzCjAwMDMg4oCTIHBicy1jb25maWc6IGludmFsaWRhdGUgdG9rZW4t c2VjcmV0IGNhY2hlIG9uIHRva2VuLnNoYWRvdwpjaGFuZ2VzCjAwMDQg4oCTIHBicy1jb25maWc6 IGFkZCBUVEwgd2luZG93IHRvIHRva2VuLXNlY3JldCBjYWNoZQoKcHJveG1veC1hY2Nlc3MtY29u dHJvbDoKMDAwNSDigJMgYWNjZXNzLWNvbnRyb2w6IGV4dGVuZCBBY2Nlc3NDb250cm9sQ29uZmln IGZvciB0b2tlbi5zaGFkb3cgaW52YWxpZGF0aW9uCjAwMDYg4oCTIGFjY2Vzcy1jb250cm9sOiBj YWNoZSB2ZXJpZmllZCBBUEkgdG9rZW4gc2VjcmV0cwowMDA3IOKAkyBhY2Nlc3MtY29udHJvbDog aW52YWxpZGF0ZSB0b2tlbi1zZWNyZXQgY2FjaGUgb24gdG9rZW4uc2hhZG93IGNoYW5nZXMKMDAw OCDigJMgYWNjZXNzLWNvbnRyb2w6IGFkZCBUVEwgd2luZG93IHRvIHRva2VuLXNlY3JldCBjYWNo ZQoKcHJveG1veC1kYXRhY2VudGVyLW1hbmFnZXI6CjAwMDkg4oCTIHBkbS1jb25maWc6IGFkZCB0 b2tlbi5zaGFkb3cgZ2VuZXJhdGlvbiB0byBDb25maWdWZXJzaW9uQ2FjaGUKMDAxMCDigJMgZG9j czogZG9jdW1lbnQgQVBJIHRva2VuLWNhY2hlIFRUTCBlZmZlY3RzCjAwMTEg4oCTIHBkbS1jb25m aWc6IHdpcmUgdXNlcithY2wgY2FjaGUgZ2VuZXJhdGlvbgoKTWFpbnRhaW5lciBub3RlcwoqIHBy b3htb3gtYWNjZXNzLWNvbnRyb2wgdHJhaXQgc3BsaXQ6IHBlcm1pc3Npb25zIG5vdyBsaXZlIGlu CiBBY2Nlc3NDb250cm9sUGVybWlzc2lvbnMsIGFuZCBBY2Nlc3NDb250cm9sQ29uZmlnIG5vdyBy ZXF1aXJlcwogZm4gcGVybWlzc2lvbnMoJnNlbGYpIC0+ICZkeW4gQWNjZXNzQ29udHJvbFBlcm1p c3Npb25zIC0+CiB2ZXJzaW9uIGJ1bXAKKiBSZW5hbWVzIENvbmZpZ1ZlcnNpb25DYWNoZWBzIHB1 YiB1c2VyX2NhY2hlX2dlbmVyYXRpb24gYW5kCiBpbmNyZWFzZV91c2VyX2NhY2hlX2dlbmVyYXRp b24gLT4gdmVyc2lvbiBidW1wCiogQWRkcyBwYXJraW5nX2xvdDo6UndMb2NrIGRlcGVuZGVuY3kg aW4gUEJTIGFuZCBwcm94bW94LWFjY2Vzcy1jb250cm9sCgpLaW5kIHJlZ2FyZHMsClNhbXVlbCBS dWZpbmF0c2NoYQoKWzFdIGh0dHBzOi8vYnVnemlsbGEucHJveG1veC5jb20vc2hvd19idWcuY2dp P2lkPTcwMTcKWzJdIGF0dGFjaG1lbnQgMTc2NyBbMV06IEZsYW1lZ3JhcGggc2hvd2luZyB0aGUg cHJveG1veF9zeXM6OmNyeXB0Ojp2ZXJpZnlfY3J5cHRfcHcgc3RhY2sKWzNdIGh0dHBzOi8vYnVn emlsbGEucHJveG1veC5jb20vc2hvd19idWcuY2dpP2lkPTYwNDkKCnByb3htb3gtYmFja3VwOgoK U2FtdWVsIFJ1ZmluYXRzY2hhICg0KToKICBwYnMtY29uZmlnOiBhZGQgdG9rZW4uc2hhZG93IGdl bmVyYXRpb24gdG8gQ29uZmlnVmVyc2lvbkNhY2hlCiAgcGJzLWNvbmZpZzogY2FjaGUgdmVyaWZp ZWQgQVBJIHRva2VuIHNlY3JldHMKICBwYnMtY29uZmlnOiBpbnZhbGlkYXRlIHRva2VuLXNlY3Jl dCBjYWNoZSBvbiB0b2tlbi5zaGFkb3cgY2hhbmdlcwogIHBicy1jb25maWc6IGFkZCBUVEwgd2lu ZG93IHRvIHRva2VuIHNlY3JldCBjYWNoZQoKIENhcmdvLnRvbWwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKIGRvY3MvdXNlci1tYW5hZ2VtZW50LnJzdCAgICAgICAgICAgICAg IHwgICA0ICsKIHBicy1jb25maWcvQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgIHwgICAxICsK IHBicy1jb25maWcvc3JjL2NvbmZpZ192ZXJzaW9uX2NhY2hlLnJzIHwgIDE4ICsrCiBwYnMtY29u ZmlnL3NyYy90b2tlbl9zaGFkb3cucnMgICAgICAgICB8IDMwMiArKysrKysrKysrKysrKysrKysr KysrKystCiA1IGZpbGVzIGNoYW5nZWQsIDMyMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKCnByb3htb3g6CgpTYW11ZWwgUnVmaW5hdHNjaGEgKDQpOgogIHByb3htb3gtYWNjZXNzLWNv bnRyb2w6IHNwbGl0IEFjY2Vzc0NvbnRyb2xDb25maWcgYW5kIGFkZCB0b2tlbi5zaGFkb3cKICAg IGdlbgogIHByb3htb3gtYWNjZXNzLWNvbnRyb2w6IGNhY2hlIHZlcmlmaWVkIEFQSSB0b2tlbiBz ZWNyZXRzCiAgcHJveG1veC1hY2Nlc3MtY29udHJvbDogaW52YWxpZGF0ZSB0b2tlbi1zZWNyZXQg Y2FjaGUgb24gdG9rZW4uc2hhZG93CiAgICBjaGFuZ2VzCiAgcHJveG1veC1hY2Nlc3MtY29udHJv bDogYWRkIFRUTCB3aW5kb3cgdG8gdG9rZW4gc2VjcmV0IGNhY2hlCgogQ2FyZ28udG9tbCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHByb3htb3gtYWNjZXNzLWNvbnRy b2wvQ2FyZ28udG9tbCAgICAgICAgICB8ICAgMSArCiBwcm94bW94LWFjY2Vzcy1jb250cm9sL3Ny Yy9hY2wucnMgICAgICAgICAgfCAgMTAgKy0KIHByb3htb3gtYWNjZXNzLWNvbnRyb2wvc3JjL2lu aXQucnMgICAgICAgICB8IDExMyArKysrKystLQogcHJveG1veC1hY2Nlc3MtY29udHJvbC9zcmMv dG9rZW5fc2hhZG93LnJzIHwgMzAzICsrKysrKysrKysrKysrKysrKysrLQogNSBmaWxlcyBjaGFu Z2VkLCA0MDEgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgoKcHJveG1veC1kYXRhY2Vu dGVyLW1hbmFnZXI6CgpTYW11ZWwgUnVmaW5hdHNjaGEgKDMpOgogIHBkbS1jb25maWc6IGltcGxl bWVudCB0b2tlbi5zaGFkb3cgZ2VuZXJhdGlvbgogIGRvY3M6IGRvY3VtZW50IEFQSSB0b2tlbi1j YWNoZSBUVEwgZWZmZWN0cwogIHBkbS1jb25maWc6IHdpcmUgdXNlcithY2wgY2FjaGUgZ2VuZXJh dGlvbgoKIGNsaS9hZG1pbi9zcmMvbWFpbi5ycyAgICAgICAgICAgICAgICAgICAgICB8ICAyICst CiBkb2NzL2FjY2Vzcy1jb250cm9sLnJzdCAgICAgICAgICAgICAgICAgICAgfCAgNCArKysKIGxp Yi9wZG0tYXBpLXR5cGVzL3NyYy9hY2wucnMgICAgICAgICAgICAgICB8ICA0ICstLQogbGliL3Bk bS1jb25maWcvQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgIHwgIDEgKwogbGliL3BkbS1jb25m aWcvc3JjL2FjY2Vzc19jb250cm9sLnJzICAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKysK IGxpYi9wZG0tY29uZmlnL3NyYy9jb25maWdfdmVyc2lvbl9jYWNoZS5ycyB8IDM0ICsrKysrKysr KysrKysrKysrLS0tLS0KIGxpYi9wZG0tY29uZmlnL3NyYy9saWIucnMgICAgICAgICAgICAgICAg ICB8ICAyICsrCiBzZXJ2ZXIvc3JjL2FjbC5ycyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MyArLQogdWkvc3JjL21haW4ucnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysr KysrLQogOSBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvcGRtLWNvbmZpZy9zcmMvYWNjZXNzX2NvbnRyb2wucnMK CgpTdW1tYXJ5IG92ZXIgYWxsIHJlcG9zaXRvcmllczoKICAxOSBmaWxlcyBjaGFuZ2VkLCA4MDEg aW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCgotLSAKR2VuZXJhdGVkIGJ5IGdpdC1tdXJw cCAwLjguMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBz Oi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo=