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 3DCEB1FF190 for ; Fri, 10 Jan 2025 17:59:33 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3E1D2C1; Fri, 10 Jan 2025 17:59:13 +0100 (CET) From: Alexander Zeidler To: pve-devel@lists.proxmox.com Date: Fri, 10 Jan 2025 17:58:06 +0100 Message-Id: <20250110165807.3-1-a.zeidler@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.317 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH docs v3 1/2] pvesr: update the chapter and bring it into good condition X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" RXhpc3RpbmcgaW5mb3JtYXRpb24gaXMgcHJlc2VydmVkIGluIGEgcmVzdHJ1Y3R1cmVkIHdheSBh bmQgdXNlZnVsbHkKc3VwcGxlbWVudGVkLgoKKiByZXN0cnVjdHVyZSBhbmQgcmV2aXNlIHRoZSBp bnRyb2R1Y3Rpb24KKiBhZGQgc3ViY2hhcHRlciAiQ29uc2lkZXJhdGlvbnMiCiogcmVtb3ZlIHRo ZSBzdWJjaGFwdGVyICJTY2hlZHVsZSBGb3JtYXQiIHdpdGggaXRzIG9uZSBsaW5lIG9mIGNvbnRl bnQKICBhbmQgbGluayB3aGVyZSBhcHByb3ByaWF0ZSBkaXJlY3RseSB0byB0aGUgY29weSB1bmRl ciAiMjUuIEFwcGVuZGl4IEQ6CiAgQ2FsZW5kYXIgRXZlbnRzIi4gVGhlIGhlbHAgYnV0dG9uIGF0 IGFkZGluZy9lZGl0aW5nIGEgam9iIGxpbmtzIG5vdyB0bwogIHRoZSBzdWJjaGFwdGVyICJNYW5h Z2luZyBKb2JzIi4KKiBwcm92aWRlIGRldGFpbHMgb24gam9iIHJlbW92YWwgYW5kIGhvdyB0byBl bmZvcmNlIGl0IGlmIG5lY2Vzc2FyeQoqIGFkZCBtb3JlIGhlbHBmdWwgQ0xJIGV4YW1wbGVzIGFu ZCBpbXByb3ZlL2ZpeCBleGlzdGluZyBvbmVzCiogcmVzdHJ1Y3R1cmUgYW5kIHJldmlzZSB0aGUg c3ViY2hhcHRlciAiRXJyb3IgSGFuZGxpbmciCgpTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgWmVp ZGxlciA8YS56ZWlkbGVyQHByb3htb3guY29tPgotLS0KdjM6CiogYWRhcHQgdGhlIGludHJvZHVj dGlvbiBhbmQgc2VjdGlvbiAiUmlzayBvZiBEYXRhIExvc3MiIHRvIHByb3ZpZGUKICBpbmZvcm1h dGlvbiBhYm91dCB1c2luZyBhIHNoYXJlZCBzdG9yYWdlIHRvZ2V0aGVyIHdpdGggc3RvcmFnZQog IHJlcGxpY2F0aW9uCiogdXBkYXRlIHRoZSBDTEkgZXhhbXBsZSBgcHZlc3IgdXBkYXRlYCAoKjow MCByZXBsYWNlcyBpbmNvcnJlY3QgKi8wMCkKKiBpbXBsZW1lbnQgbW9zdCBzdWdnZXN0aW9ucyBm cm9tIERhbmllbCBLcmFsCioqIHVwZGF0ZSBjb21taXQgbWVzc2FnZQoqKiByZXdvcmQgZmlyc3Qg cGFyYWdyYXBoIG9mIGludHJvZHVjdGlvbgoqKiByZW5hbWUgc3ViY2hhcHRlciAiUmVjb21tZW5k YXRpb25zIiB0byAiQ29uc2lkZXJhdGlvbnMiCioqIHdyaXRlICJldmVyeSAxNSBtaW51dGVzIiB0 byBiZSBjb25zaXN0ZW50IHdpdGggVUkgKGFuZCBhZGRpdGlvbmFsbHkKICAgbWVudGlvbiB0aGF0 IGV4YW1wbGVzIGZyb20gdGhlIGRyb3AtZG93biBsaXN0IGNhbiBiZSBtb2RpZmllZCkKKiogcmV3 b3JkIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYmFuZHdpZHRoIGxpbWl0Cgp2MjogaHR0cHM6Ly9s b3JlLnByb3htb3guY29tL3B2ZS1kZXZlbC8yMDI0MTIxODE2MTk0OC4zLTEtYS56ZWlkbGVyQHBy b3htb3guY29tLwoqIG5vIGNoYW5nZXMsIG9ubHkgYWRkIG1pc3NpbmcgcHZlLW1hbmFnZXIgcGF0 Y2gKCiBwdmVjbS5hZG9jIHwgICAyICsKIHB2ZXNyLmFkb2MgfCA0MTEgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg Mjg3IGluc2VydGlvbnMoKyksIDEyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wdmVjbS5h ZG9jIGIvcHZlY20uYWRvYwppbmRleCAxNWRkYTRlLi40MDI4ZTkyIDEwMDY0NAotLS0gYS9wdmVj bS5hZG9jCisrKyBiL3B2ZWNtLmFkb2MKQEAgLTQ4Niw2ICs0ODYsNyBAQCBhdXRoZW50aWNhdGlv bi4gWW91IHNob3VsZCBmaXggdGhpcyBieSByZW1vdmluZyB0aGUgcmVzcGVjdGl2ZSBrZXlzIGZy b20gdGhlCiAnL2V0Yy9wdmUvcHJpdi9hdXRob3JpemVkX2tleXMnIGZpbGUuCiAKIAorW1twdmVj bV9xdW9ydW1dXQogUXVvcnVtCiAtLS0tLS0KIApAQCAtOTYzLDYgKzk2NCw3IEBAIGNhc2UgJC0g aW4KIGVzYWMKIC0tLS0KIAorW1twdmVjbV9leHRlcm5hbF92b3RlXV0KIENvcm9zeW5jIEV4dGVy bmFsIFZvdGUgU3VwcG9ydAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt LWdpdCBhL3B2ZXNyLmFkb2MgYi9wdmVzci5hZG9jCmluZGV4IDlhZDAyZjUuLjAzNGU0YzIgMTAw NjQ0Ci0tLSBhL3B2ZXNyLmFkb2MKKysrIGIvcHZlc3IuYWRvYwpAQCAtMjQsNDggKzI0LDY4IEBA IFN0b3JhZ2UgUmVwbGljYXRpb24KIDpwdmUtdG9wbGV2ZWw6CiBlbmRpZjo6bWFudm9sbnVtW10K IAotVGhlIGBwdmVzcmAgY29tbWFuZC1saW5lIHRvb2wgbWFuYWdlcyB0aGUge1BWRX0gc3RvcmFn ZSByZXBsaWNhdGlvbgotZnJhbWV3b3JrLiBTdG9yYWdlIHJlcGxpY2F0aW9uIGJyaW5ncyByZWR1 bmRhbmN5IGZvciBndWVzdHMgdXNpbmcKLWxvY2FsIHN0b3JhZ2UgYW5kIHJlZHVjZXMgbWlncmF0 aW9uIHRpbWUuCi0KLUl0IHJlcGxpY2F0ZXMgZ3Vlc3Qgdm9sdW1lcyB0byBhbm90aGVyIG5vZGUg c28gdGhhdCBhbGwgZGF0YSBpcyBhdmFpbGFibGUKLXdpdGhvdXQgdXNpbmcgc2hhcmVkIHN0b3Jh Z2UuIFJlcGxpY2F0aW9uIHVzZXMgc25hcHNob3RzIHRvIG1pbmltaXplIHRyYWZmaWMKLXNlbnQg b3ZlciB0aGUgbmV0d29yay4gVGhlcmVmb3JlLCBuZXcgZGF0YSBpcyBzZW50IG9ubHkgaW5jcmVt ZW50YWxseSBhZnRlcgotdGhlIGluaXRpYWwgZnVsbCBzeW5jLiBJbiB0aGUgY2FzZSBvZiBhIG5v ZGUgZmFpbHVyZSwgeW91ciBndWVzdCBkYXRhIGlzCi1zdGlsbCBhdmFpbGFibGUgb24gdGhlIHJl cGxpY2F0ZWQgbm9kZS4KLQotVGhlIHJlcGxpY2F0aW9uIGlzIGRvbmUgYXV0b21hdGljYWxseSBp biBjb25maWd1cmFibGUgaW50ZXJ2YWxzLgotVGhlIG1pbmltdW0gcmVwbGljYXRpb24gaW50ZXJ2 YWwgaXMgb25lIG1pbnV0ZSwgYW5kIHRoZSBtYXhpbWFsIGludGVydmFsCi1vbmNlIGEgd2Vlay4g VGhlIGZvcm1hdCB1c2VkIHRvIHNwZWNpZnkgdGhvc2UgaW50ZXJ2YWxzIGlzIGEgc3Vic2V0IG9m Ci1gc3lzdGVtZGAgY2FsZW5kYXIgZXZlbnRzLCBzZWUKLXhyZWY6cHZlc3Jfc2NoZWR1bGVfdGlt ZV9mb3JtYXRbU2NoZWR1bGUgRm9ybWF0XSBzZWN0aW9uOgotCi1JdCBpcyBwb3NzaWJsZSB0byBy ZXBsaWNhdGUgYSBndWVzdCB0byBtdWx0aXBsZSB0YXJnZXQgbm9kZXMsCi1idXQgbm90IHR3aWNl IHRvIHRoZSBzYW1lIHRhcmdldCBub2RlLgotCi1FYWNoIHJlcGxpY2F0aW9ucyBiYW5kd2lkdGgg Y2FuIGJlIGxpbWl0ZWQsIHRvIGF2b2lkIG92ZXJsb2FkaW5nIGEgc3RvcmFnZQotb3Igc2VydmVy LgotCi1Pbmx5IGNoYW5nZXMgc2luY2UgdGhlIGxhc3QgcmVwbGljYXRpb24gKHNvLWNhbGxlZCBg ZGVsdGFzYCkgbmVlZCB0byBiZQotdHJhbnNmZXJyZWQgaWYgdGhlIGd1ZXN0IGlzIG1pZ3JhdGVk IHRvIGEgbm9kZSB0byB3aGljaCBpdCBhbHJlYWR5IGlzCi1yZXBsaWNhdGVkLiBUaGlzIHJlZHVj ZXMgdGhlIHRpbWUgbmVlZGVkIHNpZ25pZmljYW50bHkuIFRoZSByZXBsaWNhdGlvbgotZGlyZWN0 aW9uIGF1dG9tYXRpY2FsbHkgc3dpdGNoZXMgaWYgeW91IG1pZ3JhdGUgYSBndWVzdCB0byB0aGUg cmVwbGljYXRpb24KLXRhcmdldCBub2RlLgotCi1Gb3IgZXhhbXBsZTogVk0xMDAgaXMgY3VycmVu dGx5IG9uIGBub2RlQWAgYW5kIGdldHMgcmVwbGljYXRlZCB0byBgbm9kZUJgLgotWW91IG1pZ3Jh dGUgaXQgdG8gYG5vZGVCYCwgc28gbm93IGl0IGdldHMgYXV0b21hdGljYWxseSByZXBsaWNhdGVk IGJhY2sgZnJvbQotYG5vZGVCYCB0byBgbm9kZUFgLgotCi1JZiB5b3UgbWlncmF0ZSB0byBhIG5v ZGUgd2hlcmUgdGhlIGd1ZXN0IGlzIG5vdCByZXBsaWNhdGVkLCB0aGUgd2hvbGUgZGlzawotZGF0 YSBtdXN0IHNlbmQgb3Zlci4gQWZ0ZXIgdGhlIG1pZ3JhdGlvbiwgdGhlIHJlcGxpY2F0aW9uIGpv YiBjb250aW51ZXMgdG8KLXJlcGxpY2F0ZSB0aGlzIGd1ZXN0IHRvIHRoZSBjb25maWd1cmVkIG5v ZGVzLgorUmVwbGljYXRpb24gY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIGEgZ3Vlc3Qgd2hpY2ggaGFz IHZvbHVtZXMgcGxhY2VkIG9uCithIGxvY2FsIHN0b3JhZ2UuIFRob3NlIHZvbHVtZXMgYXJlIHRo ZW4gcmVwbGljYXRlZCB0byBvdGhlciBjbHVzdGVyCitub2RlcyB0byBlbmFibGUgYSBzaWduaWZp Y2FudGx5IGZhc3RlciBndWVzdCBtaWdyYXRpb24gdG8gdGhlbS4KK1Bvc3NpYmxlIGFkZGl0aW9u YWwgdm9sdW1lcyBvbiBhIHNoYXJlZCBzdG9yYWdlIGFyZSBub3QgYmVpbmcKK3JlcGxpY2F0ZWQs IHNpbmNlIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIHNoYXJlZCBzdG9yYWdlIGlzIGFsc28KK2F2 YWlsYWJsZSBhdCB0aGUgbWlncmF0aW9uIHRhcmdldCBub2RlLiBSZXBsaWNhdGlvbiBpcyBwYXJ0 aWN1bGFybHkKK2ludGVyZXN0aW5nIGZvciBzbWFsbCBjbHVzdGVycyBpZiBubyBzaGFyZWQgc3Rv cmFnZSBpcyBhdmFpbGFibGUuCisKK0luIHRoZSBldmVudCBvZiBhIG5vZGUgb3IgbG9jYWwgc3Rv cmFnZSBmYWlsdXJlLCB0aGUgdm9sdW1lIGRhdGEgYXMgb2YKK3RoZSBsYXRlc3QgY29tcGxldGVk IHJlcGxpY2F0aW9uIHJ1bnMgYXJlIHN0aWxsIGF2YWlsYWJsZSBvbiB0aGUKK3JlcGxpY2F0aW9u IHRhcmdldCBub2Rlcy4KIAogW0lNUE9SVEFOVF0KID09PT0KLUhpZ2gtQXZhaWxhYmlsaXR5IGlz IGFsbG93ZWQgaW4gY29tYmluYXRpb24gd2l0aCBzdG9yYWdlIHJlcGxpY2F0aW9uLCBidXQgdGhl cmUKLW1heSBiZSBzb21lIGRhdGEgbG9zcyBiZXR3ZWVuIHRoZSBsYXN0IHN5bmNlZCB0aW1lIGFu ZCB0aGUgdGltZSBhIG5vZGUgZmFpbGVkLgorV2hpbGUgYSByZXBsaWNhdGlvbi1lbmFibGVkIGd1 ZXN0IGNhbiBiZSBjb25maWd1cmVkIGZvcgoreHJlZjpjaGFwdGVyX2hhX21hbmFnZXJbaGlnaCBh dmFpbGFiaWxpdHldLCBvcgoreHJlZjpwdmVzcl9ub2RlX2ZhaWxlZFttYW51YWxseSBtb3ZlZF0g d2hpbGUgaXRzIG9yaWdpbiBub2RlIGlzIG5vdAorYXZhaWxhYmxlLCByZWFkIGFib3V0IHRoZSBp bnZvbHZlZAoreHJlZjpwdmVzcl9yaXNrX29mX2RhdGFfbG9zc1tyaXNrIG9mIGRhdGEgbG9zc10g YW5kIGhvdyB0byBhdm9pZCBpdC4KID09PT0KIAorLlJlcGxpY2F0aW9uIHJlcXVpcmVzIOKApgor CisqIGF0IGxlYXN0IG9uZSBvdGhlciBjbHVzdGVyIG5vZGUgYXMgYSByZXBsaWNhdGlvbiB0YXJn ZXQKKyogb25lIGNvbW1vbiBsb2NhbCBzdG9yYWdlIGVudHJ5IGluIHRoZSBkYXRhY2VudGVyLCBi ZWluZyBmdW5jdGlvbmFsCitvbiBib3RoIG5vZGVzCisqIHRoYXQgdGhlIGxvY2FsIHN0b3JhZ2Ug dHlwZSBpcworeHJlZjpwdmVzcl9zdXBwb3J0ZWRfc3RvcmFnZVtzdXBwb3J0ZWQgYnkgcmVwbGlj YXRpb25dCisqIHRoYXQgdGhlIGd1ZXN0IGhhcyB2b2x1bWVzIHN0b3JlZCBvbiB0aGF0IGxvY2Fs IHN0b3JhZ2UKKworLlJlcGxpY2F0aW9uIOKApgorCisqIGFsbG93cyBhIGZhc3QgbWlncmF0aW9u IHRvIG5vZGVzIHdoZXJlIHRoZSBndWVzdCBpcyBiZWluZyByZXBsaWNhdGVkCisqIHByb3ZpZGVz IGd1ZXN0IHZvbHVtZSByZWR1bmRhbmN5IGluIGEgY2x1c3RlciB3aGVyZSB1c2luZyBhIHNoYXJl ZAorc3RvcmFnZSB0eXBlIGlzIG5vdCBhbiBvcHRpb24KKyogaXMgY29uZmlndXJlZCBhcyBhIGpv YiBmb3IgYSBndWVzdCwgd2l0aCBtdWx0aXBsZSBqb2JzIGVuYWJsaW5nCittdWx0aXBsZSByZXBs aWNhdGlvbiB0YXJnZXRzCisqIGpvYnMgcnVuIG9uZSBhZnRlciB0aGUgb3RoZXIgYXQgdGhlaXIg Y29uZmlndXJlZCBpbnRlcnZhbCAoc2hvcnRlc3QKK2lzIGV2ZXJ5IG1pbnV0ZSkKKyogdXNlcyBz bmFwc2hvdHMgdG8gcmVndWxhcmx5IHRyYW5zbWl0IG9ubHkgY2hhbmdlZCB2b2x1bWUgZGF0YQor KHNvLWNhbGxlZCBkZWx0YXMpCisqIG5ldHdvcmsgYmFuZHdpZHRoIGNhbiBiZSBsaW1pdGVkIHBl ciBqb2IsIHNtb290aGluZyB0aGUgc3RvcmFnZSBhbmQKK25ldHdvcmsgdXRpbGl6YXRpb24KKyog dGFyZ2V0cyBzdGF5IGJhc2ljYWxseSB0aGUgc2FtZSB3aGVuIG1pZ3JhdGluZyB0aGUgZ3Vlc3Qg dG8gYW5vdGhlcgorbm9kZQorKiBkaXJlY3Rpb24gb2YgYSBqb2IgcmV2ZXJzZXMgd2hlbiBtb3Zp bmcgdGhlIGd1ZXN0IHRvIGl0cyBjb25maWd1cmVkCityZXBsaWNhdGlvbiB0YXJnZXQKKworLkV4 YW1wbGU6CisKK0EgZ3Vlc3QgcnVucyBvbiBub2RlIGBBYCBhbmQgaGFzIHJlcGxpY2F0aW9uIGpv YnMgdG8gbm9kZSBgQmAgYW5kIGBDYCwKK2JvdGggd2l0aCBhIHNldCBpbnRlcnZhbCBvZiBldmVy eSBmaXZlIG1pbnV0ZXMgKGAqLzVgKS4gTm93IHdlIG1pZ3JhdGUKK3RoZSBndWVzdCBmcm9tIGBB YCB0byBgQmAsIHdoaWNoIGFsc28gYXV0b21hdGljYWxseSB1cGRhdGVzIHRoZQorcmVwbGljYXRp b24gdGFyZ2V0cyBmb3IgdGhpcyBndWVzdCB0byBiZSBgQWAgYW5kIGBDYC4gTWlncmF0aW9uIHdh cworY29tcGxldGVkIGZhc3QsIGFzIG9ubHkgdGhlIGNoYW5nZWQgdm9sdW1lIGRhdGEgc2luY2Ug dGhlIGxhc3QKK3JlcGxpY2F0aW9uIHJ1biBoYXMgYmVlbiB0cmFuc21pdHRlZC4KKworSW4gdGhl IGV2ZW50IHRoYXQgbm9kZSBgQmAgb3IgaXRzIGxvY2FsIHN0b3JhZ2UgZmFpbHMsIHRoZSBndWVz dCBjYW4KK2JlIHJlc3RhcnRlZCBvbiBgQWAgb3IgYENgLCB3aXRoIHRoZSByaXNrIG9mIHNvbWUg ZGF0YSBsb3NzIGFzCitkZXNjcmliZWQgaW4gdGhpcyBjaGFwdGVyLgorCitbW3B2ZXNyX3N1cHBv cnRlZF9zdG9yYWdlXV0KIFN1cHBvcnRlZCBTdG9yYWdlIFR5cGVzCiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogCkBAIC03NiwxNDcgKzk2LDI4NiBAQCBTdXBwb3J0ZWQgU3RvcmFnZSBUeXBlcwog fFpGUyAobG9jYWwpICAgIHx6ZnNwb29sICAgICB8eWVzICAgICAgfHllcwogfD09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1bW3B2ZXNyX3NjaGVkdWxlX3Rp bWVfZm9ybWF0XV0KLVNjaGVkdWxlIEZvcm1hdAotLS0tLS0tLS0tLS0tLS0tCi1SZXBsaWNhdGlv biB1c2VzIHhyZWY6Y2hhcHRlcl9jYWxlbmRhcl9ldmVudHNbY2FsZW5kYXIgZXZlbnRzXSBmb3IK LWNvbmZpZ3VyaW5nIHRoZSBzY2hlZHVsZS4KLQotRXJyb3IgSGFuZGxpbmcKK1tbcHZlc3JfY29u c2lkZXJhdGlvbnNdXQorQ29uc2lkZXJhdGlvbnMKIC0tLS0tLS0tLS0tLS0tCiAKLUlmIGEgcmVw bGljYXRpb24gam9iIGVuY291bnRlcnMgcHJvYmxlbXMsIGl0IGlzIHBsYWNlZCBpbiBhbiBlcnJv ciBzdGF0ZS4KLUluIHRoaXMgc3RhdGUsIHRoZSBjb25maWd1cmVkIHJlcGxpY2F0aW9uIGludGVy dmFscyBnZXQgc3VzcGVuZGVkCi10ZW1wb3JhcmlseS4gVGhlIGZhaWxlZCByZXBsaWNhdGlvbiBp cyByZXBlYXRlZGx5IHRyaWVkIGFnYWluIGluIGEKLTMwIG1pbnV0ZSBpbnRlcnZhbC4KLU9uY2Ug dGhpcyBzdWNjZWVkcywgdGhlIG9yaWdpbmFsIHNjaGVkdWxlIGdldHMgYWN0aXZhdGVkIGFnYWlu LgorW1twdmVzcl9yaXNrX29mX2RhdGFfbG9zc11dCitSaXNrIG9mIERhdGEgTG9zcworfn5+fn5+ fn5+fn5+fn5+fn4KKworSWYgYSBub2RlIHNob3VsZCBzdWRkZW5seSBiZWNvbWUgdW5hdmFpbGFi bGUgZm9yIGEgbG9uZ2VyIHBlcmlvZCBvZgordGltZSwgaXQgbWF5IGJlY29tZSBuZWNjZXNzYXJ5 IHRvIHJ1biBhIGd1ZXN0IG9uIGEgcmVwbGljYXRpb24gdGFyZ2V0Citub2RlIGluc3RlYWQuIFRo ZXJlYnkgdGhlIGd1ZXN0IHdpbGwgdXNlIHRoZSBsYXRlc3QgcmVwbGljYXRlZCB2b2x1bWUKK2Rh dGEgYXZhaWxhYmxlIG9uIHRoZSBjaG9zZW4gdGFyZ2V0IG5vZGUuIFRoYXQgdm9sdW1lIHN0YXRl IHdpbGwgdGhlbgorYWxzbyBiZSByZXBsaWNhdGVkIHRvIG90aGVyIG5vZGVzIHdpdGggdGhlIG5l eHQgcmVwbGljYXRpb24gcnVucywKK3NpbmNlIHRoZSByZXBsaWNhdGlvbiBkaXJlY3Rpb25zIGFy ZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZm9yIHJlbGF0ZWQKK2pvYnMuIFRoaXMgYWxzbyBtZWFu cywgdGhhdCB0aGUgb25jZSBuZXdlciB2b2x1bWUgc3RhdGUgb24gdGhlIGZhaWxlZAorbm9kZSB3 aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgaXQgYmVjb21lcyBhdmFpbGFibGUgYWdhaW4uIFBvc3NpYmxl Cit2b2x1bWVzIG9uIGEgc2hhcmVkIHN0b3JhZ2UgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGF0LCBz aW5jZSB0aGV5IGFyZQorbm90IGJlaW5nIHJlcGxpY2F0ZWQuCisKK0EgbW9yZSByZXNpbGllbnQg c29sdXRpb24gbWF5IGJlIHRvIHVzZSBhIHNoYXJlZAoreHJlZjpjaGFwdGVyX3N0b3JhZ2Vbc3Rv cmFnZSB0eXBlXSBpbnN0ZWFkLiBJZiB0aGF0IGlzIG5vdCBhbiBvcHRpb24sCitjb25zaWRlciBz ZXR0aW5nIHRoZSByZXBsaWNhdGlvbiBqb2IgaW50ZXJ2YWxzIHNob3J0IGVub3VnaCBhbmQgYXZv aWQKK21vdmluZyByZXBsaWNhdGlvbi1jb25maWd1cmVkIGd1ZXN0cyB3aGlsZSB0aGVpciBvcmln aW4gbm9kZSBpcyBub3QKK2F2YWlsYWJsZS4gSW5zdGVhZCBvZiBjb25maWd1cmluZyB0aG9zZSBn dWVzdHMgZm9yIGhpZ2ggYXZhaWxhYmlsaXR5LAoreHJlZjpxbV9zdGFydHVwX2FuZF9zaHV0ZG93 bltzdGFydCBhdCBib290XSBjb3VsZCBiZSBhIHN1ZmZpY2llbnQKK2FsdGVybmF0aXZlLgorCitb W3B2ZXNyX3JlcGxpY2F0aW9uX25ldHdvcmtdXQorTmV0d29yayBmb3IgUmVwbGljYXRpb24gVHJh ZmZpYworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitSZXBsaWNhdGlvbiB0cmFm ZmljIGlzIHJvdXRlZCB2aWEgdGhlCit4cmVmOnB2ZWNtX21pZ3JhdGlvbl9uZXR3b3JrW21pZ3Jh dGlvbiBuZXR3b3JrXS4gSWYgaXQgaXMgbm90IHNldCwgdGhlCittYW5hZ2VtZW50IG5ldHdvcmsg aXMgdXNlZCBieSBkZWZhdWx0LCB3aGljaCBjYW4gaGF2ZSBhIG5lZ2F0aXZlCitpbXBhY3Qgb24g Y29yb3N5bmMgYW5kIHRoZXJlZm9yZSBvbiBjbHVzdGVyIGF2YWlsYWJpbGl0eS4gVG8gc3BlY2lm eQordGhlIG1pZ3JhdGlvbiBuZXR3b3JrLCBuYXZpZ2F0ZSB0bworX19EYXRhY2VudGVyIC0+IE9w dGlvbnMgLT4gTWlncmF0aW9uIFNldHRpbmdzX18sIG9yIHNldCBpdCB2aWEgQ0xJIGluCit0aGUg eHJlZjpkYXRhY2VudGVyX2NvbmZpZ3VyYXRpb25fZmlsZVtgZGF0YWNlbnRlci5jZmdgXS4KKwor W1twdmVzcl9jbHVzdGVyX3NpemVdXQorQ2x1c3RlciBTaXplCit+fn5+fn5+fn5+fn4KKworV2l0 aCBhIDItbm9kZSBjbHVzdGVyIGluIHBhcnRpY3VsYXIsIHRoZSBmYWlsdXJlIG9mIG9uZSBub2Rl IGNhbiBsZWF2ZQordGhlIG90aGVyIG5vZGUgd2l0aG91dCBhIHhyZWY6cHZlY21fcXVvcnVtW3F1 b3J1bV0uIEluIG9yZGVyIHRvIGtlZXAKK3RoZSBjbHVzdGVyIGZ1bmN0aW9uYWwgYXQgYWxsIHRp bWVzLCBpdCBpcyB0aGVyZWZvcmUgY3J1Y2lhbCB0bworeHJlZjpwdmVjbV9qb2luX25vZGVfdG9f Y2x1c3RlcltleHBhbmRdIHRvIGEgMy1ub2RlIGNsdXN0ZXIgaW4gYWR2YW5jZQorb3IgdG8gY29u ZmlndXJlIGEgeHJlZjpwdmVjbV9leHRlcm5hbF92b3RlW1FEZXZpY2VdIGZvciB0aGUgdGhpcmQK K3ZvdGUuCisKK1tbcHZlc3JfbWFuYWdpbmdfam9ic11dCitNYW5hZ2luZyBKb2JzCistLS0tLS0t LS0tLS0tCiAKLVBvc3NpYmxlIGlzc3Vlcwotfn5+fn5+fn5+fn5+fn5+CitbdGh1bWJuYWlsPSJz Y3JlZW5zaG90L2d1aS1xZW11LWFkZC1yZXBsaWNhdGlvbi1qb2IucG5nIl0KIAotU29tZSBvZiB0 aGUgbW9zdCBjb21tb24gaXNzdWVzIGFyZSBpbiB0aGUgZm9sbG93aW5nIGxpc3QuIERlcGVuZGlu ZyBvbiB5b3VyCi1zZXR1cCB0aGVyZSBtYXkgYmUgYW5vdGhlciBjYXVzZS4KK1JlcGxpY2F0aW9u IGpvYnMgY2FuIGVhc2lseSBiZSBjcmVhdGVkLCBtb2RpZmllZCBhbmQgcmVtb3ZlZCB2aWEgd2Vi CitpbnRlcmZhY2UsIG9yIGJ5IHVzaW5nIHRoZSBDTEkgdG9vbCBgcHZlc3JgLgogCi0qIE5ldHdv cmsgaXMgbm90IHdvcmtpbmcuCitUbyBtYW5hZ2UgYWxsIHJlcGxpY2F0aW9uIGpvYnMgaW4gb25l IHBsYWNlLCBnbyB0bworX19EYXRhY2VudGVyIC0+IFJlcGxpY2F0aW9uX18uIEFkZGl0aW9uYWwg ZnVuY3Rpb25hbGl0aWVzIGFyZQorYXZhaWxhYmxlIHVuZGVyIF9fTm9kZSAtPiBSZXBsaWNhdGlv bl9fIGFuZCBfX0d1ZXN0IC0+IFJlcGxpY2F0aW9uX18uCitHbyB0aGVyZSB0byB2aWV3IGxvZ3Ms IHNjaGVkdWxlIGEgam9iIG9uY2UgZm9yIG5vdywgb3IgYmVuZWZpdCBmcm9tCitwcmVzZXQgZmll bGRzIHdoZW4gY29uZmlndXJpbmcgYSBqb2IuCiAKLSogTm8gZnJlZSBzcGFjZSBsZWZ0IG9uIHRo ZSByZXBsaWNhdGlvbiB0YXJnZXQgc3RvcmFnZS4KK0VuYWJsZWQgcmVwbGljYXRpb24gam9icyB3 aWxsIGF1dG9tYXRpY2FsbHkgcnVuIGF0IHRoZWlyIHNldCBpbnRlcnZhbCwKK29uZSBhZnRlciB0 aGUgb3RoZXIuIFlvdSBjYW4gY2hhbmdlIHRoZSBkZWZhdWx0IGludGVydmFsIG9mIGV2ZXJ5IDE1 CittaW51dGVzIChgKi8xNWApIGJ5IHNlbGVjdGluZyBvciBhZGFwdGluZyBhbiBleGFtcGxlIGZy b20gdGhlCitkcm9wLWRvd24gbGlzdC4gVGhlIHNob3J0ZXN0IGludGVydmFsIGlzIGV2ZXJ5IG1p bnV0ZSAoYCovMWApLiBTZWUKK2Fsc28geHJlZjpjaGFwdGVyX2NhbGVuZGFyX2V2ZW50c1tzY2hl ZHVsZSBmb3JtYXRdLgogCi0qIFN0b3JhZ2Ugd2l0aCB0aGUgc2FtZSBzdG9yYWdlIElEIGlzIG5v dCBhdmFpbGFibGUgb24gdGhlIHRhcmdldCBub2RlLgorSWYgcmVwbGljYXRpb24gam9icyByZXN1 bHQgaW4gc2lnbmlmaWNhbnQgSS9PIGxvYWQgb24gdGhlIHRhcmdldCBub2RlLAordGhlIG5ldHdv cmsgYmFuZHdpZHRoIG9mIGluZGl2aWR1YWwgam9icyBjYW4gYmUgbGltaXRlZCB0byBrZWVwIHRo ZQorbG9hZCBhdCBhbiBhY2NlcHRhYmxlIGxldmVsLgogCi1OT1RFOiBZb3UgY2FuIGFsd2F5cyB1 c2UgdGhlIHJlcGxpY2F0aW9uIGxvZyB0byBmaW5kIG91dCB3aGF0IGlzIGNhdXNpbmcgdGhlIHBy b2JsZW0uCitTaG9ydGx5IGFmdGVyIGpvYiBjcmVhdGlvbiwgYSBmaXJzdCBzbmFwc2hvdCBpcyB0 YWtlbiBhbmQgc2VudCB0byB0aGUKK3RhcmdldCBub2RlLiBTdWJzZXF1ZW50IHNuYXBzaG90cyBh cmUgdGFrZW4gYWNjb3JkaW5nIHRvIHRoZSBzY2hlZHVsZQorYW5kIG9ubHkgY29udGFpbiBtb2Rp ZmllZCB2b2x1bWUgZGF0YSwgYWxsb3dpbmcgYSBzaWduaWZpY2FudGx5CitzaG9ydGVyIHRyYW5z ZmVyIHRpbWUuCiAKLU1pZ3JhdGluZyBhIGd1ZXN0IGluIGNhc2Ugb2YgRXJyb3IKLX5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLS8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8gYmV0dGVy IGZpdHRpbmcgY2hhcHRlciAoc3lzYWRtaW4gPykgYW5kIG9ubHkgbGluayB0bwotLy8gaXQgaGVy ZQorSWYgeW91IHJlbW92ZSBhIHJlcGxpY2F0aW9uIGpvYiwgdGhlIHNuYXBzaG90cyBvbiB0aGUg dGFyZ2V0IG5vZGUgYXJlCithbHNvIGdldHRpbmcgZGVsZXRlZCBhZ2FpbiBieSBkZWZhdWx0LiBU aGUgcmVtb3ZhbCB0YWtlcyBwbGFjZSBhdCB0aGUKK25leHQgcG9zc2libGUgcG9pbnQgaW4gdGlt ZSBhbmQgcmVxdWlyZXMgdGhlIGpvYiB0byBiZSBlbmFibGVkLiBJZiB0aGUKK3RhcmdldCBub2Rl IGlzIHBlcm1hbmVudGx5IHVucmVhY2hhYmxlLCB0aGUgY2xlYW51cCBjYW4gYmUgc2tpcHBlZCBi eQorZm9yY2luZyBhIGpvYiBkZWxldGlvbiB2aWEgQ0xJLgogCi1JbiB0aGUgY2FzZSBvZiBhIGdy YXZlIGVycm9yLCBhIHZpcnR1YWwgZ3Vlc3QgbWF5IGdldCBzdHVjayBvbiBhIGZhaWxlZAotbm9k ZS4gWW91IHRoZW4gbmVlZCB0byBtb3ZlIGl0IG1hbnVhbGx5IHRvIGEgd29ya2luZyBub2RlIGFn YWluLgorV2hlbiBub3QgdXNpbmcgdGhlIHdlYiBpbnRlcmZhY2UsIHRoZSBjbHVzdGVyLXdpZGUg dW5pcXVlIHJlcGxpY2F0aW9uCitqb2IgSUQgaGFzIHRvIGJlIHNwZWNpZmllZC4gRm9yIGV4YW1w bGUsIGAxMDAtMGAsIHdoaWNoIGlzIGNvbXBvc2VkIG9mCit0aGUgZ3Vlc3QgSUQsIGEgaHlwaGVu IGFuZCBhbiBhcmJpdHJhcnkgam9iIG51bWJlci4KIAotRXhhbXBsZQotfn5+fn5+fgorW1twdmVz cl9jbGlfZXhhbXBsZXNdXQorQ0xJIEV4YW1wbGVzCistLS0tLS0tLS0tLS0KIAotTGV0J3MgYXNz dW1lIHRoYXQgeW91IGhhdmUgdHdvIGd1ZXN0cyAoVk0gMTAwIGFuZCBDVCAyMDApIHJ1bm5pbmcg b24gbm9kZSBBCi1hbmQgcmVwbGljYXRlIHRvIG5vZGUgQi4KLU5vZGUgQSBmYWlsZWQgYW5kIGNh biBub3QgZ2V0IGJhY2sgb25saW5lLiBOb3cgeW91IGhhdmUgdG8gbWlncmF0ZSB0aGUgZ3Vlc3QK LXRvIE5vZGUgQiBtYW51YWxseS4KK0NyZWF0ZSBhIHJlcGxpY2F0aW9uIGpvYiBmb3IgZ3Vlc3Qg YDEwMGAgYW5kIGdpdmUgaXQgdGhlIGpvYiBudW1iZXIKK2AwYC4gUmVwbGljYXRlIHRvIG5vZGUg YHB2ZTJgIGV2ZXJ5IGZpdmUgbWludXRlcyAoYCovNWApLCBhdCBhIG1heGltdW0KK25ldHdvcmsg YmFuZHdpdGRoIG9mIGAxMGAgTUJwcyAobWVnYWJ5dGVzIHBlciBzZWNvbmQpLgogCi0tIGNvbm5l Y3QgdG8gbm9kZSBCIG92ZXIgc3NoIG9yIG9wZW4gaXRzIHNoZWxsIHZpYSB0aGUgd2ViIFVJCist LS0tCisjIHB2ZXNyIGNyZWF0ZS1sb2NhbC1qb2IgMTAwLTAgcHZlMiAtLXNjaGVkdWxlICIqLzUi IC0tcmF0ZSAxMAorLS0tLQorCitMaXN0IHJlcGxpY2F0aW9uIGpvYnMgZnJvbSBhbGwgbm9kZXMu CiAKLS0gY2hlY2sgaWYgdGhhdCB0aGUgY2x1c3RlciBpcyBxdW9yYXRlCi0rCiAtLS0tCi0jIHB2 ZWNtIHN0YXR1cworIyBwdmVzciBsaXN0CiAtLS0tCiAKLS0gSWYgeW91IGhhdmUgbm8gcXVvcnVt LCB3ZSBzdHJvbmdseSBhZHZpc2UgdG8gZml4IHRoaXMgZmlyc3QgYW5kIG1ha2UgdGhlCi0gIG5v ZGUgb3BlcmFibGUgYWdhaW4uIE9ubHkgaWYgdGhpcyBpcyBub3QgcG9zc2libGUgYXQgdGhlIG1v bWVudCwgeW91IG1heQotICB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kIHRvIGVuZm9yY2UgcXVv cnVtIG9uIHRoZSBjdXJyZW50IG5vZGU6Ci0rCitMaXN0IHRoZSBqb2Igc3RhdHVzZXMgZnJvbSBh bGwgbG9jYWwgZ3Vlc3RzLCBvciBvbmx5IGZyb20gYSBzcGVjaWZpYworbG9jYWwgZ3Vlc3QuCisK IC0tLS0KLSMgcHZlY20gZXhwZWN0ZWQgMQorIyBwdmVzciBzdGF0dXMgWy0tZ3Vlc3QgMTAwXQog LS0tLQogCi1XQVJOSU5HOiBBdm9pZCBjaGFuZ2VzIHdoaWNoIGFmZmVjdCB0aGUgY2x1c3RlciBp ZiBgZXhwZWN0ZWQgdm90ZXNgIGFyZSBzZXQKLShmb3IgZXhhbXBsZSBhZGRpbmcvcmVtb3Zpbmcg bm9kZXMsIHN0b3JhZ2VzLCB2aXJ0dWFsIGd1ZXN0cykgYXQgYWxsIGNvc3RzLgotT25seSB1c2Ug aXQgdG8gZ2V0IHZpdGFsIGd1ZXN0cyB1cCBhbmQgcnVubmluZyBhZ2FpbiBvciB0byByZXNvbHZl IHRoZSBxdW9ydW0KLWlzc3VlIGl0c2VsZi4KK1JlYWQgdGhlIGNvbmZpZ3VyYXRpb24gb2Ygam9i IGAxMDAtMGAuCiAKLS0gbW92ZSBib3RoIGd1ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZXMgZm9ybSB0 aGUgb3JpZ2luIG5vZGUgQSB0byBub2RlIEI6Ci0rCiAtLS0tCi0jIG12IC9ldGMvcHZlL25vZGVz L0EvcWVtdS1zZXJ2ZXIvMTAwLmNvbmYgL2V0Yy9wdmUvbm9kZXMvQi9xZW11LXNlcnZlci8xMDAu Y29uZgotIyBtdiAvZXRjL3B2ZS9ub2Rlcy9BL2x4Yy8yMDAuY29uZiAvZXRjL3B2ZS9ub2Rlcy9C L2x4Yy8yMDAuY29uZgorIyBwdmVzciByZWFkIDEwMC0wCiAtLS0tCiAKLS0gTm93IHlvdSBjYW4g c3RhcnQgdGhlIGd1ZXN0cyBhZ2FpbjoKLSsKK1VwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBvZiBq b2IgYDEwMC0wYCwgZm9yIGV4YW1wbGUsIHRvIGNoYW5nZSB0aGUKK3NjaGVkdWxlIGludGVydmFs IHRvIGV2ZXJ5IGZ1bGwgaG91ciAoYGhvdXJseWApLgorCiAtLS0tCi0jIHFtIHN0YXJ0IDEwMAot IyBwY3Qgc3RhcnQgMjAwCisjIHB2ZXNyIHVwZGF0ZSAxMDAtMCAtLXNjaGVkdWxlICIqOjAwIgog LS0tLQogCi1SZW1lbWJlciB0byByZXBsYWNlIHRoZSBWTUlEcyBhbmQgbm9kZSBuYW1lcyB3aXRo IHlvdXIgcmVzcGVjdGl2ZSB2YWx1ZXMuCitUbyBydW4gdGhlIGpvYiBgMTAwLTBgIG9uY2Ugc29v biwgc2NoZWR1bGUgaXQgcmVnYXJkbGVzcyBvZiB0aGUKK2NvbmZpZ3VyZWQgaW50ZXJ2YWwuCiAK LU1hbmFnaW5nIEpvYnMKLS0tLS0tLS0tLS0tLS0KKy0tLS0KKyMgcHZlc3Igc2NoZWR1bGUtbm93 IDEwMC0wCistLS0tCiAKLVt0aHVtYm5haWw9InNjcmVlbnNob3QvZ3VpLXFlbXUtYWRkLXJlcGxp Y2F0aW9uLWpvYi5wbmciXQorRGlzYWJsZSAob3IgYGVuYWJsZWApIHRoZSBqb2IgYDEwMC0wYC4K KworLS0tLQorIyBwdmVzciBkaXNhYmxlIDEwMC0wCistLS0tCisKK0RlbGV0ZSB0aGUgam9iIGAx MDAtMGAuIElmIHRoZSB0YXJnZXQgbm9kZSBpcyBwZXJtYW5lbnRseSB1bnJlYWNoYWJsZSwKK2At LWZvcmNlYCBjYW4gYmUgdXNlZCB0byBza2lwIHRoZSBmYWlsaW5nIGNsZWFudXAuCiAKLVlvdSBj YW4gdXNlIHRoZSB3ZWIgR1VJIHRvIGNyZWF0ZSwgbW9kaWZ5LCBhbmQgcmVtb3ZlIHJlcGxpY2F0 aW9uIGpvYnMKLWVhc2lseS4gQWRkaXRpb25hbGx5LCB0aGUgY29tbWFuZC1saW5lIGludGVyZmFj ZSAoQ0xJKSB0b29sIGBwdmVzcmAgY2FuIGJlCi11c2VkIHRvIGRvIHRoaXMuCistLS0tCisjIHB2 ZXNyIGRlbGV0ZSAxMDAtMCBbLS1mb3JjZV0KKy0tLS0KIAotWW91IGNhbiBmaW5kIHRoZSByZXBs aWNhdGlvbiBwYW5lbCBvbiBhbGwgbGV2ZWxzIChkYXRhY2VudGVyLCBub2RlLCB2aXJ0dWFsCi1n dWVzdCkgaW4gdGhlIHdlYiBHVUkuIFRoZXkgZGlmZmVyIGluIHdoaWNoIGpvYnMgZ2V0IHNob3du OgotYWxsLCBub2RlLSBvciBndWVzdC1zcGVjaWZpYyBqb2JzLgorW1twdmVzcl9lcnJvcl9oYW5k bGluZ11dCitFcnJvciBIYW5kbGluZworLS0tLS0tLS0tLS0tLS0KIAotV2hlbiBhZGRpbmcgYSBu ZXcgam9iLCB5b3UgbmVlZCB0byBzcGVjaWZ5IHRoZSBndWVzdCBpZiBub3QgYWxyZWFkeSBzZWxl Y3RlZAotYXMgd2VsbCBhcyB0aGUgdGFyZ2V0IG5vZGUuIFRoZSByZXBsaWNhdGlvbgoteHJlZjpw dmVzcl9zY2hlZHVsZV90aW1lX2Zvcm1hdFtzY2hlZHVsZV0gY2FuIGJlIHNldCBpZiB0aGUgZGVm YXVsdCBvZiBgYWxsCi0xNSBtaW51dGVzYCBpcyBub3QgZGVzaXJlZC4gWW91IG1heSBpbXBvc2Ug YSByYXRlLWxpbWl0IG9uIGEgcmVwbGljYXRpb24KLWpvYi4gVGhlIHJhdGUgbGltaXQgY2FuIGhl bHAgdG8ga2VlcCB0aGUgbG9hZCBvbiB0aGUgc3RvcmFnZSBhY2NlcHRhYmxlLgorW1twdmVzcl9q b2JfZmFpbGVkXV0KK0pvYiBGYWlsZWQKK35+fn5+fn5+fn4KIAotQSByZXBsaWNhdGlvbiBqb2Ig aXMgaWRlbnRpZmllZCBieSBhIGNsdXN0ZXItd2lkZSB1bmlxdWUgSUQuIFRoaXMgSUQgaXMKLWNv bXBvc2VkIG9mIHRoZSBWTUlEIGluIGFkZGl0aW9uIHRvIGEgam9iIG51bWJlci4KLVRoaXMgSUQg bXVzdCBvbmx5IGJlIHNwZWNpZmllZCBtYW51YWxseSBpZiB0aGUgQ0xJIHRvb2wgaXMgdXNlZC4K K0luIHRoZSBldmVudCB0aGF0IGEgcmVwbGljYXRpb24gam9iIGZhaWxzLCBpdCBpcyB0ZW1wb3Jh cmlseSBwbGFjZWQgaW4KK2FuIGVycm9yIHN0YXRlIGFuZCBhIG5vdGlmaWNhdGlvbiBpcyBzZW50 LiBBIHJldHJ5IGlzIHNjaGVkdWxlZCBmb3IgNQorbWludXRlcyBsYXRlciwgZm9sbG93ZWQgYnkg YW5vdGhlciAxMCwgMTUgYW5kIGZpbmFsbHkgZXZlcnkgMzAKK21pbnV0ZXMuIEFzIHNvb24gYXMg dGhlIGpvYiBoYXMgcnVuIHN1Y2Nlc3NmdWxseSBhZ2FpbiwgdGhlIGVycm9yCitzdGF0ZSBpcyBs ZWZ0IGFuZCB0aGUgY29uZmlndXJlZCBpbnRlcnZhbCBpcyByZXN1bWVkLgogCi1OZXR3b3JrCi0t LS0tLS0tCisuVHJvdWJsZXNob290aW5nIEpvYiBGYWlsdXJlcwogCi1SZXBsaWNhdGlvbiB0cmFm ZmljIHdpbGwgdXNlIHRoZSBzYW1lIG5ldHdvcmsgYXMgdGhlIGxpdmUgZ3Vlc3QgbWlncmF0aW9u LiBCeQotZGVmYXVsdCwgdGhpcyBpcyB0aGUgbWFuYWdlbWVudCBuZXR3b3JrLiBUbyB1c2UgYSBk aWZmZXJlbnQgbmV0d29yayBmb3IgdGhlCi1taWdyYXRpb24sIGNvbmZpZ3VyZSB0aGUgYE1pZ3Jh dGlvbiBOZXR3b3JrYCBpbiB0aGUgd2ViIGludGVyZmFjZSB1bmRlcgotYERhdGFjZW50ZXIgLT4g T3B0aW9ucyAtPiBNaWdyYXRpb24gU2V0dGluZ3NgIG9yIGluIHRoZSBgZGF0YWNlbnRlci5jZmdg LiBTZWUKLXhyZWY6cHZlY21fbWlncmF0aW9uX25ldHdvcmtbTWlncmF0aW9uIE5ldHdvcmtdIGZv ciBtb3JlIGRldGFpbHMuCitUbyBmaW5kIG91dCB3aHkgYSBqb2IgZXhhY3RseSBmYWlsZWQsIHJl YWQgdGhlIGxvZyBhdmFpbGFibGUgdW5kZXIKK19fTm9kZSAtPiBSZXBsaWNhdGlvbl9fLgogCi1D b21tYW5kLWxpbmUgSW50ZXJmYWNlIEV4YW1wbGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCitDb21tb24gY2F1c2VzIGFyZToKIAotQ3JlYXRlIGEgcmVwbGljYXRpb24gam9iIHdo aWNoIHJ1bnMgZXZlcnkgNSBtaW51dGVzIHdpdGggYSBsaW1pdGVkIGJhbmR3aWR0aAotb2YgMTAg TWJwcyAobWVnYWJ5dGVzIHBlciBzZWNvbmQpIGZvciB0aGUgZ3Vlc3Qgd2l0aCBJRCAxMDAuCisq IFRoZSBuZXR3b3JrIGlzIG5vdCB3b3JraW5nIHByb3Blcmx5LgorKiBUaGUgc3RvcmFnZSAoSUQp IGluIHVzZSBoYXMgc2V0IGFuIGF2YWlsYWJpbGl0eSByZXN0cmljdGlvbiwKK2V4Y2x1ZGluZyB0 aGUgdGFyZ2V0IG5vZGUuCisqIFRoZSBzdG9yYWdlIGlzIG5vdCBzZXQgdXAgY29ycmVjdGx5IG9u IHRoZSB0YXJnZXQgbm9kZSAoZS5nLgorZGlmZmVyZW50IHBvb2wgbmFtZSkuCisqIFRoZSBzdG9y YWdlIG9uIHRoZSB0YXJnZXQgbm9kZSBoYXMgbm8gZnJlZSBzcGFjZSBsZWZ0LgorCitbW3B2ZXNy X25vZGVfZmFpbGVkXV0KK09yaWdpbiBOb2RlIEZhaWxlZAorfn5+fn5+fn5+fn5+fn5+fn5+Cisv LyBGSVhNRTogbW92ZSB0aGlzIHRvIGJldHRlciBmaXR0aW5nIGNoYXB0ZXIgKHN5c2FkbWluID8p IGFuZCBvbmx5IGxpbmsgdG8KKy8vIGl0IGhlcmUKIAorSW4gdGhlIGV2ZW50IHRoYXQgYSBub2Rl IHJ1bm5pbmcgcmVwbGljYXRlZCBndWVzdHMgZmFpbHMgc3VkZGVubHkgYW5kCitmb3IgdG9vIGxv bmcsIGl0IG1heSBiZWNvbWUgbmVjZXNzYXJ5IHRvIHJlc3RhcnQgdGhlc2UgZ3Vlc3RzIG9uIHRo ZWlyCityZXBsaWNhdGVkIG5vZGVzLiBJZiByZXBsaWNhdGVkIGd1ZXN0cyBhcmUgY29uZmlndXJl ZCBmb3IgaGlnaAorYXZhaWxhYmlsaXR5IChIQSksIGJlc2lkZSBpdHMgaW52b2x2ZWQKK3hyZWY6 cHZlc3Jfcmlza19vZl9kYXRhX2xvc3NbcmlzayBvZiBkYXRhIGxvc3NdLCBqdXN0IHdhaXQgdW50 aWwgdGhlc2UKK2d1ZXN0cyBhcmUgcmVjb3ZlcmVkIG9uIG90aGVyIG5vZGVzLiBSZXBsaWNhdGVk IGd1ZXN0cyB3aGljaCBhcmUgbm90Citjb25maWd1cmVkIGZvciBIQSBjYW4gYmUgbW92ZWQgbWFu dWFsbHkgYXMgZXhwbGFpbmVkIGJlbG93LCBpbmNsdWRpbmcKK3RoZSBzYW1lIHJpc2sgb2YgZGF0 YSBsb3NzLgorCitbW3B2ZXNyX2ZpbmRfbGF0ZXN0X3JlcGxpY2FzXV0KKy5TdGVwIDE6IE9wdGlv bmFsbHkgRGVjaWRlIG9uIGEgU3BlY2lmaWMgUmVwbGljYXRpb24gVGFyZ2V0IE5vZGUKKworVG8g bWluaW1pemUgdGhlIGRhdGEgbG9zcyBvZiBhbiBpbXBvcnRhbnQgZ3Vlc3QsIHlvdSBjYW4gb3B0 aW9uYWxseQorZmluZCB0aGUgdGFyZ2V0IG5vZGUgb24gd2hpY2ggdGhlIG1vc3QgcmVjZW50IHN1 Y2Nlc3NmdWwgcmVwbGljYXRpb24KK3Rvb2sgcGxhY2UuIElmIHRoZSBvcmlnaW4gbm9kZSBpcyBo ZWFsdGh5IGVub3VnaCB0byBhY2Nlc3MgaXRzIHdlYgoraW50ZXJmYWNlLCBnbyB0byBfX05vZGUg LT4gUmVwbGljYXRpb25fXyBhbmQgc2VlIHRoZSAnTGFzdCBTeW5jJworY29sdW1uLiBBbHRlcm5h dGl2ZWx5LCB5b3UgY2FuIGNhcnJ5IG91dCB0aGUgZm9sbG93aW5nIHN0ZXBzLgorCisuIFRvIGxp c3QgYWxsIHRhcmdldCBub2RlcyBvZiBhbiBpbXBvcnRhbnQgZ3Vlc3QsIGV4ZW1wbGFyeSB3aXRo IHRoZQorSUQgYDEwMDBgLCBnbyB0byB0aGUgQ0xJIG9mIGFueSBub2RlIGFuZCBydW46CisrCiAt LS0tCi0jIHB2ZXNyIGNyZWF0ZS1sb2NhbC1qb2IgMTAwLTAgcHZlMSAtLXNjaGVkdWxlICIqLzUi IC0tcmF0ZSAxMAorIyBwdmVzciBsaXN0IHwgZ3JlcCAtZSBKb2IgLWUgXjEwMDAKIC0tLS0KIAot RGlzYWJsZSBhbiBhY3RpdmUgam9iIHdpdGggSUQgYDEwMC0wYC4KKy4gT3BlbiB0aGUgQ0xJIG9u IGFsbCBsaXN0ZWQgdGFyZ2V0IG5vZGVzLgogCisuIEFkYXB0IHRoZSBmb2xsb3dpbmcgY29tbWFu ZCB3aXRoIHlvdXIgVk1JRCB0byBmaW5kIHRoZSBtb3N0IHJlY2VudAorc25hcHNob3RzIGFtb25n IHlvdXIgdGFyZ2V0IG5vZGVzLiBJZiBzbmFwc2hvdHMgd2VyZSB0YWtlbiBpbiB0aGUgc2FtZQor bWludXRlLCBsb29rIGZvciB0aGUgaGlnaGVzdCBudW1iZXIgYXQgdGhlIGVuZCBvZiB0aGUgbmFt ZSwgd2hpY2ggaXMKK3RoZSBVbml4IHRpbWVzdGFtcC4KKysKIC0tLS0KLSMgcHZlc3IgZGlzYWJs ZSAxMDAtMAorIyB6ZnMgbGlzdCAtdCBzbmFwc2hvdCAtbyBuYW1lLGNyZWF0aW9uIHwgZ3JlcCAt ZSAtMTAwMC1kaXNrCiAtLS0tCiAKLUVuYWJsZSBhIGRlYWN0aXZhdGVkIGpvYiB3aXRoIElEIGAx MDAtMGAuCitbW3B2ZXNyX3ZlcmlmeV9jbHVzdGVyX2hlYWx0aF1dCisuU3RlcCAyOiBWZXJpZnkg Q2x1c3RlciBIZWFsdGgKKworR28gdG8gdGhlIENMSSBvZiBhbnkgcmVwbGljYXRpb24gdGFyZ2V0 IG5vZGUgYW5kIHJ1biBgcHZlY20gc3RhdHVzYC4KK0lmIHRoZSBvdXRwdXQgY29udGFpbnMgYFF1 b3JhdGU6IFllc2AsIHRoZW4gdGhlIGNsdXN0ZXIvY29yb3N5bmMgaXMKK2hlYWx0aHkgZW5vdWdo IGFuZCB5b3UgY2FuIHByb2NlZWQgd2l0aAoreHJlZjpwdmVzcl9tb3ZlX2FfZ3Vlc3RbU3RlcCAz OiBNb3ZlIGEgZ3Vlc3RdLgogCitXQVJOSU5HOiBJZiB0aGUgY2x1c3RlciBpcyBub3QgcXVvcmF0 ZSBhbmQgY29uc2lzdHMgb2YgMyBvciBtb3JlCitub2Rlcy92b3Rlcywgd2Ugc3Ryb25nbHkgcmVj b21tZW5kIHRvIHNvbHZlIHRoZSB1bmRlcmx5aW5nIHByb2JsZW0KK2ZpcnN0IHNvIHRoYXQgYXQg bGVhc3QgdGhlIG1ham9yaXR5IG9mIG5vZGVzL3ZvdGVzIGFyZSBhdmFpbGFibGUKK2FnYWluLgor CitJZiB0aGUgY2x1c3RlciBpcyBub3QgcXVvcmF0ZSBhbmQgY29uc2lzdHMgb2Ygb25seSAyIG5v ZGVzIHdpdGhvdXQgYW4KK2FkZGl0aW9uYWwgeHJlZjpwdmVjbV9leHRlcm5hbF92b3RlW1FEZXZp Y2VdLCB5b3UgbWF5IHdhbnQgdG8gcHJvY2VlZAord2l0aCB0aGUgZm9sbG93aW5nIHN0ZXBzIHRv IHRlbXBvcmFyeSBtYWtlIHRoZSBjbHVzdGVyIGZ1bmN0aW9uYWwKK2FnYWluLgorCisuIENoZWNr IHdoZXRoZXIgdGhlIGV4cGVjdGVkIHZvdGVzIGFyZSBgMmAuCisrCiAtLS0tCi0jIHB2ZXNyIGVu YWJsZSAxMDAtMAorIyBwdmVjbSBzdGF0dXMgfCBncmVwIHZvdGVzCiAtLS0tCiAKLUNoYW5nZSB0 aGUgc2NoZWR1bGUgaW50ZXJ2YWwgb2YgdGhlIGpvYiB3aXRoIElEIGAxMDAtMGAgdG8gb25jZSBw ZXIgaG91ci4KKy4gTm93IHlvdSBjYW4gZW5mb3JjZSBxdW9ydW0gb24gdGhlIG9uZSByZW1haW5p bmcgbm9kZSBieSBydW5uaW5nOgorKworLS0tLQorIyBwdmVjbSBleHBlY3RlZCAxCistLS0tCisr CitXQVJOSU5HOiBBdm9pZCBtYWtpbmcgY2hhbmdlcyB0byB0aGUgY2x1c3RlciBpbiB0aGlzIHN0 YXRlIGF0IGFsbAorY29zdHMsIGZvciBleGFtcGxlIGFkZGluZyBvciByZW1vdmluZyBub2Rlcywg c3RvcmFnZXMgb3IgZ3Vlc3RzLiBEZWxheQoraXQgdW50aWwgdGhlIHNlY29uZCBub2RlIGlzIGF2 YWlsYWJsZSBhZ2FpbiBhbmQgZXhwZWN0ZWQgdm90ZXMgaGF2ZQorYmVlbiBhdXRvbWF0aWNhbGx5 IHJlc3RvcmVkIHRvIGAyYC4KKworW1twdmVzcl9tb3ZlX2FfZ3Vlc3RdXQorLlN0ZXAgMzogTW92 ZSBhIEd1ZXN0CiAKKy4gVXNlIFNTSCB0byBjb25uZWN0IHRvIGFueSBub2RlIHRoYXQgaXMgcGFy dCBvZiB0aGUgY2x1c3RlciBtYWpvcml0eS4KK0FsdGVybmF0aXZlbHksIGdvIHRvIHRoZSB3ZWIg aW50ZXJmYWNlIGFuZCBvcGVuIHRoZSBzaGVsbCBvZiBzdWNoIG5vZGUKK2luIGEgc2VwYXJhdGUg d2luZG93IG9yIGJyb3dzZXIgdGFiLgorKworLiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgY29tbWFu ZHMgbW92ZSBhIFZNSUQgYDEwMDBgIGFuZCBDVElEIGAyMDAwYAorZnJvbSB0aGUgbm9kZSBuYW1l ZCBgcHZlLWZhaWxlZGAgdG8gYSBzdGlsbCBhdmFpbGFibGUgcmVwbGljYXRpb24KK3RhcmdldCBu b2RlIG5hbWVkIGBwdmUtcmVwbGljYXRlZGAuCisrCistLS0tCisjIGNkIC9ldGMvcHZlL25vZGVz LworIyBtdiBwdmUtZmFpbGVkL3FlbXUtc2VydmVyLzEwMDAuY29uZiBwdmUtcmVwbGljYXRlZC9x ZW11LXNlcnZlci8KKyMgbXYgcHZlLWZhaWxlZC9seGMvMjAwMC5jb25mIHB2ZS1yZXBsaWNhdGVk L2x4Yy8KKy0tLS0KKysKKy4gTm93IHlvdSBjYW4gc3RhcnQgdGhvc2UgZ3Vlc3RzIGFnYWluOgor KwogLS0tLQotIyBwdmVzciB1cGRhdGUgMTAwLTAgLS1zY2hlZHVsZSAnKi8wMCcKKyMgcW0gc3Rh cnQgMTAwMAorIyBwY3Qgc3RhcnQgMjAwMAogLS0tLQorKworLiBJZiBpdCB3YXMgbmVjZXNzYXJ5 IHRvIGVuZm9yY2UgdGhlIHF1b3J1bSwgYXMgZGVzY3JpYmVkIHdoZW4KK3ZlcmlmeWluZyB0aGUg Y2x1c3RlciBoZWFsdGgsIGRvIG5vdCBmb3JnZXQgdGhlIHdhcm5pbmcgYXQgdGhlIGVuZAorYWJv dXQgYXZvaWRpbmcgY2hhbmdlcyB0byB0aGUgY2x1c3Rlci4KIAogaWZkZWY6Om1hbnZvbG51bVtd CiBpbmNsdWRlOjpwdmUtY29weXJpZ2h0LmFkb2NbXQotLSAKMi4zOS41CgoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxp c3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20v Y2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAo=