From mboxrd@z Thu Jan 1 00:00:00 1970 From: ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org (Eric W. Biederman) Subject: Re: For review: user_namespace(7) man page Date: Tue, 09 Sep 2014 12:05:48 -0400 Message-ID: <87ppf4n5ib.fsf@x220.int.ebiederm.org> References: <53F5310A.5080503@gmail.com> <540F0810.7030408@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <540F0810.7030408-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> (Michael Kerrisk's message of "Tue, 09 Sep 2014 07:00:48 -0700") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: "Michael Kerrisk (man-pages)" Cc: "linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , richard -rw- weinberger , Linux Containers , lkml , Andy Lutomirski List-Id: linux-man@vger.kernel.org Ik1pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKSIgPG10ay5tYW5wYWdlc0BnbWFpbC5jb20+IHdy aXRlczoKCj4gSGkgQW5keSwgYW5kIEVyaWMsCj4KPiBPbiAwOS8wMS8yMDE0IDAxOjU3IFBNLCBB bmR5IEx1dG9taXJza2kgd3JvdGU6Cj4+IE9uIFdlZCwgQXVnIDIwLCAyMDE0IGF0IDQ6MzYgUE0s IE1pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKQo+PiA8bXRrLm1hbnBhZ2VzQGdtYWlsLmNvbT4g d3JvdGU6Cj4+PiBIZWxsbyBFcmljIGV0IGFsLiwKPj4+Cj4+PiBGb3IgdmFyaW91cyByZWFzb25z LCBteSB3b3JrIG9uIHRoZSBuYW1lc3BhY2VzIG1hbiBwYWdlcwo+Pj4gZmVsbCBvZmYgdGhlIHRh YmxlIGEgd2hpbGUgYmFjay4gTmV2ZXJ0aGVsZXNzLCB0aGUgcGFnZXMgaGF2ZQo+Pj4gYmVlbiBj bG9zZSB0byBjb21wbGV0aW9uIGZvciBhIHdoaWxlIG5vdywgYW5kIEkgcmVjZW50bHkgcmVzdGFy dGVkLAo+Pj4gaW4gYW4gZWZmb3J0IHRvIGZpbmlzaCB0aGVtLiBBcyB5b3UgYWxzbyBub3RlZCB0 byBtZSBmMmYsIHRoZXJlIGhhdmUKPj4+IGJlZW4gcmVjZW50bHkgYmVlbiBzb21lIHNtYWxsIG5h bWVzcGFjZSBjaGFuZ2VzIHRoYXQgeW91IG1heSBhZmZlY3QKPj4+IHRoZSBjb250ZW50IG9mIHRo ZSBwYWdlcy4gVGhlcmVmb3JlLCBJJ2xsIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvCj4+PiBzZW5k IHRoZSBuYW1lc3BhY2UtcmVsYXRlZCBwYWdlcyBvdXQgZm9yIGZ1cnRoZXIgKGZpbmFsPykgcmV2 aWV3Lgo+Pj4KPj4+IFNvLCBoZXJlLCBJIHN0YXJ0IHdpdGggdGhlIHVzZXJfbmFtZXNwYWNlcyg3 KSBwYWdlLCB3aGljaCBpcyBzaG93bgo+Pj4gaW4gcmVuZGVyZWQgZm9ybSBiZWxvdywgd2l0aCBz b3VyY2UgYXR0YWNoZWQgdG8gdGhpcyBtYWlsLiBJJ2xsCj4+PiBzZW5kIHZhcmlvdXMgb3RoZXIg cGFnZXMgaW4gZm9sbG93LW9uIG1haWxzLgo+Pj4KPj4+IFJldmlldyBjb21tZW50cy9zdWdnZXN0 aW9ucyBmb3IgaW1wcm92ZW1lbnRzIC8gYnVnIGZpeGVzIHdlbGNvbWUuCj4+Pgo+Pj4gQ2hlZXJz LAo+Pj4KPj4+IE1pY2hhZWwKPj4+Cj4+PiA9PQo+Pj4KPj4+IE5BTUUKPj4+ICAgICAgICB1c2Vy X25hbWVzcGFjZXMgLSBvdmVydmlldyBvZiBMaW51eCB1c2VyX25hbWVzcGFjZXMKPj4+Cj4+PiBE RVNDUklQVElPTgo+Pj4gICAgICAgIEZvciBhbiBvdmVydmlldyBvZiBuYW1lc3BhY2VzLCBzZWUg bmFtZXNwYWNlcyg3KS4KPj4+Cj4+PiAgICAgICAgVXNlciAgIG5hbWVzcGFjZXMgICBpc29sYXRl ICAgc2VjdXJpdHktcmVsYXRlZCAgIGlkZW50aWZpZXJzICBhbmQKPj4+ICAgICAgICBhdHRyaWJ1 dGVzLCBpbiBwYXJ0aWN1bGFyLCB1c2VyIElEcyBhbmQgZ3JvdXAgIElEcyAgKHNlZSAgY3JlZGVu 4oCQCj4+PiAgICAgICAgdGlhbHMoNyksIHRoZSByb290IGRpcmVjdG9yeSwga2V5cyAoc2VlIGtl eWN0bCgyKSksIGFuZCBjYXBhYmlsaeKAkAo+PiAKPj4gUHV0dGluZyAicm9vdCBkaXJlY3Rvcnki IGhlcmUgaXMgb2RkIC0tIHRoYXQncyByZWFsbHkgcGFydCBvZiBhCj4+IGRpZmZlcmVudCBuYW1l c3BhY2UuICBCdXQgdXNlciBuYW1lc3BhY2VzIHNvcnQgb2YgaXNvbGF0ZSB0aGUgb3RoZXIKPj4g bmFtZXNwYWNlcyBmcm9tIGVhY2ggb3RoZXIuCj4KPiBJJ20gdHJ5aW5nIHRvIHJlbWVtYmVyIHRo ZSBkZXRhaWxzIGhlcmUuIEkgdGhpbmsgdGhpcyBwaWVjZSBvcmlnaW5hbGx5IAo+IGNhbWUgYWZ0 ZXIgYSBkaXNjdXNzaW9uIHdpdGggRXJpYywgYnV0IEkgYW0gbm90IHN1cmUuIEVyaWM/CgpQcm9i YWJseS4KCkkgYW0gbm90IGNlcnRhaW4gd2hhdCB0aGUgYmVzdCB3YXkgdG8gc2F5IGl0IGJ1dCB3 ZSBkbyBuZWVkIHRvIGRvY3VtZW50CnRoYXQgYW4gdW5wcml2aWxlZ2VkIHVzZXIgdGhhdCBjcmVh dGVzIGEgdXNlciBuYW1lc3BhY2UgY2FuIG5vdyBjYWxsCmNocm9vdC4KCldlIG1heSBhbHNvIHdh bnQgdG8gZGlzY3VzcyB0aGUgc3BlY2lmaWMgcmVzdHJpY3Rpb25zIG9uIGNocm9vdC4KClRoZSB0 ZXh0IGFib3V0IGNocm9vdCBhdCBsZWFzdCBnaXZlcyBwZW9wbGUgYSBzdHJvbmcgaGludCB0aGF0 IHRoZQpjaHJvb3QgcnVsZXMgYXJlIGFmZmVjdGVkIGJ5IHVzZXIgbmFtZXNwYWNlcy4KClRoZSBy ZXN0cmljdGlvbnMgdGhhdCB3ZSBoYXZlIHNldHRsZWQgb24gdG8gYXZvaWQgY2hyb290IGJlaW5n IGEgcHJvYmxlbQphcmUgdGhlIGNyZWF0b3Igb2YgYSB1c2VyIG5hbWVzcGFjZSBtdXN0IG5vdCBi ZSBjaHJvb3RlZCBpbiB0aGVpcgpjdXJyZW50IG1vdW50IG5hbWVzcGFjZSwgYW5kIHRoZSBjcmVh dG9yIG9mIHRoZSB1c2VyIG5hbWVzcGFjZSBtdXN0IG5vdApiZSB0aHJlYWRlZC4KCkFuZHkgY2Fu IHlvdSBjaGVjayBtZSBvbiB0aGlzIGl0IGxvb2tzIGxpa2UgdW5zaGFyZSBpcyBjdXJyZW50bHkg YnVnZ3kKaW4gdGhhdCBpdCB3aWxsIGFsbG93IGEgdGhyZWFkZWQgYXBwbGljYXRpb24gdG8gY3Jl YXRlIGEgdXNlciBuYW1lc3BhY2UuCgoKPj4gQWxzbywgdWdoLCBrZXlzLiAgSG93IGRpZCBrZXlj dGwoMikgZXZlciBtYWtlIGl0IHRocm91Z2ggYW55IGtpbmQgb2YgcmV2aWV3Pwo+PiAKPj4+ICAg ICAgICB0aWVzIChzZWUgY2FwYWJpbGl0aWVzKDcpKS4gIEEgcHJvY2VzcydzIHVzZXIgYW5kIGdy b3VwICBJRHMgIGNhbgo+Pj4gICAgICAgIGJlIGRpZmZlcmVudCBpbnNpZGUgYW5kIG91dHNpZGUg YSB1c2VyIG5hbWVzcGFjZS4gIEluIHBhcnRpY3VsYXIsCj4+PiAgICAgICAgYSBwcm9jZXNzIGNh biBoYXZlIGEgbm9ybWFsIHVucHJpdmlsZWdlZCB1c2VyIElEIG91dHNpZGUgIGEgIHVzZXIKPj4+ ICAgICAgICBuYW1lc3BhY2Ugd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBoYXZpbmcgYSB1c2VyIElE IG9mIDAgaW5zaWRlIHRoZQo+Pj4gICAgICAgIG5hbWVzcGFjZTsgaW4gb3RoZXIgd29yZHMsIHRo ZSBwcm9jZXNzIGhhcyAgZnVsbCAgcHJpdmlsZWdlcyAgZm9yCj4+PiAgICAgICAgb3BlcmF0aW9u cyAgaW5zaWRlICB0aGUgIHVzZXIgIG5hbWVzcGFjZSwgYnV0IGlzIHVucHJpdmlsZWdlZCBmb3IK Pj4+ICAgICAgICBvcGVyYXRpb25zIG91dHNpZGUgdGhlIG5hbWVzcGFjZS4KPj4+Cj4+PiAgICBO ZXN0ZWQgbmFtZXNwYWNlcywgbmFtZXNwYWNlIG1lbWJlcnNoaXAKPj4+ICAgICAgICBVc2VyIG5h bWVzcGFjZXMgY2FuIGJlIG5lc3RlZDsgIHRoYXQgIGlzLCAgZWFjaCAgdXNlciAgbmFtZXNwYWNl 4oCUCj4+PiAgICAgICAgZXhjZXB0ICB0aGUgIGluaXRpYWwgICgicm9vdCIpIG5hbWVzcGFjZeKA lGhhcyBhIHBhcmVudCB1c2VyIG5hbWVz4oCQCj4+PiAgICAgICAgcGFjZSwgYW5kIGNhbiBoYXZl IHplcm8gb3IgbW9yZSBjaGlsZCB1c2VyIG5hbWVzcGFjZXMuICBUaGUgIHBhcuKAkAo+Pj4gICAg ICAgIGVudCB1c2VyIG5hbWVzcGFjZSBpcyB0aGUgdXNlciBuYW1lc3BhY2Ugb2YgdGhlIHByb2Nl c3MgdGhhdCBjcmXigJAKPj4+ICAgICAgICBhdGVzIHRoZSB1c2VyIG5hbWVzcGFjZSB2aWEgYSBj YWxsIHRvIHVuc2hhcmUoMikgb3IgY2xvbmUoMikgd2l0aAo+Pj4gICAgICAgIHRoZSBDTE9ORV9O RVdVU0VSIGZsYWcuCj4+Pgo+Pj4gICAgICAgIFRoZSBrZXJuZWwgaW1wb3NlcyAoc2luY2UgdmVy c2lvbiAzLjExKSBhIGxpbWl0IG9mIDMyIG5lc3RlZCBsZXbigJAKPj4+ICAgICAgICBlbHMgb2Yg dXNlciBuYW1lc3BhY2VzLiAgQ2FsbHMgdG8gIHVuc2hhcmUoMikgIG9yICBjbG9uZSgyKSAgdGhh dAo+Pj4gICAgICAgIHdvdWxkIGNhdXNlIHRoaXMgbGltaXQgdG8gYmUgZXhjZWVkZWQgZmFpbCB3 aXRoIHRoZSBlcnJvciBFVVNFUlMuCj4+Pgo+Pj4gICAgICAgIEVhY2ggIHByb2Nlc3MgIGlzICBh ICBtZW1iZXIgIG9mICBleGFjdGx5ICBvbmUgdXNlciBuYW1lc3BhY2UuICBBCj4+PiAgICAgICAg cHJvY2VzcyBjcmVhdGVkIHZpYSBmb3JrKDIpIG9yIGNsb25lKDIpIHdpdGhvdXQgdGhlIENMT05F X05FV1VTRVIKPj4+ICAgICAgICBmbGFnICBpcyAgYSAgbWVtYmVyICBvZiB0aGUgc2FtZSB1c2Vy IG5hbWVzcGFjZSBhcyBpdHMgcGFyZW50LiAgQQo+Pj4gICAgICAgIHByb2Nlc3MgY2FuIGpvaW4g YW5vdGhlciB1c2VyIG5hbWVzcGFjZSB3aXRoIHNldG5zKDIpIGlmICBpdCAgaGFzCj4+PiAgICAg ICAgdGhlICBDQVBfU1lTX0FETUlOICBpbiAgdGhhdCBuYW1lc3BhY2U7IHVwb24gZG9pbmcgc28s IGl0IGdhaW5zIGEKPj4+ICAgICAgICBmdWxsIHNldCBvZiBjYXBhYmlsaXRpZXMgaW4gdGhhdCBu YW1lc3BhY2UuCj4+Pgo+Pj4gICAgICAgIEEgY2FsbCB0byBjbG9uZSgyKSBvciAgdW5zaGFyZSgy KSAgd2l0aCAgdGhlICBDTE9ORV9ORVdVU0VSICBmbGFnCj4+PiAgICAgICAgbWFrZXMgIHRoZSAg bmV3ICBjaGlsZCAgcHJvY2VzcyAoZm9yIGNsb25lKDIpKSBvciB0aGUgY2FsbGVyIChmb3IKPj4+ ICAgICAgICB1bnNoYXJlKDIpKSBhIG1lbWJlciBvZiB0aGUgbmV3IHVzZXIgIG5hbWVzcGFjZSAg Y3JlYXRlZCAgYnkgIHRoZQo+Pj4gICAgICAgIGNhbGwuCj4+Pgo+Pj4gICAgQ2FwYWJpbGl0aWVz Cj4+PiAgICAgICAgVGhlIGNoaWxkIHByb2Nlc3MgY3JlYXRlZCBieSBjbG9uZSgyKSB3aXRoIHRo ZSBDTE9ORV9ORVdVU0VSIGZsYWcKPj4+ICAgICAgICBzdGFydHMgb3V0IHdpdGggYSBjb21wbGV0 ZSBzZXQgb2YgY2FwYWJpbGl0aWVzIGluICB0aGUgIG5ldyAgdXNlcgo+Pj4gICAgICAgIG5hbWVz cGFjZS4gIExpa2V3aXNlLCBhIHByb2Nlc3MgdGhhdCBjcmVhdGVzIGEgbmV3IHVzZXIgbmFtZXNw YWNlCj4+PiAgICAgICAgdXNpbmcgdW5zaGFyZSgyKSAgb3IgIGpvaW5zICBhbiAgZXhpc3Rpbmcg IHVzZXIgIG5hbWVzcGFjZSAgdXNpbmcKPj4+ICAgICAgICBzZXRucygyKSAgZ2FpbnMgYSBmdWxs IHNldCBvZiBjYXBhYmlsaXRpZXMgaW4gdGhhdCBuYW1lc3BhY2UuICBPbgo+Pj4gICAgICAgIHRo ZSBvdGhlciBoYW5kLCB0aGF0IHByb2Nlc3MgaGFzIG5vIGNhcGFiaWxpdGllcyAgaW4gIHRoZSAg cGFyZW50Cj4+PiAgICAgICAgKGluICB0aGUgY2FzZSBvZiBjbG9uZSgyKSkgb3IgcHJldmlvdXMg KGluIHRoZSBjYXNlIG9mIHVuc2hhcmUoMikKPj4+ICAgICAgICBhbmQgc2V0bnMoMikpIHVzZXIg bmFtZXNwYWNlLCBldmVuIGlmIHRoZSBuZXcgbmFtZXNwYWNlICBpcyAgY3Jl4oCQCj4+PiAgICAg ICAgYXRlZCAgb3IgIGpvaW5lZCBieSB0aGUgcm9vdCB1c2VyIChpLmUuLCBhIHByb2Nlc3Mgd2l0 aCB1c2VyIElEIDAKPj4+ICAgICAgICBpbiB0aGUgcm9vdCBuYW1lc3BhY2UpLgo+Pj4KPj4+ICAg ICAgICBOb3RlIHRoYXQgYSBjYWxsIHRvIGV4ZWN2ZSgyKSB3aWxsIGNhdXNlIGEgcHJvY2VzcyAg dG8gIGxvc2UgIGFueQo+Pj4gICAgICAgIGNhcGFiaWxpdGllcyB0aGF0IGl0IGhhcywgdW5sZXNz IGl0IGhhcyBhIHVzZXIgSUQgb2YgMCB3aXRoaW4gdGhlCj4+PiAgICAgICAgbmFtZXNwYWNlLgo+ PiAKPj4gT3IgdW5sZXNzIGZpbGUgY2FwYWJpbGl0aWVzIGhhdmUgYSBub24tZW1wdHkgaW5oZXJp dGFibGUgbWFzay4KPj4gCj4+IEl0IG1heSBiZSB3b3J0aCBtZW50aW9uaW5nIHRoYXQgZXhlY3Zl IGluIGEgdXNlciBuYW1lc3BhY2Ugd29ya3MKPj4gZXhhY3RseSBsaWtlIGV4ZWN2ZSBvdXRzaWRl IGEgdXNlcm5zLgo+Cj4KPiBJJzt2ZSByZXdvcmRlZCB0aGF0IHBhcmEgdG8gc2F5Ogo+Cj4gICAg ICAgIE5vdGUgdGhhdCBhIGNhbGwgdG8gZXhlY3ZlKDIpIHdpbGwgY2F1c2UgYSBwcm9jZXNzJ3Mg IGNhcGFiaWxp4oCQCj4gICAgICAgIHRpZXMgdG8gYmUgcmVjYWxjdWxhdGVkIGluIHRoZSB1c3Vh bCB3YXkgKHNlZSBjYXBhYmlsaXRpZXMoNykpLAo+ICAgICAgICBzbyB0aGF0IHVzdWFsbHksIHVu bGVzcyBpdCBoYXMgYSB1c2VyIElEIG9mIDAgd2l0aGluIHRoZSBuYW1lc+KAkAo+ICAgICAgICBw YWNlIG9yIHRoZSBleGVjdXRhYmxlIGZpbGUgaGFzIGEgbm9uZW1wdHkgaW5oZXJpdGFibGUgY2Fw YWJpbOKAkAo+ICAgICAgICBpdGllcyBtYXNrLCBpdCB3aWxsIGxvc2UgYWxsIGNhcGFiaWxpdGll cy4gIFNlZSB0aGUgIGRpc2N1c3Npb24KPiAgICAgICAgb2YgdXNlciBhbmQgZ3JvdXAgSUQgbWFw cGluZ3MsIGJlbG93Lgo+Cj4gT2theT8KClRoYXQgc2VlbXMgcmVhc29uYWJsZSB0byBtZS4KCj4+ PiAgICAgICAgICAgICQgY2F0IC9wcm9jLyQkL3VpZF9tYXAKPj4+ICAgICAgICAgICAgICAgICAg ICAgMCAgICAgICAgICAwIDQyOTQ5NjcyOTUKPj4+Cj4+PiAgICAgICAgVGhpcyBtYXBwaW5nIHRl bGxzIHVzIHRoYXQgdGhlIHJhbmdlIHN0YXJ0aW5nIGF0ICB1c2VyICBJRCAgMCAgaW4KPj4+ICAg ICAgICB0aGlzIG5hbWVzcGFjZSBtYXBzIHRvIGEgcmFuZ2Ugc3RhcnRpbmcgYXQgMCBpbiB0aGUg KG5vbmV4aXN0ZW50KQo+Pj4gICAgICAgIHBhcmVudCBuYW1lc3BhY2UsIGFuZCB0aGUgbGVuZ3Ro IG9mICB0aGUgIHJhbmdlICBpcyAgdGhlICBsYXJnZXN0Cj4+PiAgICAgICAgMzItYml0IHVuc2ln bmVkIGludGVnZXIuCj4+Pgo+Pj4gICAgRGVmaW5pbmcgdXNlciBhbmQgZ3JvdXAgSUQgbWFwcGlu Z3M6IHdyaXRpbmcgdG8gdWlkX21hcCBhbmQgZ2lkX21hcAo+Pj4gICAgICAgIEFmdGVyICB0aGUg IGNyZWF0aW9uIG9mIGEgbmV3IHVzZXIgbmFtZXNwYWNlLCB0aGUgdWlkX21hcCBmaWxlIG9mCj4+ PiAgICAgICAgb25lIG9mIHRoZSBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSBtYXkgYmUgd3Jp dHRlbiB0byAgb25jZSAgdG8KPj4+ICAgICAgICBkZWZpbmUgIHRoZSAgbWFwcGluZyAgb2YgIHVz ZXIgSURzIGluIHRoZSBuZXcgdXNlciBuYW1lc3BhY2UuICBBbgo+Pj4gICAgICAgIGF0dGVtcHQg dG8gd3JpdGUgbW9yZSB0aGFuIG9uY2UgdG8gIGEgIHVpZF9tYXAgIGZpbGUgIGluICBhICB1c2Vy Cj4+PiAgICAgICAgbmFtZXNwYWNlICBmYWlscyAgd2l0aCAgdGhlIGVycm9yIEVQRVJNLiAgU2lt aWxhciBydWxlcyBhcHBseSBmb3IKPj4+ICAgICAgICBnaWRfbWFwIGZpbGVzLgo+Pj4KPj4+ICAg ICAgICBUaGUgbGluZXMgd3JpdHRlbiB0byB1aWRfbWFwIChnaWRfbWFwKSBtdXN0IGNvbmZvcm0g dG8gIHRoZSAgZm9s4oCQCj4+PiAgICAgICAgbG93aW5nIHJ1bGVzOgo+Pj4KPj4+ICAgICAgICAq ICBUaGUgIHRocmVlICBmaWVsZHMgIG11c3QgIGJlIHZhbGlkIG51bWJlcnMsIGFuZCB0aGUgbGFz dCBmaWVsZAo+Pj4gICAgICAgICAgIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuCj4+Pgo+Pj4gICAg ICAgICogIExpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG5ld2xpbmUgY2hhcmFjdGVycy4KPj4+Cj4+ PiAgICAgICAgKiAgVGhlcmUgaXMgYW4gKGFyYml0cmFyeSkgbGltaXQgb24gdGhlIG51bWJlciBv ZiAgbGluZXMgIGluICB0aGUKPj4+ICAgICAgICAgICBmaWxlLiAgQXMgYXQgTGludXggMy44LCB0 aGUgbGltaXQgaXMgZml2ZSBsaW5lcy4gIEluIGFkZGl0aW9uLAo+Pj4gICAgICAgICAgIHRoZSBu dW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgZmlsZSBtdXN0IGJlIGxlc3MgdGhhbiAgdGhl Cj4+PiAgICAgICAgICAgc3lzdGVtIHBhZ2Ugc2l6ZSwgYW5kIHRoZSB3cml0ZSBtdXN0IGJlIHBl cmZvcm1lZCBhdCB0aGUgc3RhcnQKPj4+ICAgICAgICAgICBvZiB0aGUgZmlsZSAoaS5lLiwgbHNl ZWsoMikgYW5kIHB3cml0ZSgyKSAgY2FuJ3QgIGJlICB1c2VkICB0bwo+Pj4gICAgICAgICAgIHdy aXRlIHRvIG5vbnplcm8gb2Zmc2V0cyBpbiB0aGUgZmlsZSkuCj4+Pgo+Pj4gICAgICAgICogIFRo ZSAgcmFuZ2Ugb2YgdXNlciBJRHMgKGdyb3VwIElEcykgc3BlY2lmaWVkIGluIGVhY2ggbGluZSBj YW7igJAKPj4+ICAgICAgICAgICBub3Qgb3ZlcmxhcCB3aXRoIHRoZSByYW5nZXMgaW4gYW55IG90 aGVyIGxpbmVzLiAgSW4gIHRoZSAgaW5p4oCQCj4+PiAgICAgICAgICAgdGlhbCAgaW1wbGVtZW50 YXRpb24gIChMaW51eCAzLjgpLCB0aGlzIHJlcXVpcmVtZW50IHdhcyBzYXRpc+KAkAo+Pj4gICAg ICAgICAgIGZpZWQgYnkgYSBzaW1wbGlzdGljIGltcGxlbWVudGF0aW9uIHRoYXQgaW1wb3NlZCAg dGhlICBmdXJ0aGVyCj4+PiAgICAgICAgICAgcmVxdWlyZW1lbnQgIHRoYXQgIHRoZSAgdmFsdWVz ICBpbiBib3RoIGZpZWxkIDEgYW5kIGZpZWxkIDIgb2YKPj4+ICAgICAgICAgICBzdWNjZXNzaXZl IGxpbmVzIG11c3QgYmUgaW4gYXNjZW5kaW5nIG51bWVyaWNhbCAgb3JkZXIsICB3aGljaAo+Pj4g ICAgICAgICAgIHByZXZlbnRlZCBzb21lIG90aGVyd2lzZSB2YWxpZCBtYXBzIGZyb20gYmVpbmcg Y3JlYXRlZC4gIExpbnV4Cj4+PiAgICAgICAgICAgMy45IGFuZCBsYXRlciBmaXggdGhpcyBsaW1p dGF0aW9uLCBhbGxvd2luZyBhbnkgdmFsaWQgIHNldCAgb2YKPj4+ICAgICAgICAgICBub25vdmVy bGFwcGluZyBtYXBzLgo+Pj4KPj4+ICAgICAgICAqICBBdCBsZWFzdCBvbmUgbGluZSBtdXN0IGJl IHdyaXR0ZW4gdG8gdGhlIGZpbGUuCj4+Pgo+Pj4gICAgICAgIFdyaXRlcyB0aGF0IHZpb2xhdGUg dGhlIGFib3ZlIHJ1bGVzIGZhaWwgd2l0aCB0aGUgZXJyb3IgRUlOVkFMLgo+Pj4KPj4+ICAgICAg ICBJbiAgb3JkZXIgIGZvciAgYSAgcHJvY2VzcyAgdG8gIHdyaXRlICB0byB0aGUgL3Byb2MvW3Bp ZF0vdWlkX21hcAo+Pj4gICAgICAgICgvcHJvYy9bcGlkXS9naWRfbWFwKSBmaWxlLCBhbGwgIG9m ICB0aGUgIGZvbGxvd2luZyAgcmVxdWlyZW1lbnRzCj4+PiAgICAgICAgbXVzdCBiZSBtZXQ6Cj4+ Pgo+Pj4gICAgICAgIDEuIFRoZSAgd3JpdGluZyAgcHJvY2VzcyAgbXVzdCAgaGF2ZSAgdGhlIENB UF9TRVRVSUQgKENBUF9TRVRHSUQpCj4+PiAgICAgICAgICAgY2FwYWJpbGl0eSBpbiB0aGUgdXNl ciBuYW1lc3BhY2Ugb2YgdGhlIHByb2Nlc3MgcGlkLgo+PiAKPj4gVGhpcyBjaGVja2VkIGZvciB0 aGUgb3BlbmluZyBwcm9jZXNzIChhbmQgSSBkb24ndCBhY3R1YWxseSByZW1lbWJlcgo+PiB3aGV0 aGVyIGl0J3MgY2hlY2tlZCBmb3IgdGhlIHdyaXRpbmcgcHJvY2VzcykuCj4KPiBFcmljLCBjYW4g eW91IGNvbW1lbnQ/CgpXZSBoYXZlIHRvIGNoZWNrIGZvciB0aGUgb3BlbmluZyBwcm9jZXNzZXMg YW5kIHRoYXQgY2hhbmdlcyB3YXMgbWFkZQphZnRlciBJIGltcGxlbWVudGVkIG15IGludGVyZmFj ZS4gUGllY2VzIG9mIHRoZSBjb2RlIGFwcGVhciB0byBhbHNvCmV4YW1pbmUgdGhlIHdyaXRpbmcg cHJvY2VzcyBhbmQgdmVyaWZ5IGV2ZXJ5dGhpbmcgYXBwbGllcyB0byBpdCBhcyB3ZWxsLgoKSSBn b29mZWQgd2hlbiBJIGRlc2lnbmVkIHRoZSBpbnRlcmZhY2Ugb3JpZ2luYWxsIGFuZCBoYWQgbm90 IHJlYWxpemVkCndoYXQgYSBjbGFzc2ljIGRlc2lnbiBlcnJvciBpdCBjYW4gYmUgdG8gbm90IHJl c3RyaWN0IGJ5IHRoZSBvcGVuaW5nCnByb2Nlc3MuCgo+Pj4gICAgICAgIDIuIFRoZSB3cml0aW5n IHByb2Nlc3MgbXVzdCBiZSBpbiBlaXRoZXIgdGhlICB1c2VyICBuYW1lc3BhY2UgIG9mCj4+PiAg ICAgICAgICAgdGhlICBwcm9jZXNzICBwaWQgIG9yICBpbnNpZGUgdGhlIHBhcmVudCB1c2VyIG5h bWVzcGFjZSBvZiB0aGUKPj4+ICAgICAgICAgICBwcm9jZXNzIHBpZC4KPj4+Cj4+PiAgICAgICAg My4gVGhlIG1hcHBlZCB1c2VyIElEcyAoZ3JvdXAgSURzKSBtdXN0IGluIHR1cm4gaGF2ZSBhIG1h cHBpbmcgaW4KPj4+ICAgICAgICAgICB0aGUgcGFyZW50IHVzZXIgbmFtZXNwYWNlLgo+Pj4KPj4+ ICAgICAgICA0LiBPbmUgb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOgo+Pj4KPj4+ICAgICAgICAg ICAqICBUaGUgIGRhdGEgd3JpdHRlbiB0byB1aWRfbWFwIChnaWRfbWFwKSBjb25zaXN0cyBvZiBh IHNpbmdsZQo+Pj4gICAgICAgICAgICAgIGxpbmUgdGhhdCBtYXBzIHRoZSB3cml0aW5nICBwcm9j ZXNzJ3MgIGZpbGVzeXN0ZW0gIHVzZXIgIElECj4+PiAgICAgICAgICAgICAgKGdyb3VwIElEKSBp biB0aGUgcGFyZW50IHVzZXIgbmFtZXNwYWNlIHRvIGEgdXNlciBJRCAoZ3JvdXAKPj4+ICAgICAg ICAgICAgICBJRCkgaW4gdGhlIHVzZXIgbmFtZXNwYWNlLiAgVGhlIHVzdWFsICBjYXNlICBoZXJl ICBpcyAgdGhhdAo+Pj4gICAgICAgICAgICAgIHRoaXMgIHNpbmdsZSAgbGluZSAgcHJvdmlkZXMg IGEgIG1hcHBpbmcgZm9yIHVzZXIgSUQgb2YgdGhlCj4+PiAgICAgICAgICAgICAgcHJvY2VzcyB0 aGF0IGNyZWF0ZWQgdGhlIG5hbWVzcGFjZS4KPj4+Cj4+PiAgICAgICAgICAgKiAgVGhlIHByb2Nl c3MgaGFzIHRoZSBDQVBfU0VUVUlEIChDQVBfU0VUR0lEKSAgY2FwYWJpbGl0eSAgaW4KPj4+ICAg ICAgICAgICAgICB0aGUgIHBhcmVudCB1c2VyIG5hbWVzcGFjZS4gIFRodXMsIGEgcHJpdmlsZWdl ZCBwcm9jZXNzIGNhbgo+Pj4gICAgICAgICAgICAgIG1ha2UgbWFwcGluZ3MgdG8gYXJiaXRyYXJ5 IHVzZXIgSURzIChncm91cCBJRHMpIGluIHRoZSBwYXLigJAKPj4+ICAgICAgICAgICAgICBlbnQg dXNlciBuYW1lc3BhY2UuCj4+IAo+PiBUaGUgb3BlbmluZyBwcm9jZXNzLgo+Cj4gRml4ZWQuCj4K Pj4gT25lIG90aGVyIHRoaW5nIHRoYXQgY291bGQgYmUgd29ydGggbWVudGlvbmluZyBpdDogYW55 IG5vbi11c2VyCj4+IG5hbWVzcGFjZSB0aGF0J3MgY3JlYXRlZCBpcyBvd25lZCBieSB0aGUgdXNl ciBuYW1lc3BhY2Ugb2YgdGhlIHByb2Nlc3MKPj4gdGhhdCBjcmVhdGVkIGl0IGF0IHRoZSB0aW1l IG9mIGNyZWF0aW9uLiAgQWN0aW9ucyBvbiB0aG9zZSBuYW1lc3BhY2VzCj4+IHJlcXVpcmUgY2Fw YWJpbGl0aWVzIGluIHRoZSBjb3JyZXNwb25kaW5nIHVzZXIgbmFtZXNwYWNlLgo+Cj4gSSBhZGRl ZDoKPgo+IFtbCj4gV2hlbiBhIG5vbi11c2VyLW5hbWVzcGFjZSBpcyBjcmVhdGVkLAo+IGl0IGlz IG93bmVkIGJ5IHRoZSB1c2VyIG5hbWVzcGFjZSBpbiB3aGljaCB0aGUgY3JlYXRpbmcgcHJvY2Vz cwo+IHdhcyBhIG1lbWJlciBhdCB0aGUgdGltZSBvZiB0aGUgY3JlYXRpb24gb2YgdGhlIG5hbWVz cGFjZS4KPiBBY3Rpb25zIG9uIHRoZSBub24tdXNlci1uYW1lc3BhY2UKPiByZXF1aXJlIGNhcGFi aWxpdGllcyBpbiB0aGUgY29ycmVzcG9uZGluZyB1c2VyIG5hbWVzcGFjZS4KPiBdXQo+Cj4+IFRo YW5rcyBmb3IgZG9pbmcgdGhpcyEKPgo+IFlvdSdyZSB3ZWxjb21lLiBUaGFua3MgZm9yIHRoZSBy ZXZpZXchCgpFcmljCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkNvbnRhaW5lcnMgbWFpbGluZyBsaXN0CkNvbnRhaW5lcnNAbGlzdHMubGludXgtZm91bmRh dGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGlu Zm8vY29udGFpbmVycw==