From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Wilson Subject: Re: Security vulnerability process, and CVE-2012-0217 Date: Sat, 23 Jun 2012 12:42:14 -0700 Message-ID: <20120623194214.GF2640@US-SEA-R8XVZTX> References: <20448.49637.38489.246434@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20448.49637.38489.246434@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson Cc: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBKdW4gMTksIDIwMTIgYXQgMTE6MTY6MDVBTSAtMDcwMCwgSWFuIEphY2tzb24gd3Jv dGU6Cj4gWy4uLl0KClRoYW5rIHlvdSBmb3Igd3JpdGluZyBhbGwgdGhpcyB1cCwgYW5kIGZvciBh bGwgb2YgeW91ciBlZmZvcnRzIGFzIHBhcnQKb2YgWGVuLm9yZyBhbmQgdGhlIHNlY3VyaXR5IHJl c3BvbnNlIHRlYW0sIElhbi4gWW91IGhhdmUgYWxyZWFkeQpjb3ZlcmVkIG1hbnkgb2YgbXkgY29u Y2VybnMsIHN1Y2ggYXMgYXZvaWRpbmcgaG9saWRheXMuCgo+IFRoZSBiaWcgaXNzdWVzCj4gLS0t LS0tLS0tLS0tLS0KPgo+IDEuIFB1cnBvc2Ugb2YgdGhlIHByb2Nlc3MKPgo+IFRoZSBmaXJzdCBw b2ludCBpcyB0aGF0IHdlIHRoaW5rIHRoZSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5IHByb2Nlc3MK PiBkb2N1bWVudCBzaG91bGQgaGF2ZSBhbiBleHBsYW5hdGlvbiBvZiB3aGF0IGl0cyBnb2FscyBh cmUuICBUaGlzIHdvdWxkCj4gaGF2ZSBncmVhdGx5IGFzc2lzdGVkIHVzIHdoZW4gbWFraW5nIHNv bWUgb2YgdGhlIG1vcmUgZGlmZmljdWx0Cj4gZGVjaXNpb25zLgoKVGhlIHNlY3VyaXR5IHZ1bG5l cmFiaWxpdHkgcHJvY2VzcyBkb2N1bWVudCBzaG91bGQgbW9zdCBkZWZpbml0ZWx5CmVuY2Fwc3Vs YXRlIGJvdGggZXhwbGljaXQgZ3VpZGFuY2UgYW5kIGJyb2FkIHRlbmV0cyB0aGF0IGNhbiBiZSB1 c2VkCnRvIG1ha2UgdG91Z2ggY2FsbHMuIEkgdGhpbmsgdGhhdCB0aGVzZSBzaG91bGQgYmUgZXhw bGljaXRseSBjYWxsZWQKb3V0IGluIGZyb250IG1hdHRlciBhcyBhbiBldm9sdXRpb25hcnkgcGFy dCBvZiB0aGUgcHJvY2Vzcy4gVGVuZXRzCnNob3VsZCBhbHdheXMgYmUgb3BlbiB0byBiZWluZyBy ZWZpbmVkIG9yIHJlZGVmaW5lZCBhcyBYZW4ub3JnCnByb2plY3RzIGdyb3cgYW5kIHVzYWdlIHNo aWZ0cy4KCj4gSW4gcGFydGljdWxhciwgaWYgdGhlIHByb2Nlc3MgZXhwbGFpbmVkIGl0cyBwdXJw b3NlLCB3ZSB3b3VsZCBiZSBhYmxlCj4gdG8gcmVmZXIgdG8gdGhlIHNwaXJpdCBvZiB0aGUgZG9j dW1lbnQgd2hlbiBtYWtpbmcgaW50ZXJwcmV0YXRpb24KPiBkZWNpc2lvbnMgb3IgZGVhbGluZyB3 aXRoIGlzc3VlcyBub3QgY2xlYXJseSByZXNvbHZlZCBieSB0aGUgZG9jdW1lbnQuCj4KPiBJbiB0 aGlzIGNvbnRleHQgd2UgbmVlZCB0byBkZWNpZGUgd2hldGhlcjoKPiAgKGEpIHRoZSBwcmVkaXNj bG9zdXJlIGFycmFuZ2VtZW50cyBhcmUganVzdCB0aGVyZSBzbyB0aGF0Cj4gICAgICBvcmdhbmlz YXRpb25zIGNhbiBiYWNrcG9ydCBwYXRjaGVzLCBkZXZlbG9wIGFuZCB0ZXN0IHVwZGF0ZWQKPiAg ICAgIHZlcnNpb25zLCBhbmQgc28gZm9ydGg7Cj4gIChiKSB0aGUgYXJyYW5nZW1lbnRzIGFyZSBh bHNvIGludGVuZGVkIHRvIGFsbG93IG9wZXJhdG9ycyB0byBkZXBsb3kKPiAgICAgIGZpeGVkIHZl cnNpb25zLgoKSSB0aGluayB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciBhc3BlY3RzIG9mIHRoZSBw cmVkaXNjbG9zdXJlIHBlcmlvZAp0aGF0IGRlc2VydmUgZXhwbGljaXQgY2FsbG91dHMsIHNvIEkg ZG9uJ3QgdGhpbmsgdGhhdCBpdCdzIGhlbHBmdWwgdG8KZnJhbWUgdGhpcyBkaXNjdXNzaW9uIGlu IHBhcnRpY3VsYXIgY29udGV4dCB0aGF0IG9ubHkgZ2l2ZXMgdXMgY2hvaWNlcwooYSkgb3IgKGIp LiBGb3IgZXhhbXBsZSwgd2UgbWlnaHQgd2FudCB0byBleHBsaWNpdGx5IGNhbGwgb3V0IHRoZQpw dXJwb3NlIG9mIHRoZSBwcmVkaXNjbG9zdXJlIHBlcmlvZCB0byBpbmNsdWRlIGZ1cnRoZXIgdGVz dGluZyBhbmQKdmFsaWRhdGlvbiBvZiBhIGZpeCBmcm9tIGEgZ3JvdXAgbW9yZSBicm9hZCB0aGFu IHRoZSBzZWN1cml0eSByZXNwb25zZQp0ZWFtLgoKQnV0IHRha2luZyBhIHN0ZXAgYmFjaywgSSBw cm9wb3NlIHRoYXQgYSBjb3JlIHRlbmV0IG9mIHRoZSBzZWN1cml0eQpyZXNwb25zZSBwcm9jZXNz IHNob3VsZCBiZSB0byByZWR1Y2UgZGF5cy1vZi1yaXNrIGZvciBhbGwgY29uc3VtZXJzIG9mClhl bi5vcmcgcHJvamVjdHMsIHdoZXRoZXIgZGlyZWN0IG9yIGluZGlyZWN0LCB0byB6ZXJvLiBEYXlz LW9mLXJpc2sKY2FuIGJlIGZ1enp5IHRvIG1lYXN1cmUsIHNvIHdlIGNvdWxkIGRlZmluZSB0aGlz IGFzIHRoZSBudW1iZXIgb2YgZGF5cwpiZXR3ZWVuIHdoZW4gYSBzZWN1cml0eSBwcm9ibGVtIGlz IHB1YmxpY2x5IGtub3duIChlLmcuIHRocm91Z2gKZXZpZGVuY2Ugb2YgZXhwbG9pdGF0aW9uIGlu IHRoZSB3aWxkIG9yIGEgcHVibGljIGFubm91bmNlbWVudCkgYW5kCndoZW4gdGhlIHByb2JsZW0g aGFzIGJlZW4gYWRkcmVzc2VkIHN1Y2ggdGhhdCB0aGVyZSBpcyBubyBsb25nZXIgYW55CnJpc2sg KGUuZy4sIHRocm91Z2ggYSBYZW4gY29uc3VtZXIgZGVwbG95aW5nIGEgZml4ZWQgdmVyc2lvbiBm cm9tIGEKdmVuZG9yIG9yIGFuIGluZnJhc3RydWN0dXJlIHByb3ZpZGVyIGRvaW5nIHRoZSBzYW1l IG9uIGEgY29uc3VtZXLigJlzCmJlaGFsZi4pCgpUaGlzIG1lYXN1cmUgbWlnaHQgbm90IG1hdGNo IHVwIHBlcmZlY3RseSB3aXRoIHR5cGljYWwgZGF5cy1vZi1yaXNrCmFzc2Vzc21lbnRzIHRoYXQg c29tZSBzb2Z0d2FyZSB2ZW5kb3JzIG1ha2UuIEZvciBleGFtcGxlLCBSZWQgSGF0Cm1lYXN1cmVz IGRheXMtb2YtcmlzayBmcm9tIHRoZSBkYXRlIG9mIHB1YmxpYyBkaXNjbG9zdXJlIHRvIHRoZSBk YXRlCnRoYXQgYSBmaXhlZCBwYWNrYWdlIGlzIG1hZGUgYXZhaWxhYmxlLiBUaGV5IHB1Ymxpc2gg bWV0cmljcyBvbiB0aGlzLAplLmcuOgogIGh0dHA6Ly93d3cucmVkaGF0LmNvbS9zZWN1cml0eS9k YXRhL21ldHJpY3Mvc3VtbWFyeS1yaGVsNi1jcml0aWNhbC5odG1sCgo+IE9mIGNvdXJzZSB0aGlz IG5lZWRzIHRvIGRlYWwgY2xlYXJseSB3aXRoIHRoZSBjb21tb24gc3RpdHVhdGlvbiBvZiBhbgo+ IG9yZ2FuaXNhdGlvbiBydW5uaW5nIFhlbiB3aGljaCBpcyBhIGRpcmVjdCBjb25zdW1lciBvZiBY ZW4ub3JnIHNvdXJjZQo+IGNvZGUuCgpJbmRlZWQuIElmIGEgZ29hbCBvZiB0aGUgcHJvY2VzcyBp cyB0byByZWR1Y2UgZGF5cy1vZi1yaXNrIGZvciBhbGwKY29uc3VtZXJzIG9mIFhlbi5vcmcgcHJv amVjdHMgdG8gemVybywgY29vcmRpbmF0aW5nIHBhY2thZ2UgdXBkYXRlcwpvbmx5IGZyb20gc29m dHdhcmUgdmVuZG9ycyB3aWxsIG5vdCBhY2hpZXZlIGl0LgoKWy4uLl0KPgo+IDIuIEV4dGVuc2lv biBvZiBlbWJhcmdvIGRhdGVzCj4KPiBUaGUgbW9zdCBjb250cm92ZXJzaWFsIGRlY2lzaW9uIHdh cyB3aGV0aGVyIHRoZSBlbWJhcmdvIGRhdGUgbWlnaHQgYmUKPiBleHRlbmRlZCBhZnRlciBpdCBo YWQgb3JpZ2luYWxseSBiZWVuIHNldC4gIFdlIHJlc2lzdGVkIHRoZXNlCj4gc3VnZ2VzdGlvbnMs IHJlZmVycmluZyB0byB0aGUgcHJvY2VzcyBkb2N1bWVudCwgd2hpY2ggZG9lcyBub3QKPiBjb250 ZW1wbGF0ZSBleHRlbmRpbmcgdGhlIGRpc2Nsb3N1cmUgcGVyaW9kLiAgSG93ZXZlciwgd2hlbiBh Cj4gcHJlZGlzY2xvc3VyZSBsaXN0IG1lbWJlciBwcmVzc3VyZWQgdGhlIGRpc2NvdmVyZXIgaW50 byByZXF1ZXN0aW5nIGFuCj4gZXh0ZW5zaW9uLCB3ZSBmZWx0IHRoZSBiZXN0IGludGVycHJldGF0 aW9uIG9mIHRoZSBwcm9jZXNzIGRvY3VtZW50Cj4gcmVxdWlyZWQgdXMgdG8gYWNxdWllc2NlLgo+ Cj4gU3BlY2lmaWNhbGx5LCBvZiBjb3Vyc2UsIHdlIGFzIGEgdGVhbSB3b3VsZCBsaWtlIGNsZWFy ZXIgZ3VpZGFuY2UgZnJvbQo+IHRoZSBwcm9jZXNzIGFib3V0IHdoZXRoZXIsIGFuZCBpZiBzbyB1 bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMsIGEKPiBwcmVkaXNjbG9zdXJlIHBlcmlvZCBzaG91bGQg YmUgZXh0ZW5kZWQuCgpJIHRoaW5rIHRoYXQgdGhlIGlzc3VlIG9mIGVzdGFibGlzaGluZyBhbmQg Y2hhbmdpbmcgdGhlIGVtYmFyZ28gZW5kCmRhdGUsIHdoZXRoZXIgZXh0ZW5kaW5nIG9yIHNob3J0 aW5nLCBkZXNlcnZlcyBhIGxvdCBvZiBkaXNjdXNzaW9uLgpJdCdzIGdvb2QgdGhhdCB3ZSdyZSBu b3QgbGltaXRpbmcgdGhlIGRpc2N1c3Npb24gb25seSB0byBleHRlbmRpbmcKZXh0ZW5kaW5nIGRp c2Nsb3N1cmUgZGF0ZXMsIGJ1dCBhbHNvIGVzdGFibGlzaGluZyB0aGUgZGVmYXVsdCB0aW1lbGlu ZQphcyB5b3UgY2FsbCBvdXQgaW4gNCBiZWxvdy4gIEkgdGhpbmsgdGhhdCBzb21lIGd1aWRlbGlu ZXMgZm9yCmVzdGFibGlzaGluZyBhbiBhcHByb3ByaWF0ZSB0aW1lbGluZSBjYW4gYWRkcmVzcyBw cm9ibGVtcyB0aGF0IGNhdXNlCmV4dGVuc2lvbiByZXF1ZXN0cy4KClRoZSBkZWZhdWx0IGRpc2Ns b3N1cmUgcGVyaW9kLCBpZiBhZ3JlZWFibGUgdG8gdGhlIGRpc2NvdmVyZXIsIGlzCmN1cnJlbnRs eSB0aHJlZSB3ZWVrczoKICAgMS4gT25lIHdvcmtpbmcgd2VlayBiZXR3ZWVuIG5vdGlmaWNhdGlv biBhcnJpdmluZyBhdCBzZWN1cml0eUB4ZW4KICAgICAgYW5kIHRoZSBpc3N1ZSBvZiBvdXIgb3du IGFkdmlzb3J5IHRvIG91ciBwcmVkaXNjbG9zdXJlIGxpc3QuIFdlCiAgICAgIHdpbGwgdXNlIHRo aXMgdGltZSB0byBnYXRoZXIgaW5mb3JtYXRpb24gYW5kIHByZXBhcmUgb3VyCiAgICAgIGFkdmlz b3J5LCBpbmNsdWRpbmcgcmVxdWlyZWQgcGF0Y2hlcy4KICAgMi4gVHdvIHdvcmtpbmcgd2Vla3Mg YmV0d2VlbiBpc3N1ZSBvZiBvdXIgYWR2aXNvcnkgdG8gb3VyCiAgICAgIHByZWRpc2Nsb3N1cmUg bGlzdCBhbmQgcHVibGljYXRpb24uCgpUaGlzIG1heSBiZSBhIHJlYXNvbmFibGUgc3RhcnRpbmcg cG9pbnQgZm9yIGdlbmVyYWwgaXNzdWVzLCBidXQgSQp0aGluayB0aGF0IHRoZSBvdmVyYWxsIGlt cGFjdCBhbmQgY29tcGxleGl0eSBvZiBhbiBpc3N1ZSBuZWVkcyB0byBiZQpjb25zaWRlcmVkIHdo ZW4gZXN0YWJsaXNoaW5nIGEgdGltZWxpbmUuCgpGb3IgZXhhbXBsZSwgdGhlIG9DRVJUIERpc2Ns b3N1cmUgUG9saWN5IGdpdmVzIHRoaXMgZ3VpZGFuY2U6CiAgaHR0cHM6Ly93d3cub2NlcnQub3Jn L2Rpc2Nsb3N1cmVfcG9saWN5Lmh0bWwKIiIiCiAgIFRoZSBmb2xsb3dpbmcgdGltZSBmcmFtZXMg cmVndWxhdGUgb0NFUlQgZW1iYXJnbyBwcm9wb3NhbHM6CgogICAtIDcgZGF5cywgaW4gY2FzZSB0 aGUgaXNzdWUgaXMgYWxyZWFkeSB3ZWxsIG5hcnJvd2VkIGRvd24gYW5kCiAgICAgdGVzdGVkLCBy ZXF1aXJpbmcgdHJpdmlhbCBjb25maWd1cmF0aW9uIGFuZC9vciBjb2RlIGNoYW5nZQoKICAgLSAx NCBkYXlzLCBzdGFuZGFyZCBlbWJhcmdvIGZvciBtb3N0IGNhc2VzCgogICAtIDMwIGRheXMsIGlu IGNhc2Ugb2YgY3JpdGljYWwgYW5kIGNvbXBsZXggdnVsbmVyYWJpbGl0aWVzCiAgICAgKGV4YW1w bGUsIHRyaXZpYWwgZXhwbG9pdGF0aW9uIG9mIGFkbWluaXN0cmF0aXZlIHByaXZpbGVnZXMgb24g YQogICAgIHN0YXRpYyBsaWJyYXJ5IGFmZmVjdGluZyBhIGxhcmdlIG51bWJlciBvZiBwYWNrYWdl cyksIGFuZCB3aXRoCiAgICAgdGhlIGFncmVlbWVudCBvZiBhbGwgcGFydGllcwoKICAgLSB1bmRl ciBleHRyZW1lbHkgZXhjZXB0aW9uYWwgY2lyY3Vtc3RhbmNlcywgaWYgdGhlIG9DRVJUIFRlYW0g YW5kCiAgICAgYWxsIHRoZSBwYXJ0aWVzIGludm9sdmVkIGZlZWwgdGhlIG5lZWQgZm9yIGxvbmdl ciB0aW1lLCBhIDIKICAgICBtb250aHMgZW1iYXJnbyBjYW4gYmUgYXBwbGllZCwgaW4gdGhpcyBj YXNlIHdlIHdvdWxkIGNsZWFybHkKICAgICBkb2N1bWVudCB0aGUgZGVjaXNpb24gZm9yIHB1Ymxp YyByZXZpZXcKCiAgIC0gaW4gYW55IGNpcmN1bXN0YW5jZSByZXBvcnRlciBwcmVmZXJlbmNlIHdp bGwgYWx3YXlzIGJlIGhvbm91cmVkCiAgICAgaW4gY2FzZSBhIGpvaW50IGFncmVlbWVudCBpcyBu b3QgcmVhY2hlZCwgYXMgb0NFUlQgd291bGQgYmUKICAgICBhbnl3YXkgdW5hYmxlIHRvIGZvcmNl IGl0cyBlbWJhcmdvCiIiIgoKVGhlIENFUlQgcHJvY2VzcyBkZWZhdWx0cyB0byA0NSBkYXlzLCB3 aXRoIGd1aWRhbmNlIHRvIHNob3J0ZW4gdGhlCnJlbGVhc2Ugc2NoZWR1bGUgaWYgdGhlcmUncyBl dmlkZW5jZSBvZiBhY3RpdmUgZXhwbG9pdGF0aW9uOgogaHR0cDovL3d3dy5jZXJ0Lm9yZy9rYi92 dWxfZGlzY2xvc3VyZS5odG1sCiIiIgogICBROiBXaWxsIGFsbCB2dWxuZXJhYmlsaXRpZXMgYmUg ZGlzY2xvc2VkIHdpdGhpbiA0NSBkYXlzPwoKICAgQTogTm8uIFRoZXJlIG1heSBvZnRlbiBiZSBj aXJjdW1zdGFuY2VzIHRoYXQgd2lsbCBjYXVzZSB1cyB0bwogICAgICBhZGp1c3Qgb3VyIHB1Ymxp Y2F0aW9uIHNjaGVkdWxlLiBUaHJlYXRzIHRoYXQgYXJlIGVzcGVjaWFsbHkKICAgICAgc2VyaW91 cyBvciBmb3Igd2hpY2ggd2UgaGF2ZSBldmlkZW5jZSBvZiBleHBsb2l0YXRpb24gd2lsbAogICAg ICBsaWtlbHkgY2F1c2UgdXMgdG8gc2hvcnRlbiBvdXIgcmVsZWFzZSBzY2hlZHVsZS4gVGhyZWF0 cyB0aGF0CiAgICAgIHJlcXVpcmUgImhhcmQiIGNoYW5nZXMgKGNoYW5nZXMgdG8gc3RhbmRhcmRz LCBjaGFuZ2VzIHRvIGNvcmUKICAgICAgb3BlcmF0aW5nIHN5c3RlbSBjb21wb25lbnRzKSB3aWxs IGNhdXNlIHVzIHRvIGV4dGVuZCBvdXIKICAgICAgcHVibGljYXRpb24gc2NoZWR1bGUuCiIiIgoK Rm9yIGFub3RoZXIgdGFrZSwgdGhlIFdlYktpdCBkZWZhdWx0IGVtYmFyZ28gcGVyaW9kLCBmb3Vu ZCBoZXJlOgpodHRwOi8vd3d3LndlYmtpdC5vcmcvc2VjdXJpdHkvLCBpcyA2MCBkYXlzIHVubGVz cyBhbGwgdmVuZG9ycyBoYXZlCmFkZHJlc3NlZCBhbiBpc3N1ZSwgaW4gd2hpY2ggY2FzZSBhbiBl bWJhcmdvIG1heSBiZSBsaWZ0ZWQgc29vbmVyLgoKPiAzLiBEZWNpc2lvbm1ha2luZwo+Cj4gSXQg d2FzIHN1Z2dlc3RlZCB0byB1cyBzZXZlcmFsIHRpbWVzLCBhbmQgaW5kZWVkIHNlZW1lZCB0byBi ZSByZWdhcmRlZAo+IGJ5IHNvbWUgYXMgYW4gdW5kZXJseWluZyBwcmluY2lwbGUsIHRoYXQgdGhl IHByZWRpc2Nsb3N1cmUgbGlzdAo+IG1lbWJlcnMgc2hvdWxkIGJlIG1ha2luZyB0aGUgZGVjaXNp b25zIGFib3V0IGRpc2Nsb3N1cmUgc2NoZWR1bGUgZXRjLgo+Cj4gVGhlIHF1ZXN0aW9uIG9mIHdo byBpcyB0byBtYWtlIHRoZSBkZWNpc2lvbnMsIGFuZCBvbiB3aGF0IGJhc2lzLCBuZWVkcwo+IHRv IGJlIGFkZHJlc3NlZC4KCkkgZG8gbm90IHRoaW5rIHRoYXQgaXQgaXMgd2lzZSBmb3IgdGhlIHBv bGljeSB0byBlc3RhYmxpc2ggZGVjaXNpb24KbWFraW5nIGJ5IGNvbW1pdHRlZS4gQWxsIGNvbmNl cm5lZCBwYXJ0aWVzIHNob3VsZCB2b2ljZSBhbnkgY29uY2VybnMKcmVnYXJkaW5nIHRoZSBzZWN1 cml0eSByZXNwb25zZSBwcm9jZXNzIHNvIHRoYXQgdGhlIHJlc3VsdGluZyBkb2N1bWVudAp3aWxs IGd1aWRlIHRob3NlIG1ha2luZyBkZWNpc2lvbnMuCgpUbyBwdXQgaXQgYW5vdGhlciB3YXksIHBy ZWRpc2Nsb3N1cmUgbGlzdCBtZW1iZXJzIChhbmQgYW55IG90aGVyCmludGVyZXN0ZWQgcGFydHkp IHNob3VsZCBtYWtlIGRlY2lzaW9ucyBvbiBob3cgdGhleSdkIGxpa2UgZm9yCmRpc2Nsb3N1cmUg c2NoZWR1bGVzIHRvIGJlIGVzdGFibGlzaGVkIG5vdywgYW5kIHRoZSByYXRpZmllZCBwcm9jZXNz CnNob3VsZCBhY3QgYXMgYSBwcm94eSB3aGVuIHNwZWNpZmljIHZ1bG5lcmFiaWxpdGllcyBhcmUg aGFuZGxlZC4KCkluIHRoZSBpbnRlcmVzdCBvZiB0cmFuc3BhcmVuY3ksIHRob3NlIG1ha2luZyBk ZWNpc2lvbnMsIGkuZS4gdGhlCm1lbWJlcnMgb2YgdGhlIHNlY3VyaXR5IHJlc3BvbnNlIHRlYW0g YW5kIGFueSBvdGhlciBwZXJzb24gb3IgZW50aXR5Cm9uIHRoZSBzZWN1cml0eUB4ZW4ub3JnIGFs aWFzLCBzaG91bGQgYmUgZGlzY2xvc2VkIGFuZCBkb2N1bWVudGVkIGluCnRoZSBwcm9jZXNzIGRv Y3VtZW50LgoKVWx0aW1hdGVseSBJIHRoaW5rIHRoYXQsIGFzIGlzIGNvbW1vbiBwcmFjdGljZSBp biBjb29yZGluYXRlZAp2dWxuZXJhYmlsaXR5IGRpc2Nsb3N1cmUsIHRoZSBkaXNjb3ZlcmVyIGlz IHRoZSB1bHRpbWF0ZQpkZWNpc2lvbi1tYWtlciBhcyB0byB3aGF0IGluZm9ybWF0aW9uIGlzIGRp c2Nsb3NlZCBhbmQgd2hlbiBpdCBpcwpkaXNjbG9zZWQuIFRoZSB4ZW5Ac2VjdXJpdHkgdGVhbSBt YWtlcyBkZWNpc2lvbnMgcGVyIHRoZSBndWlkYW5jZSBpbgp0aGUgcHJvY2VzcyBhbmQgdGhlIGZh Y3RzIGF0IGhhbmQuCgo+IDQuIExlbmd0aCBvZiAoZGVmYXVsdCkgcHJlZGlzY2xvc3VyZSBwZXJp b2QKPgpbLi4uXQoKU2VlIGNvbW1lbnRzIGFib3ZlLgoKPiA1LiBDcml0ZXJpYSBmb3IgcHJlZGlz Y2xvc3VyZSBsaXN0IG1lbWJlcnNoaXAKPgpbLi4uXQo+IFdlIG5lZWQgdG8gY2xhcmlmeSB3aGV0 aGVyIHVwc3RyZWFtcyBhbmQgaGFyZHdhcmUgdmVuZG9ycyBzaG91bGQgYmUgb24KPiB0aGUgcHJl ZGlzY2xvc3VyZSBsaXN0LiAgQ3VycmVudGx5IHdlIGhhdmUgb25lIG5vdGFibGUgdXBzdHJlYW0g dmVuZG9yCj4gb24gdGhhdCBsaXN0Lgo+Cj4gT3VyIHByZWxpbWluYXJ5IHZpZXcgaXMgdGhhdCB0 aGUgcHJlZGlzY2xvc3VyZSBsaXN0IHNob3VsZCBiZSB1c2VkIGZvcgo+IGRvd25zdHJlYW0gbm90 aWZpY2F0aW9ucy4gIFVwc3RyZWFtcywgaW5jbHVkaW5nIGhhcmR3YXJlCj4gbWFudWZhY3R1cmVy cywgc2hvdWxkIGJlIGJyb3VnaHQgaW4gdG8gdGhlIGRpc2Nsb3N1cmUgcHJvY2VzcyBhcwo+IG5l ZWRlZC4gIEFuZCBhcyBub3RlZCwgb3VyIHByb2Nlc3MgZm9yIG1ha2luZyBzdXJlIHdlIGRvIHRo YXQgcHJvcGVybHkKPiBuZWVkcyB0byBiZSBmb3JtYWxpc2VkLgoKT3ZlcmFsbCBJIHRoaW5rIHRo YXQsIGluIGEgY29vcmRpbmF0ZWQgZGlzY2xvc3VyZSByZXNwb25zZSwKaW5mb3JtYXRpb24gc2hv dWxkIGJlIGRpc3RyaWJ1dGVkIG9uIGEgbmVlZC10by1rbm93IGJhc2lzLgoKWy4uLl0KPiA2LiBT aGFyaW5nIG9mIGluZm9ybWF0aW9uIGFuZCBjb2RlIGJldHdlZW4gcHJlZGlzY2xvc3VyZSBwYXJ0 aWNpcGFudHMKPgo+IFdlIG5lZWQgdGhlIHByb2Nlc3MgZG9jdW1lbnQgdG8gYmUgY2xlYXJlciBh Ym91dCB3aGF0IGtpbmRzIG9mCj4gY29tbXVuaWNhdGlvbnMgYXJlIGNvbnRlbXBsYXRlZCBfYmV0 d2Vlbl8gbWVtYmVycyBvZiB0aGUgcHJlZGlzY2xvc3VyZQo+IGxpc3QuCj4KPiBPbmUgcGFydGlj dWxhciBpc3N1ZSBoZXJlIHdoaWNoIGFsc28gcmVsYXRlcyB0byB0aGUgcHJlZGlzY2xvc3VyZQo+ IG1lbWJlcnNoaXAgY3JpdGVyaWEsIGlzIHdoZXRoZXIgbGFyZ2UgaW5kaXJlY3QgY29uc3VtZXJz IG9mIFhlbiBzaG91bGQKPiBiZSBvbiB0aGUgcHJlZGlzY2xvc3VyZSBsaXN0IGluIHRoZWlyIG93 biByaWdodC4gIFRoYXQgd291bGQgYWxsb3cKPiB0aGVtIHRvIGRlcGxveSB0aGUgZml4IGJlZm9y ZSB0aGUgZW1iYXJnbyBkYXRlLiAgSXQgd291bGQgYWxzbyBhbGxvdwo+IHRoZW0gdG8gcHJlcGFy ZSBmb3IgdGVzdGluZyBhbmQgZGVwbG95bWVudCwgYmVmb3JlIHRoZSBmaXggaXMKPiBhdmFpbGFi bGUgZnJvbSB0aGVpciB2ZW5kb3IgKHdobyB3b3VsZCBpbiB0aGlzIHNjZW5hcmlvIGFsc28gYmUK PiBlbnRpdGxlZCB0byBiZSBhIHByZWRpc2Nsb3N1cmUgbGlzdCBtZW1iZXIpLgo+Cj4gSW4gdGhp cyBjb250ZXh0LCB0aGUgcHJvY2VzcyBuZWVkcyB0byBjbGFyaWZ5IHdoZXRoZXIgdmVuZG9ycyBt YXkKPiByZWxlYXNlIGZpeGVkIGJpbmFyaWVzIGR1cmluZyB0aGUgcHJlZGlzY2xvc3VyZSBwZXJp b2QuICBDZXJ0YWlubHkKPiB0aGVzZSBzaG91bGQgbm90IGJlIHJlbGVhc2VkIG90aGVyIHRoYW4g dG8gcHJlZGlzY2xvc3VyZSBsaXN0IG1lbWJlcnMsCj4gc2luY2UgdGhlIG5hdHVyZSBvZiBhIGJ1 ZyBjYW4gb2Z0ZW4gYnkgZGlzY292ZXJlZCBieSByZXZlcnNlCj4gZW5naW5lZXJpbmcuICBCdXQg Y2FuIHRoZXkgYmUgcmVsZWFzZWQgdG8gcHJlZGlzY2xvdXNyZSBsaXN0IG1lbWJlcnMgPwoKSW4g bXkgb3BpbmlvbiwgdGhlcmUgaXMgbGVzcyBkaXN0aW5jdGlvbiBiZXR3ZWVuICJzb2Z0d2FyZSB2 ZW5kb3JzIgphbmQgImxhcmdlIGluZGlyZWN0IGNvbnN1bWVycyBvZiBYZW4iIHRoYW4geW91IHN1 Z2dlc3QuCgo+IE1vcmUgbWlub3IgcG9saWN5IHF1ZXN0aW9ucwo+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ClsuLi5dCj4gOS4gVnVsbmVyYWJpbGl0eSBwcm9jZXNzIHNjb3BlCj4KPiBX ZSBuZWVkIHRvIGNsYXJpZnkgdGhlIHNjb3BlIG9mIHRoZSBwcm9jZXNzIGRvY3VtZW50LiAgQ3Vy cmVudGx5IGl0Cj4gbG9va3MgbGlrZSBpdCBjb3ZlcnMgZXZlcnkgWGVuLm9yZyBwcm9qZWN0Lgo+ Cj4gV2hpbGUgaXQgd291bGQgYmUgYSBuaWNlIGlkZWFsIHRvIHN1cHBvcnQgZXZlcnkgWGVuLm9y ZyBwcm9qZWN0IHRoaXMKPiB3YXksIGluIHByYWN0aWNlIHRoZSB0ZWFtIGJlaGluZCBzZWN1cml0 eUB4ZW4gZG8gbm90IGhhdmUgdGhlCj4gZXhwZXJ0aXNlIG9yIHJlc291cmNlcyB0byBmaXggcHJv YmxlbXMgaW4gKHNheSkgWENQLCBvciB0aGUgQVJNIFBWCj4gcG9ydC4gIE91ciBjYXBhYmlsaXR5 IGlzIGNvbmNlbnRyYXRlZCBvbiB0aGUgIlVwc3RyZWFtIFhlbiIgY29kZWJhc2UKPiAoeGVuLSou aGcgYW5kIGl0cyBzdWItcmVwb3NpdG9yaWVzKSBhbmQgdGhlIFhlbiBzdXBwb3J0IGNvZGUgaW4g TGludXguCj4KPiBQZXJoYXBzIHRoaXMgY291bGQgYmUgZGVhbHQgd2l0aCBieSBtYWtpbmcgaXQg Y2xlYXIgdGhhdCBwcm9ibGVtcyBhcmUKPiBoYW5kbGVkIG9uIGEgYmVzdCBlZmZvcnQgYmFzaXMu CgpJdCB3b3VsZCBzZWVtIHRoYXQgaW4gY2FzZXMgd2l0aCBtYXR1cmUgcHJvamVjdHMsIGFwcHJv cHJpYXRlCm1haW50YWluZXJzIGFuZCBjb21taXR0ZXJzIHNob3VsZCBiZSBlbmdhZ2VkIGJ5IHNl Y3VyaXR5QHhlbi5vcmcgdG8KYWRkcmVzcyBwcm9ibGVtcyBhbmQgcHJlcGFyZSBmaXhlcy4gc2Vj dXJpdHlAeGVuLm9yZyBzaG91bGQsIEkgdGhpbmssCmNvbnRpbnVlIHRvIGNvb3JkaW5hdGUgdGhl IG92ZXJhbGwgcmVzcG9uc2UuCgpJbiBvcmRlciB0byBncmFkdWF0ZSwgYSBwcm9qZWN0IHNob3Vs ZCBtYWludGFpbiBzdWZmaWNpZW50IHNwb25zb3JzaGlwCnRvIGFkZHJlc3Mgc2VjdXJpdHkgcHJv YmxlbXMgaW4gYSB0aW1lbHkgbWFubmVyLiBUaGF0IHNob3VsZCBiZSBwYXJ0Cm9mIHRoZSAiYmFz aWMgY29uZGl0aW9ucyIgb2YgYmVpbmcgbGFiZWxlZCBhICJtYXR1cmUiIHByb2plY3QuIElmIGEK bWF0dXJlIHByb2plY3QgZG9lcyBub3QgaGF2ZSBzdWZmaWNpZW50IHNwb25zb3JzaGlwIHRvIGFk ZHJlc3MKc2VjdXJpdHkgY29uY2VybnMsIGl0IHNob3VsZCBiZSBjYWxsZWQgb3V0IGFuZCBhcmNo aXZpbmcgdGhlIHByb2plY3QKc2hvdWxkIGJlIGNvbnNpZGVyZWQuCgpUaGUgQXBhY2hlIEluY3Vi YXRvciBwcm9jZXNzIGhhcyBzb21lIGdvb2QgYWR2aWNlIHRvIHByb2plY3RzIHRoYXQgYXJlCmdy YWR1YXRpbmc6IGh0dHA6Ly9pbmN1YmF0b3IuYXBhY2hlLm9yZy9ndWlkZXMvZ3JhZHVhdGlvbi5o dG1sI3NlY3VyaXR5Cgo+IDEwLiBFeHBsb2l0cwo+Cj4gV2UgbmVlZCBhIGNsZWFyIHBvbGljeSBh Ym91dCByZWxlYXNpbmcgcHJvb2Ygb2YgY29uY2VwdCBleHBsb2l0cyAtCj4gd2hldGhlciwgd2hl biBhbmQgd2hvIHRvLgoKTGV0J3Mgbm90IGxpbWl0IHRoZSBkaXNjdXNzaW9uIG9ubHkgdG8gUG9D IGV4cGxvaXQgY29kZS4gVGhlIHBvbGljeQpzaG91bGQgc3BlYWsgdG8gd2hvIGdldHMgYWNjZXNz IHRvIHNwZWNpZmljIHRlY2huaWNhbCBkZXRhaWxzIG9mIGEKdnVsbmVyYWJpbGl0eSwgYW5kIHdo ZW4gdGhleSBnYWluIGFjY2Vzcy4KClBhcnRpZXMgdGhhdCBhcmUgKmFjdGl2ZSogaW4gdGhlIGNv b3JkaW5hdGVkIGRpc2Nsb3N1cmUsIGZvciBleGFtcGxlCmJ5IGJ1aWxkaW5nIHBhdGNoZWQgdmVy c2lvbnMgb2YgcHJvZHVjdHMgb3Igc2VydmljZXMgYnVpbHQgb24gWGVuLApuZWVkIHRvIGhhdmUg YWNjZXNzIHRvIGFzIG11Y2ggdGVjaG5pY2FsIGluZm9ybWF0aW9uIGFzIHBvc3NpYmxlIGluCm9y ZGVyIHRvIHZhbGlkYXRlIHRoZSBmaXggYW5kIHRoZWlyIHBvcnRzLiBUaG9zZSB0aGF0IGFyZSBw YXNzaXZlLCB3aG8KbWF5IGJlIGRlcGxveWluZyBhIHByZS1yZWxlYXNlIGZpeGVkIHZlcnNpb24g ZnJvbSBhIHZlbmRvciwgZG8gbm90Cm5lZWQgYWNjZXNzIHRvIHRoZXNlIG1hdGVyaWFscy4KClsu Li5dCj4KPiBMYWN1bmFlIGluIHRoZSBwcm9jZXNzCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ Cj4gMTIuIEhvbGlkYXlzCj4KPiBUaGUgb3JpZ2luYWwgcGxhbm5lZCBkaXNjbG9zdXJlIGRhdGUs IDIwMTItMDUtMDEsIHdhcyBhIHB1YmxpYyBob2xpZGF5Cj4gaW4gbWFueSBwbGFjZXMuICBXZSBz aG91bGQgdHJ5IHRvIGF2b2lkIGhvbGlkYXlzLCBhbmQgRnJpZGF5cy4gIFdlCj4gbmVlZCB0byBk aXNjdXNzIHdoaWNoIHRlcnJpdG9yaWVzJyBob2xpZGF5cyBzaG91bGQgYmUgY2hlY2tlZCBhbmQg bWFrZQo+IGEgbGlzdCBmb3IgaW5jbHVzaW9uIGluIHRoZSBwcm9jZXNzLgoKVGhpcyBtYWtlcyBz ZW5zZSwgYW5kIGlzIHNpbWlsYXIgdG8gb3RoZXIgY29vcmRpbmF0ZWQgcmVzcG9uc2UgZ3JvdXBz Cmxpa2UgbGludXgtZGlzdHJvc0B2cy5vcGVud2FsbC5vcmcuCgo+IDEzLiBQYXRjaCBkZXZlbG9w bWVudCBhbmQgcmV2aWV3Cj4KPiBUaGUgcGF0Y2ggZGV2ZWxvcG1lbnQgcHJvY2VzcyBpcyB0b28g Y2xvc2VkIGFuZCBub3Qgcm9idXN0IGVub3VnaC4KPgo+IFdlIG5lZWQgdG8gYmUgbXVjaCBjbGVh cmVyIGJvdGggYWJvdXQgdGhlIG5lZWQgZm9yIHNlY3VyaXR5IHBhdGNoZXMgdG8KPiBmaXggdGhp bmdzIGluIHRoZSBzbWFsbGVzdCwgc2ltcGxlc3QgYW5kIG1vc3QgcmVsaWFibGUgd2F5LCBhbmQg bm90Cj4gZml4IG9yICJpbXByb3ZlIiBtYXR0ZXJzIGluIHVucmVsYXRlZCB3YXlzLiAgT3VyIGlu dGVybmFsIGNvZGUgcmV2aWV3Cj4gbmVlZHMgdG8gYmUgbXVjaCBiZXR0ZXIuCj4KPiBXZSBuZWVk IHRvIGNsYXJpZnkgdGhhdCBvdGhlciBpc3N1ZXMgZGlzY292ZXJlZCBkdXJpbmcgdGhlIGNvdXJz ZSBvZgo+IGludmVzdGlnYXRpbmcgYSBzZWN1cml0eSBkaXNjbG9zdXJlIHdpbGwgbm90IGJlIHB1 YmxpY2x5IGRpc2N1c3NlZAo+IHdpdGhvdXQgZmlyc3QgY29uc3VsdGluZyB0aGUgWGVuLm9yZyBz ZWN1cml0eSB0ZWFtLCByZWdhcmRsZXNzIG9mCj4gdGhlaXIgYWN0dWFsIHJlbGF0aW9uc2hpcCB0 byB0aGUgdnVsbmVyYWJpbGl0eSBhdCBoYW5kIG9yIGV4cGVjdGVkCj4gc2VjdXJpdHkgaW1wYWN0 LiAgT3RoZXJ3aXNlIHRoZXJlIGlzIGEgc3Vic3RhbnRpYWwgcmlzayB0aGF0IHN1Y2gKPiBjaGFu Z2VzIHdpbGwgZHJhdyBhdHRlbnRpb24gdG8gZW1iYXJnb2VkIHByb2JsZW1zLgoKQWxsIG9mIHRo aXMgbWFrZXMgc2Vuc2UgdG8gbWUuCgo+IEl0IG1heSBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgYmV0 dGVyIGlkZWEgdG8gc2VuZCBvdXQgZWFybGllcgo+IGFkdmlzb3JpZXMgd2l0aG91dCBwYXRjaGVz IHRvIHRoZSBwcmVkaXNjbG9zdXJlIGxpc3QsIHRvIGVuYWJsZSB0aG9zZQo+IHByZWRpc2Nsb3N1 cmUgbGlzdCBtZW1iZXJzIHdobyB3b3VsZCBsaWtlIHRvIGRvIHNvIHRvIGhlbHAgd2l0aAo+IGRl dmVsb3BtZW50IGFuZCB0ZXN0aW5nIG9mIHRoZSBwYXRjaGVzLiAgSWYgc28gdGhpcyBuZWVkcyB0 byBiZQo+IGNhdGVyZWQgZm9yLgoKVGhpcyB3b3VsZCBiZSB0cmVtZW5kb3VzbHkgaGVscGZ1bCwg c28gbG9uZyBhcyBhZGVxdWF0ZSB0ZWNobmljYWwKaW5mb3JtYXRpb24gaXMgcHJvdmlkZWQuCgo+ IDE0LiBFYXJseSBjb25zaWRlcmF0aW9uIG9mIHdoaWNoIG90aGVyIG9yZ2FuaXNhdGlvbnMgdG8g YnJpbmcgaW4KPgo+IE91ciBwcm9jZXNzIG5lZWRzIHRvIGhhdmUsIHZlcnkgZWFybHkgb24sIGFu IGV4cGxpY2l0IHN0ZXAgdG8gb2YKPiBkZWNpZGluZyB3aGljaCBvdGhlciBwcm9qZWN0cy9vcmdh bmlzYXRpb25zIG1heSBhbHNvIGJlIHZ1bG5lcmFibGUgYW5kCj4gbWF5IHRoZXJlZm9yZSBuZWVk IHRvIGJlIHBhcnQgb2YgdGhlIHNhbWUgZGlzY2xvc3VyZSBwcm9jZXNzLiAgSXQgYWxzbwo+IG5l ZWRzIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGFzayBmb3IgYW55IGhlbHAgKGZvciBleGFtcGxlIGZy b20KPiB1cHN0cmVhbXMgb3IgaGFyZHdhcmUgdmVuZG9ycykgYXMgc29vbiBhcyBwb3NzaWJsZS4K ClRoZSBleGlzdGluZyBwcm9jZXNzIGhhZCBhIHN0ZXAgZm9yIHRoaXM6CiIiIgogIGQuIElmIHdl IHRoaW5rIG90aGVyIHNvZnR3YXJlIHN5c3RlbXMgKGZvciBleGFtcGxlLCBjb21wZXRpbmcKICAg ICBoeXBlcnZpc29yIHN5c3RlbXMpIGFyZSBsaWtlbHkgdG8gYmUgYWZmZWN0ZWQgYnkgdGhlIHNh bWUKICAgICB2dWxuZXJhYmlsaXR5LCB3ZSB3aWxsIHRyeSB0byBtYWtlIHRob3NlIG90aGVyIHBy b2plY3RzIGF3YXJlIG9mCiAgICAgdGhlIHByb2JsZW0gYW5kIGluY2x1ZGUgdGhlbSBpbiB0aGUg YWR2aXNvcnkgcHJlcGFyYXRpb24gcHJvY2Vzcy4KIiIiCgo+IFsuLi5dCgpUaGFuayB5b3UgYWdh aW4gZm9yIGFjdGluZyBhcyB0aGUgZmFjaWxpdGF0b3IgZm9yIHRoaXMgZGlzY3Vzc2lvbiwgYW5k Cm1hbnkgdGhhbmtzIHRvIGV2ZXJ5b25lIHdobyB3b3JrcyB0aXJlbGVzc2x5IGFzIHBhcnQgb2Yg dGhlIFhlbi5vcmcKY29tbXVuaXR5IG9uIGlzc3VlcyBsaWtlIHRoZXNlLgoKTWF0dAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK