From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id F3E611384B4 for ; Tue, 8 Dec 2015 17:18:46 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 297FB21C026; Tue, 8 Dec 2015 17:18:33 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C8122E089C for ; Tue, 8 Dec 2015 17:18:31 +0000 (UTC) Received: from [IPv6:2001:470:8840::2] (unknown [IPv6:2001:470:8840::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: ryao) by smtp.gentoo.org (Postfix) with ESMTPSA id 37FAE340666; Tue, 8 Dec 2015 17:18:30 +0000 (UTC) To: "gentoo-dev@lists.gentoo.org" From: Richard Yao Subject: [gentoo-dev] New license: CROSSOVER-3 X-Enigmail-Draft-Status: N1110 Cc: licenses@gentoo.org Message-ID: <566710DA.8020802@gentoo.org> Date: Tue, 8 Dec 2015 12:18:18 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="k8pIEV4Lixa2Bc6U9FncrXp1bLEFG4Lx9" X-Archives-Salt: f4f44450-83a3-4b1b-a2ea-e6d1b950210f X-Archives-Hash: fd9e05bfe3401ce96dfaa9927f9ebcca This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --k8pIEV4Lixa2Bc6U9FncrXp1bLEFG4Lx9 Content-Type: multipart/mixed; boundary="------------030404080404080502010109" This is a multi-part message in MIME format. --------------030404080404080502010109 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Earlier this year, I spoke with Codeweavers' CEO, Jeremy White, about changing their license terms so that we could remove RESTRICT=3Dfetch fro= m app-emulation/crossover-bin. Robin Johnson and I also discussed it then. The main issue was the requirement that users delete the software after the trial period and Jeremy agreed to make a change to the crossover license when Crossover 15.0.0 was released. This just happened and the change occurred as discussed. I have attached the new license and its diff. There are only two changes:= 1. They now claim to bundle copies of libxml2 and libxslt under BSD-style licenses. 2. The section on deleting the software has been deleted as per our discussion. Does anyone have any objections to committing the new license? --------------030404080404080502010109 Content-Type: text/plain; charset=UTF-8; name="CROSSOVER-2.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="CROSSOVER-2.diff" LS0tIC91c3IvcG9ydGFnZS9saWNlbnNlcy9DUk9TU09WRVItMgkyMDE1LTA4LTA5IDE2OjM0 OjUyLjAwMDAwMDAwMCAtMDQwMAorKysgQ1JPU1NPVkVSLTMJMjAxNS0xMi0wOCAxMjoxNTo0 Mi43NDkyNjUxNzQgLTA1MDAKQEAgLTUyLDYgKzUyLDcgQEAKICAgICAgIHd3dy5pY2N1bHVz Lm9yZy4KIAogICAgICAgV2UgYWxzbyB1c2Ugb3IgaW5jbHVkZSBzdGF0aWMgY29waWVzIG9m IHRoZSBmb2xsb3dpbmcgcHJvamVjdHM6CisgICAgICAgIGxpYnhtbDIsIGxpYnhzbHQgICAg ICAgICAgICAgICAgICAgIC0gQlNELXN0eWxlCiAgICAgICAgIHhtbC1kb20sIHhtbC1uYW1l c3BhY2VzdXBwb3J0LCAgICAgIC0gQXJ0aXN0aWMgb3IgR1BMIGxpY2Vuc2UKICAgICAgICAg ICAgIHhtbC1yZWdleHAsIHhtbC1zYXgKIApAQCAtMTE5LDEwICsxMjAsNyBAQAogCiAgICAg ICBJZiB0aGUgU29mdHdhcmUgd2FzIGdpdmVuIHRvIHlvdSBmb3IgcHVycG9zZXMgb2YgZXZh bHVhdGlvbiwgdGhlbiB0aGlzCiAgICAgICBMaWNlbnNlIHdpbGwgdGVybWluYXRlIGF0IHRo ZSBlbmQgb2YgdGhlIHNwZWNpZmllZCBldmFsdWF0aW9uIHBlcmlvZCwKLSAgICAgIHR5cGlj YWxseSAzMCBkYXlzLgotCi0gICAgICBVcG9uIHRlcm1pbmF0aW9uIHlvdSBtdXN0IGRlc3Ry b3kgdGhlIFNvZnR3YXJlLCByZWxhdGVkIGRvY3VtZW50YXRpb24gYW5kCi0gICAgICBhbGwg Y29waWVzIHRoZXJlb2YuCisgICAgICB0eXBpY2FsbHkgMTUgZGF5cy4KIAogICAgNS4gRXhw b3J0IExhdyBBc3N1cmFuY2UuIFlvdSBhZ3JlZSBhbmQgY2VydGlmeSB0aGF0IG5laXRoZXIg dGhlIFNvZnR3YXJlIG5vcgogICAgICAgYW55IG90aGVyIHRlY2huaWNhbCBkYXRhIHJlY2Vp dmVkIGZyb20gVkVORE9SLCBub3IgdGhlIGRpcmVjdCBwcm9kdWN0Cg== --------------030404080404080502010109 Content-Type: text/plain; charset=UTF-8; name="CROSSOVER-3" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="CROSSOVER-3" ICAgICAgICAgICAgICAgICAgICAgICAgQ3Jvc3NPdmVyIExpbnV4IExpY2Vuc2UgR3JhbnQK CllPVSBSRUFMTFkgV0FOVCBUTyBSRUFEIFRISVMsIEVTUEVDSUFMTFkgVEhFIFBBUlQgQUJP VVQKVEhFIE1BTkRBVE9SWSBDQVIgV0FTSCBGT1IgQ09ERVdFQVZFUlMgRU1QTE9ZRUVTLi4u CgpJZiB5b3UgZG9uJ3QgbGlrZSB0aGlzIGxpY2Vuc2UgZ3JhbnQ6CgogICBhLiBMZXQgdXMg a25vdywgd2UnZCBhcHByZWNpYXRlIHRoZSBmZWVkYmFjay4KCiAgIGIuIFN0b3AgcmlnaHQg bm93LCBhbmQgYXNrIGZvciBhIHJlZnVuZC4gV2UnbGwgY2hlZXJmdWxseSBkbyBzby4KCgpU aGUgbWFpbiB0aGluZyB3ZSB3YW50IHlvdSB0byBrbm93OgogICAgIFRoaXMgaXMgYSBsaWNl bnNlIGZvciBvbmUgdXNlci4gVGhlIGxpY2Vuc2UgaXMgbm90IG5lY2Vzc2FyaWx5IGZvciBh CnNwZWNpZmljIHVzZXIsIG9yIGEgc3BlY2lmaWMgY29tcHV0ZXIsIGJ1dCBpdCBpcyBmb3Ig b25lIHBlcnNvbiBhdCBhCnRpbWUuIElmIHlvdSBuZWVkIHRvIHN1cHBvcnQgbW9yZSB0aGFu IG9uZSBwZXJzb24sIHBsZWFzZSBjb250YWN0IHVzCmZvciB2b2x1bWUgcHJpY2luZyBhbmQg c2l0ZSBsaWNlbnNpbmcuICBXZSBkbyBvZmZlciBlZHVjYXRpb25hbApkaXNjb3VudHMuCgog ICAgLS0tLS0tLS0tLS0tLS0tLTwgU3RhcnQgb2YgRm9ybWFsIExpY2Vuc2UgR3JhbnQgPi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAxLiBMaWNlbnNlLiBUaGUgc29mdHdhcmUgYWNj b21wYW55aW5nIHRoaXMgTGljZW5zZSAoaGVyZWluYWZ0ZXIgIlNvZnR3YXJlIiksCiAgICAg IHJlZ2FyZGxlc3Mgb2YgdGhlIG1lZGlhIG9uIHdoaWNoIGl0IGlzIGRpc3RyaWJ1dGVkLCBh cmUgbGljZW5zZWQgdG8geW91CiAgICAgIGJ5IENvZGVXZWF2ZXJzICgiVkVORE9SIikuIFlv dSBvd24gdGhlIG1lZGl1bSBvbiB3aGljaCB0aGUgU29mdHdhcmUgaXMKICAgICAgcmVjb3Jk ZWQsIGJ1dCBWRU5ET1IgYW5kIFZFTkRPUidzIExpY2Vuc29ycyAocmVmZXJyZWQgdG8gY29s bGVjdGl2ZWx5IGFzCiAgICAgICJWRU5ET1IiKSByZXRhaW4gdGl0bGUgdG8gdGhlIFNvZnR3 YXJlIGFuZCByZWxhdGVkIGRvY3VtZW50YXRpb24uIFlvdQogICAgICBtYXk6CgogICAgICAg ICBhLiBydW4gdGhlIFNvZnR3YXJlIG9uIGFueSBjb21wdXRlciwgc28gbG9uZyBhcyBubyBt b3JlIHRoYW4gb25lCiAgICAgICAgICAgIHBlcnNvbiBwZXIgbGljZW5zZSBpcyBldmVyIHVz aW5nIHRoZSBTb2Z0d2FyZSBhdCBhbnkgb25lIHRpbWUuCgogICAgICAgICBiLiB0cmFuc2Zl ciBhbGwgeW91ciBsaWNlbnNlIHJpZ2h0cyBpbiB0aGUgU29mdHdhcmUsIHRoZSBiYWNrdXAg Y29weQogICAgICAgICAgICBvZiB0aGUgU29mdHdhcmUsIHRoZSByZWxhdGVkIGRvY3VtZW50 YXRpb24gYW5kIGEgY29weSBvZiB0aGlzCiAgICAgICAgICAgIExpY2Vuc2UgdG8gYW5vdGhl ciBwYXJ0eSwgcHJvdmlkZWQgdGhlIG90aGVyIHBhcnR5IHJlYWRzIGFuZCBhZ3JlZXMKICAg ICAgICAgICAgdG8gYWNjZXB0IHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExp Y2Vuc2UuCgoKICAgMi4gRnJlZSBTb2Z0d2FyZS4gVGhlIFNvZnR3YXJlIGNvbnRhaW5lZCBp biB0aGlzIHByb2R1Y3QgaW5jbHVkZXMgc29tZQogICAgICBjb21wb25lbnRzIG9mIEZyZWUg U29mdHdhcmUsIGluY2x1ZGluZyBzb2Z0d2FyZSBmcm9tIHRoZSBXaW5lIFByb2plY3QsCiAg ICAgIGFuZCB0aGUgTW9qb1NldHVwIHNldHVwIHNvZnR3YXJlLgoKICAgICAgVGhlIFdpbmUg cHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l cmFsIFB1YmxpYwogICAgICBMaWNlbnNlLCB3aGljaCBpcyBpbmNsdWRlZCBiZWxvdyBhcyBB cHBlbmRpeCBBLiBUaGUgYmVzdCBzb3VyY2UgZm9yIHRoZQogICAgICBXaW5lIHNvdXJjZSBj b2RlIGlzIHRoZSBtYWluIFdpbmUgd2ViIHBhZ2UgYXQgaHR0cDovL3d3dy53aW5laHEub3Jn LgoKICAgICAgSmFwYW5lc2UgZm9udHMgYXJlIGluY2x1ZGVkIHVuZGVyIHRoZSBXYWRhIExh Ym9yYXRvcnkgcHVibGljIGRvbWFpbgogICAgICBsaWNlbnNlIGZvdW5kIGF0CiAgICAgIGh0 dHA6Ly9zb3VyY2Vmb3JnZS5qcC9wcm9qZWN0cy91bWUtZm9udC93aWtpL1VtZUZvbnRMaWNl bmNlCgogICAgICBNb2pvU2V0dXAgYW5kIGl0cyBkZXBlbmRlbnQgcHJvamVjdHMgYXJlIGFs bCBsaWNlbnNlZCB1bmRlciBCU0QKICAgICAgc3R5bGUgbGljZW5zZXMuICBUaGUgYmVzdCBw bGFjZSBmb3IgdGhhdCBjb2RlIGlzIGFsc28KICAgICAgd3d3LmljY3VsdXMub3JnLgoKICAg ICAgV2UgYWxzbyB1c2Ugb3IgaW5jbHVkZSBzdGF0aWMgY29waWVzIG9mIHRoZSBmb2xsb3dp bmcgcHJvamVjdHM6CiAgICAgICAgbGlieG1sMiwgbGlieHNsdCAgICAgICAgICAgICAgICAg ICAgLSBCU0Qtc3R5bGUKICAgICAgICB4bWwtZG9tLCB4bWwtbmFtZXNwYWNlc3VwcG9ydCwg ICAgICAtIEFydGlzdGljIG9yIEdQTCBsaWNlbnNlCiAgICAgICAgICAgIHhtbC1yZWdleHAs IHhtbC1zYXgKCiAgICAgIFdlIGFsc28gdXNlIHRoZSBodG1sdGV4dHZpZXcucHkgbGlicmFy eSBieSBHdXN0YXZvciBDYXJuZWlybywgd2hpY2gKICAgICAgaXMgbGljZW5zZWQgdW5kZXIg dGhlIExHUEwuICBUaGUgc291cmNlIGNvZGUgd2FzIGF2YWlsYWJsZSB0byB1cyBhdDoKICAg ICAgICBodHRwOi8vcGVvcGxlLmdub21lLm9yZy9+Z2pjL2h0bWx0ZXh0dmlldy5weQoKICAg ICAgUG9ydGlvbnMgb2YgdGhpcyBzb2Z0d2FyZSBhcmUgY29weXJpZ2h0IMKpIDIwMDkuIFRo ZSBGcmVlVHlwZQogICAgICBQcm9qZWN0ICh3d3cuZnJlZXR5cGUub3JnKS4gIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCgogICAgICBJbiBlYWNoIGNhc2UsIHdlIHVzZSB0aGVtIHVubW9kaWZp ZWQgYW5kIHN0cm9uZ2x5IHJlY29tbWVuZCB0aGF0CiAgICAgIGFueW9uZSB3aXNoaW5nIHNv dXJjZSBjb2RlIGZvciB0aGVzZSBwcm9qZWN0cyBmaW5kIGFuZCB2aXNpdCB0aGUKICAgICAg cmVzcGVjdGl2ZSBwcm9qZWN0IGhvbWUgcGFnZS4KCiAgICAgIFdlIGFyZSBkZWVwbHkgZ3Jh dGVmdWwgdG8gdGhlIGF1dGhvcnMgb2YgYWxsIG9mIHRoZXNlIHNvZnR3YXJlIHByb2plY3Rz CiAgICAgIGZvciBhbGxvd2luZyB1cyB0byB1c2UgdGhlaXIgc29mdHdhcmUuCgogICAgICBX ZSBpbmNsdWRlIHNvdXJjZSBjb2RlIHdpdGggZWFjaCBDRCBwdXJjaGFzZSBvZiBDcm9zc092 ZXIuIEN1cnJlbnQKICAgICAgc291cmNlIGNvZGUgZm9yIEZyZWUgU29mdHdhcmUgY29udGFp bmVkIHdpdGhpbiBDcm9zc092ZXIgcHJvZHVjdHMgaXMgYWxzbwogICAgICBnZW5lcmFsbHkg YXZhaWxhYmxlIGF0IG91ciB3ZWIgc2l0ZSwgd3d3LmNvZGV3ZWF2ZXJzLmNvbS4gSG93ZXZl ciwKICAgICAgaW5kaXZpZHVhbHMgd2lzaGluZyB0byBvYnRhaW4gc291cmNlIGRpcmVjdGx5 IGZyb20gdXMgd2lsbCBiZSBjaGVlcmZ1bGx5CiAgICAgIHByb3ZpZGVkIHdpdGggYSBjb3B5 IG9mIGFueSBGcmVlIFNvZnR3YXJlIHNvdXJjZSB1cG9uIHJlcXVlc3QuIFdlIHJlc2VydmUK ICAgICAgdGhlIHJpZ2h0IHRvIGNoYXJnZSBhIG5vbWluYWwgcHJvY2Vzc2luZyBmZWUgZm9y IHRyYW5zbWlzc2lvbiBvZiB0aGUKICAgICAgc291cmNlIGNvZGUuIFNlbmQgc3VjaCByZXF1 ZXN0cyB0byBpbmZvQGNvZGV3ZWF2ZXJzLmNvbS4KCiAgICAgIENvZGVXZWF2ZXJzIHN0cm9u Z2x5IGJlbGlldmVzIGluIHRoZSBGcmVlIFNvZnR3YXJlIG1vdmVtZW50LiBXZSBiZWxpZXZl CiAgICAgIHRoYXQgdGhlIHNwaXJpdCBvZiB0aGlzIG1vdmVtZW50IG1ha2VzIGl0IGltcG9y dGFudCBmb3IgeW91IHRvIGJlIGFibGUgdG8KICAgICAgb2J0YWluIHRoZXNlIGNvbXBvbmVu dHMgZm9yIHlvdXJzZWxmLCBtYWtlIGNoYW5nZXMsIGFuZCB0aGVuIHVzZSB0aG9zZQogICAg ICBjaGFuZ2VzIHdpdGggb3VyIFNvZnR3YXJlLiBUbyB0aGF0IGVuZCwgeW91IGFyZSBleHBs aWNpdGx5IGdyYW50ZWQKICAgICAgbGljZW5zZSB0byBidWlsZCBhbHRlcm5hdGUgdmVyc2lv bnMgb2YgdGhlIFdpbmUgc29mdHdhcmUgZm9yIHVzZSBpbgogICAgICBjb25qdW5jdGlvbiB3 aXRoIHRoZSBTb2Z0d2FyZS4KCiAgICAgIElOIE5PIFdBWSBJUyBUSElTIExJQ0VOU0UgR1JB TlQgSU5URU5ERUQgVE8gU1VQRVJTRURFIFRIRSBMSUNFTlNFCiAgICAgIEFHUkVFTUVOVFMg T0YgQU5ZIEZSRUUgU09GVFdBUkUgQ09NUE9ORU5UUyBUSEFUIEFSRSBESVNUUklCVVRFRCBJ TgogICAgICBDT05KVU5DVElPTiBXSVRIIFRIRSBTT0ZUV0FSRS4KCiAgIDMuIFJlc3RyaWN0 aW9ucy4gVGhlIFNvZnR3YXJlIGNvbnRhaW5zIGNvcHlyaWdodGVkIG1hdGVyaWFsLCB0cmFk ZSBzZWNyZXRzCiAgICAgIGFuZCBvdGhlciBwcm9wcmlldGFyeSBtYXRlcmlhbC4gSW4gb3Jk ZXIgdG8gcHJvdGVjdCB0aGVtLCBhbmQgZXhjZXB0IGFzCiAgICAgIHBlcm1pdHRlZCBieSBh cHBsaWNhYmxlIGxlZ2lzbGF0aW9uIG9yIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIGxpY2Vuc2Vz CiAgICAgIGRldGFpbGVkIGluIFNlY3Rpb24gMiwgeW91IG1heSBub3Q6CgogICAgICAgICBh LiBkZWNvbXBpbGUsIHJldmVyc2UgZW5naW5lZXIsIGRpc2Fzc2VtYmxlIG9yIG90aGVyd2lz ZSByZWR1Y2UgdGhlCiAgICAgICAgICAgIFNvZnR3YXJlIHRvIGEgaHVtYW4tcGVyY2VpdmFi bGUgZm9ybQoKICAgICAgICAgYi4gcmVudCwgbGVuZCwgbG9hbiwgZGlzdHJpYnV0ZSBvciBj cmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBiYXNlZCB1cG9uCiAgICAgICAgICAgIHRoZSBTb2Z0 d2FyZSBpbiB3aG9sZSBvciBpbiBwYXJ0LgoKCiAgIDQuIFRlcm0uIFRoaXMgTGljZW5zZSBp cyBncmFudGVkIHRvIHlvdSBpbW1lZGlhdGVseSB1cG9uIHB1cmNoYXNlIG9mIGEKICAgICAg bGljZW5zZSBmcm9tIENvZGVXZWF2ZXJzLCBvciBvdGhlciByZWxhdGVkIHRoaXJkIHBhcnR5 LgoKICAgICAgVGhpcyBMaWNlbnNlIGlzIGVmZmVjdGl2ZSB1bnRpbCB0ZXJtaW5hdGVkLiBZ b3UgbWF5IHRlcm1pbmF0ZSB0aGlzCiAgICAgIExpY2Vuc2UgYXQgYW55IHRpbWUgYnkgZGVz dHJveWluZyB0aGUgU29mdHdhcmUsIHJlbGF0ZWQgZG9jdW1lbnRhdGlvbiBhbmQKICAgICAg YWxsIGNvcGllcyB0aGVyZW9mLgoKICAgICAgVGhpcyBMaWNlbnNlIHdpbGwgdGVybWluYXRl IGltbWVkaWF0ZWx5IHdpdGhvdXQgbm90aWNlIGZyb20gVkVORE9SIGlmOgoKICAgICAgICAg YS4geW91IHVzZSB0aGUgU29mdHdhcmUgaW4gYSBmYXNoaW9uIHRoYXQgZXhjZWVkcyB0aGUg cmlnaHRzIGdyYW50ZWQKICAgICAgICAgICAgdG8geW91IGJ5IHRoaXMgbGljZW5zZSwgT1IK CiAgICAgICAgIGIuIHlvdSBmYWlsIHRvIGNvbmNsdWRlIHRoZSBwdXJjaGFzZSB0cmFuc2Fj dGlvbiwgT1IKCiAgICAgICAgIGMuIHlvdSByZXF1ZXN0IGEgcmVmdW5kLgoKCiAgICAgIElm IHRoZSBTb2Z0d2FyZSB3YXMgZ2l2ZW4gdG8geW91IGZvciBwdXJwb3NlcyBvZiBldmFsdWF0 aW9uLCB0aGVuIHRoaXMKICAgICAgTGljZW5zZSB3aWxsIHRlcm1pbmF0ZSBhdCB0aGUgZW5k IG9mIHRoZSBzcGVjaWZpZWQgZXZhbHVhdGlvbiBwZXJpb2QsCiAgICAgIHR5cGljYWxseSAx NSBkYXlzLgoKICAgNS4gRXhwb3J0IExhdyBBc3N1cmFuY2UuIFlvdSBhZ3JlZSBhbmQgY2Vy dGlmeSB0aGF0IG5laXRoZXIgdGhlIFNvZnR3YXJlIG5vcgogICAgICBhbnkgb3RoZXIgdGVj aG5pY2FsIGRhdGEgcmVjZWl2ZWQgZnJvbSBWRU5ET1IsIG5vciB0aGUgZGlyZWN0IHByb2R1 Y3QKICAgICAgdGhlcmVvZiwgd2lsbCBiZSBleHBvcnRlZCBvdXRzaWRlIHRoZSBVbml0ZWQg U3RhdGVzIGV4Y2VwdCBhcyBhdXRob3JpemVkCiAgICAgIGFuZCBhcyBwZXJtaXR0ZWQgYnkg dGhlIGxhd3MgYW5kIHJlZ3VsYXRpb25zIG9mIHRoZSBVbml0ZWQgU3RhdGVzLiBJZiB0aGUK ICAgICAgU29mdHdhcmUgaGFzIGJlZW4gcmlnaHRmdWxseSBvYnRhaW5lZCBieSB5b3Ugb3V0 c2lkZSBvZiB0aGUgVW5pdGVkCiAgICAgIFN0YXRlcywgeW91IGFncmVlIHRoYXQgeW91IHdp bGwgbm90IHJlZXhwb3J0IHRoZSBTb2Z0d2FyZSBub3IgYW55IG90aGVyCiAgICAgIHRlY2hu aWNhbCBkYXRhIHJlY2VpdmVkIGZyb20gVkVORE9SLCBub3IgdGhlIGRpcmVjdCBwcm9kdWN0 IHRoZXJlb2YsCiAgICAgIGV4Y2VwdCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGxhd3MgYW5kIHJl Z3VsYXRpb25zIG9mIHRoZSBVbml0ZWQgU3RhdGVzIGFuZAogICAgICB0aGUgbGF3cyBhbmQg cmVndWxhdGlvbnMgb2YgdGhlIGp1cmlzZGljdGlvbiBpbiB3aGljaCB5b3Ugb2J0YWluZWQg dGhlCiAgICAgIFNvZnR3YXJlLgoKICAgNi4gR292ZXJubWVudCBFbmQgVXNlcnMuIElmIHlv dSBhcmUgYWNxdWlyaW5nIHRoZSBTb2Z0d2FyZSBvbiBiZWhhbGYgb2YgYW55CiAgICAgIHVu aXQgb3IgYWdlbmN5IG9mIHRoZSBVbml0ZWQgU3RhdGVzIEdvdmVybm1lbnQsIHRoZSBmb2xs b3dpbmcgcHJvdmlzaW9ucwogICAgICBhcHBseS4gVGhlIEdvdmVybm1lbnQgYWdyZWVzOgoK ICAgICAgICAgYS4gaWYgdGhlIFNvZnR3YXJlIGlzIHN1cHBsaWVkIHRvIHRoZSBEZXBhcnRt ZW50IG9mIERlZmVuc2UgKERvRCksIHRoZQogICAgICAgICAgICBTb2Z0d2FyZSBpcyBjbGFz c2lmaWVkIGFzICJDb21tZXJjaWFsIENvbXB1dGVyIFNvZnR3YXJlIiBhbmQgdGhlCiAgICAg ICAgICAgIEdvdmVybm1lbnQgaXMgYWNxdWlyaW5nIG9ubHkgInJlc3RyaWN0ZWQgcmlnaHRz IiBpbiB0aGUgU29mdHdhcmUKICAgICAgICAgICAgYW5kIGl0cyBkb2N1bWVudGF0aW9uIGFz IHRoYXQgdGVybSBpcyBkZWZpbmVkIGluIENsYXVzZSAyNTIuMjI3LQogICAgICAgICAgICA3 MDEzKGMpKDEpIG9mIHRoZSBERkFSUzsgYW5kCgogICAgICAgICBiLiBpZiB0aGUgU29mdHdh cmUgaXMgc3VwcGxpZWQgdG8gYW55IHVuaXQgb3IgYWdlbmN5IG9mIHRoZSBVbml0ZWQKICAg ICAgICAgICAgU3RhdGVzIEdvdmVybm1lbnQgb3RoZXIgdGhhbiBEb0QsIHRoZSBHb3Zlcm5t ZW50J3MgcmlnaHRzIGluIHRoZQogICAgICAgICAgICBTb2Z0d2FyZSBhbmQgaXRzIGRvY3Vt ZW50YXRpb24gd2lsbCBiZSBhcyBkZWZpbmVkIGluIENsYXVzZSA1Mi4yMjctCiAgICAgICAg ICAgIDE5KGMpKDIpIG9mIHRoZSBGQVIgb3IsIGluIHRoZSBjYXNlIG9mIE5BU0EsIGluIENs YXVzZSAxOC01Mi4yMjctODYKICAgICAgICAgICAgKGQpIG9mIHRoZSBOQVNBIFN1cHBsZW1l bnQgdG8gdGhlIEZBUi4KCgogICA3LiBMaW1pdGVkIFdhcnJhbnR5IG9uIE1lZGlhLiBJZiB5 b3UgaGF2ZSBwdXJjaGFzZWQgdGhlIFNvZnR3YXJlIGluIGEKICAgICAgdGFuZ2libGUgZm9y bSBvZiBtZWRpYSBzdWNoIGFzIGEgQ0QgUk9NLCBWRU5ET1Igd2FycmFudHMgdGhlIHRhbmdp YmxlIG1lZGlhCiAgICAgIG9uIHdoaWNoIHRoZSBTb2Z0d2FyZSBpcyByZWNvcmRlZCB0byBi ZSBmcmVlIGZyb20gZGVmZWN0cyBpbiBtYXRlcmlhbHMgYW5kCiAgICAgIHdvcmttYW5zaGlw IHVuZGVyIG5vcm1hbCB1c2UgZm9yIGEgcGVyaW9kIG9mIG5pbmV0eSAoOTApIGRheXMgZnJv bSB0aGUKICAgICAgZGF0ZSBvZiBwdXJjaGFzZSBhcyBldmlkZW5jZWQgYnkgYSBjb3B5IG9m IHRoZSByZWNlaXB0LiBWRU5ET1IncyBlbnRpcmUKICAgICAgbGlhYmlsaXR5IGFuZCB5b3Vy IGV4Y2x1c2l2ZSByZW1lZHkgd2lsbCBiZSByZXBsYWNlbWVudCBvZiB0aGUgbWVkaWEgbm90 CiAgICAgIG1lZXRpbmcgVkVORE9SJ3MgbGltaXRlZCB3YXJyYW50eSBhbmQgd2hpY2ggaXMg cmV0dXJuZWQgdG8gVkVORE9SIG9yIGFuCiAgICAgIFZFTkRPUiBhdXRob3JpemVkIHJlcHJl c2VudGF0aXZlIHdpdGggYSBjb3B5IG9mIHRoZSByZWNlaXB0LiBWRU5ET1Igd2lsbAogICAg ICBoYXZlIG5vIHJlc3BvbnNpYmlsaXR5IHRvIHJlcGxhY2UgYW55IG1lZGlhIGRhbWFnZWQg YnkgYWNjaWRlbnQsIGFidXNlIG9yCiAgICAgIG1pc2FwcGxpY2F0aW9uLiBBTlkgSU1QTElF RCBXQVJSQU5USUVTIE9OIFRIRSBUQU5HSUJMRSBNRURJQSwgSU5DTFVESU5HCiAgICAgIFRI RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIKICAgICAgUFVSUE9TRSwgQVJFIExJTUlURUQgSU4gRFVSQVRJT04g VE8gTklORVRZICg5MCkgREFZUyBGUk9NIFRIRSBEQVRFIE9GCiAgICAgIERFTElWRVJZLiBU SElTIFdBUlJBTlRZIEdJVkVTIFlPVSBTUEVDSUZJQyBMRUdBTCBSSUdIVFMsIEFORCBZT1Ug TUFZIEFMU08KICAgICAgSEFWRSBPVEhFUiBSSUdIVFMgV0hJQ0ggVkFSWSBCWSBKVVJJU0RJ Q1RJT04uCgogICA4LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5IG9uIFNvZnR3YXJlLiBZb3Ug ZXhwcmVzc2x5IGFja25vd2xlZGdlIGFuZCBhZ3JlZQogICAgICB0aGF0IHVzZSBvZiB0aGUg U29mdHdhcmUgaXMgYXQgeW91ciBzb2xlIHJpc2suIFRoZSBTb2Z0d2FyZSBhbmQgcmVsYXRl ZAogICAgICBkb2N1bWVudGF0aW9uIGFyZSBwcm92aWRlZCAiQVMgSVMiIGFuZCB3aXRob3V0 IHdhcnJhbnR5IG9mIGFueSBraW5kIGFuZAogICAgICBWRU5ET1IgRVhQUkVTU0xZIERJU0NM QUlNUyBBTEwgV0FSUkFOVElFUywgRVhQUkVTUyBBTkQgSU1QTElFRCwKICAgICAgSU5DTFVE SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZCiAgICAgIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gVkVORE9SIERPRVMgTk9UIFdBUlJBTlQgVEhBVCBUSEUKICAgICAgRlVOQ1RJT05TIENP TlRBSU5FRCBJTiBUSEUgU09GVFdBUkUgV0lMTCBNRUVUIFlPVVIgUkVRVUlSRU1FTlRTLCBP UiBUSEFUCiAgICAgIFRIRSBPUEVSQVRJT04gT0YgVEhFIFNPRlRXQVJFIFdJTEwgQkUgVU5J TlRFUlJVUFRFRCBPUiBFUlJPUi1GUkVFLCBPUgogICAgICBUSEFUIERFRkVDVFMgSU4gVEhF IFNPRlRXQVJFIFdJTEwgQkUgQ09SUkVDVEVELiBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhF CiAgICAgIFJFU1VMVFMgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBTT0ZUV0FSRSBJUyBBU1NV TUVEIEJZIFlPVS4gRlVSVEhFUk1PUkUsCiAgICAgIFZFTkRPUiBET0VTIE5PVCBXQVJSQU5U IE9SIE1BS0UgQU5ZIFJFUFJFU0VOVEFUSU9OUyBSRUdBUkRJTkcgVEhFIFVTRSBPUgogICAg ICBUSEUgUkVTVUxUUyBPRiBUSEUgVVNFIE9GIFRIRSBTT0ZUV0FSRSBPUiBSRUxBVEVEIERP Q1VNRU5UQVRJT04gSU4gVEVSTVMKICAgICAgT0YgVEhFSVIgQ09SUkVDVE5FU1MsIEFDQ1VS QUNZLCBSRUxJQUJJTElUWSwgQ1VSUkVOVE5FU1MsIE9SIE9USEVSV0lTRS4KICAgICAgTk8g T1JBTCBPUiBXUklUVEVOIElORk9STUFUSU9OIE9SIEFEVklDRSBHSVZFTiBCWSBWRU5ET1Ig T1IgVkVORE9SJ1MKICAgICAgQVVUSE9SSVpFRCBSRVBSRVNFTlRBVElWRSBTSEFMTCBDUkVB VEUgQSBXQVJSQU5UWSBPUiBJTiBBTlkgV0FZIElOQ1JFQVNFCiAgICAgIFRIRSBTQ09QRSBP RiBUSElTIFdBUlJBTlRZLiBTSE9VTEQgVEhFIFNPRlRXQVJFIFBST1ZFIERFRkVDVElWRSwg WU9VIChBTkQKICAgICAgTk9UIFZFTkRPUiBPUiBWRU5ET1InUyBBVVRIT1JJWkVEIFJFUFJF U0VOVEFUSVZFKSBBU1NVTUUgVEhFIEVOVElSRSBDT1NUCiAgICAgIE9GIEFMTCBORUNFU1NB UlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4gU09NRSBKVVJJU0RJQ1RJT05T IERPCiAgICAgIE5PVCBBTExPVyBUSEUgRVhDTFVTSU9OIE9GIElNUExJRUQgV0FSUkFOVElF UywgU08gVEhFIEFCT1ZFIEVYQ0xVU0lPTiBNQVkKICAgICAgTk9UIEFQUExZIFRPIFlPVS4K CiAgIDkuIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBVTkRFUiBOTyBDSVJDVU1TVEFOQ0VT IElOQ0xVRElORyBORUdMSUdFTkNFLAogICAgICBTSEFMTCBWRU5ET1IsIE9SIElUUyBESVJF Q1RPUlMsIE9GRklDRVJTLCBFTVBMT1lFRVMgT1IgQUdFTlRTLCBCRSBMSUFCTEUKICAgICAg VE8gWU9VIEZPUiBBTlkgSU5DSURFTlRBTCwgSU5ESVJFQ1QsIFNQRUNJQUwgT1IgQ09OU0VR VUVOVElBTCBEQU1BR0VTCiAgICAgIChJTkNMVURJTkcgREFNQUdFUyBGT1IgTE9TUyBPRiBC VVNJTkVTUyBQUk9GSVRTLCBCVVNJTkVTUyBJTlRFUlJVUFRJT04sCiAgICAgIExPU1MgT0Yg QlVTSU5FU1MgSU5GT1JNQVRJT04sIEFORCBUSEUgTElLRSkgQVJJU0lORyBPVVQgT0YgVEhF IFVTRSwKICAgICAgTUlTVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFNPRlRXQVJFIE9S IFJFTEFURUQgRE9DVU1FTlRBVElPTiwgRVZFTiBJRgogICAgICBWRU5ET1IgT1IgVkVORE9S J1MgQVVUSE9SSVpFRCBSRVBSRVNFTlRBVElWRSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQog ICAgICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuIFNPTUUgSlVSSVNESUNUSU9OUyBE TyBOT1QgQUxMT1cgVEhFCiAgICAgIExJTUlUQVRJT04gT1IgRVhDTFVTSU9OIE9GIExJQUJJ TElUWSBGT1IgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMCiAgICAgIERBTUFHRVMsIFNP IFRIRSBBQk9WRSBMSU1JVEFUSU9OIE9SIEVYQ0xVU0lPTiBNQVkgTk9UIEFQUExZIFRPIFlP VS4gSW4gbm8KICAgICAgZXZlbnQgc2hhbGwgVkVORE9SJ3MgdG90YWwgbGlhYmlsaXR5IHRv IHlvdSBmb3IgYWxsIGRhbWFnZXMsIGxvc3NlcywgYW5kCiAgICAgIGNhdXNlcyBvZiBhY3Rp b24gKHdoZXRoZXIgaW4gY29udHJhY3QsIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSBv cgogICAgICBvdGhlcndpc2UpIGV4Y2VlZCB0aGUgYW1vdW50IHBhaWQgYnkgeW91IGZvciB0 aGUgU29mdHdhcmUuCgogIDEwLiBDb250cm9sbGluZyBMYXcgYW5kIFNldmVyYWJpbGl0eS4g VGhpcyBMaWNlbnNlIHNoYWxsIGJlIGdvdmVybmVkIGJ5IGFuZAogICAgICBjb25zdHJ1ZWQg aW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBsYXdzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIGFuZCB0 aGUgU3RhdGUKICAgICAgb2YgTWlubmVzb3RhLCBhcyBhcHBsaWVkIHRvIGFncmVlbWVudHMg ZW50ZXJlZCBpbnRvIGFuZCB0byBiZSBwZXJmb3JtZWQKICAgICAgZW50aXJlbHkgd2l0aGlu IE1pbm5lc290YSBiZXR3ZWVuIE1pbm5lc290YSByZXNpZGVudHMuIElmIGZvciBhbnkgcmVh c29uCiAgICAgIGEgY291cnQgb2YgY29tcGV0ZW50IGp1cmlzZGljdGlvbiBmaW5kcyBhbnkg cHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSBvcgogICAgICBwb3J0aW9uIHRoZXJlb2YsIHRv IGJlIHVuZW5mb3JjZWFibGUsIHRoYXQgcHJvdmlzaW9uIG9mIHRoZSBMaWNlbnNlIHNoYWxs CiAgICAgIGJlIGVuZm9yY2VkIHRvIHRoZSBtYXhpbXVtIGV4dGVudCBwZXJtaXNzaWJsZSBz byBhcyB0byBlZmZlY3QgdGhlIGludGVudAogICAgICBvZiB0aGUgcGFydGllcywgYW5kIHRo ZSByZW1haW5kZXIgb2YgdGhpcyBMaWNlbnNlIHNoYWxsIGNvbnRpbnVlIGluIGZ1bGwKICAg ICAgZm9yY2UgYW5kIGVmZmVjdC4KCgpBcHBlbmRpeCBBIC0gV2luZSBMaWNlbnNlCgkJICBH TlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKCQkgICAgICAgVmVyc2lvbiAyLjEs IEZlYnJ1YXJ5IDE5OTkKCiBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTkgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiAgICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv c3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNv cHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9j dW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCltUaGlzIGlzIHRoZSBm aXJzdCByZWxlYXNlZCB2ZXJzaW9uIG9mIHRoZSBMZXNzZXIgR1BMLiAgSXQgYWxzbyBjb3Vu dHMKIGFzIHRoZSBzdWNjZXNzb3Igb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNl LCB2ZXJzaW9uIDIsIGhlbmNlCiB0aGUgdmVyc2lvbiBudW1iZXIgMi4xLl0KCgkJCSAgICBQ cmVhbWJsZQoKICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVk IHRvIHRha2UgYXdheSB5b3VyCmZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5 IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCkxpY2Vuc2VzIGFyZSBpbnRlbmRl ZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UKZnJlZSBz b2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRz IHVzZXJzLgoKICBUaGlzIGxpY2Vuc2UsIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSwgYXBwbGllcyB0byBzb21lCnNwZWNpYWxseSBkZXNpZ25hdGVkIHNvZnR3YXJlIHBh Y2thZ2VzLS10eXBpY2FsbHkgbGlicmFyaWVzLS1vZiB0aGUKRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uIGFuZCBvdGhlciBhdXRob3JzIHdobyBkZWNpZGUgdG8gdXNlIGl0LiAgWW91CmNh biB1c2UgaXQgdG9vLCBidXQgd2Ugc3VnZ2VzdCB5b3UgZmlyc3QgdGhpbmsgY2FyZWZ1bGx5 IGFib3V0IHdoZXRoZXIKdGhpcyBsaWNlbnNlIG9yIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGlzIHRoZSBiZXR0ZXIKc3RyYXRlZ3kgdG8gdXNlIGluIGFueSBwYXJ0 aWN1bGFyIGNhc2UsIGJhc2VkIG9uIHRoZSBleHBsYW5hdGlvbnMgYmVsb3cuCgogIFdoZW4g d2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9t IG9mIHVzZSwKbm90IHByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBk ZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdAp5b3UgaGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0 cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlCmZvciB0aGlzIHNl cnZpY2UgaWYgeW91IHdpc2gpOyB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNh biBnZXQKaXQgaWYgeW91IHdhbnQgaXQ7IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3 YXJlIGFuZCB1c2UgcGllY2VzIG9mCml0IGluIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhh dCB5b3UgYXJlIGluZm9ybWVkIHRoYXQgeW91IGNhbiBkbwp0aGVzZSB0aGluZ3MuCgogIFRv IHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhh dCBmb3JiaWQKZGlzdHJpYnV0b3JzIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBh c2sgeW91IHRvIHN1cnJlbmRlciB0aGVzZQpyaWdodHMuICBUaGVzZSByZXN0cmljdGlvbnMg dHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IKeW91IGlmIHlvdSBk aXN0cmlidXRlIGNvcGllcyBvZiB0aGUgbGlicmFyeSBvciBpZiB5b3UgbW9kaWZ5IGl0LgoK ICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5 LCB3aGV0aGVyIGdyYXRpcwpvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lw aWVudHMgYWxsIHRoZSByaWdodHMgdGhhdCB3ZSBnYXZlCnlvdS4gIFlvdSBtdXN0IG1ha2Ug c3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZSBzb3VyY2UKY29k ZS4gIElmIHlvdSBsaW5rIG90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwgeW91IG11c3Qg cHJvdmlkZQpjb21wbGV0ZSBvYmplY3QgZmlsZXMgdG8gdGhlIHJlY2lwaWVudHMsIHNvIHRo YXQgdGhleSBjYW4gcmVsaW5rIHRoZW0Kd2l0aCB0aGUgbGlicmFyeSBhZnRlciBtYWtpbmcg Y2hhbmdlcyB0byB0aGUgbGlicmFyeSBhbmQgcmVjb21waWxpbmcKaXQuICBBbmQgeW91IG11 c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuCgog IFdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCBhIHR3by1zdGVwIG1ldGhvZDogKDEpIHdl IGNvcHlyaWdodCB0aGUKbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhpcyBsaWNl bnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmli dXRlIGFuZC9vciBtb2RpZnkgdGhlIGxpYnJhcnkuCgogIFRvIHByb3RlY3QgZWFjaCBkaXN0 cmlidXRvciwgd2Ugd2FudCB0byBtYWtlIGl0IHZlcnkgY2xlYXIgdGhhdAp0aGVyZSBpcyBu byB3YXJyYW50eSBmb3IgdGhlIGZyZWUgbGlicmFyeS4gIEFsc28sIGlmIHRoZSBsaWJyYXJ5 IGlzCm1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB0aGUgcmVjaXBp ZW50cyBzaG91bGQga25vdwp0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2lu YWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwKYXV0aG9yJ3MgcmVwdXRhdGlvbiB3 aWxsIG5vdCBiZSBhZmZlY3RlZCBieSBwcm9ibGVtcyB0aGF0IG1pZ2h0IGJlCmludHJvZHVj ZWQgYnkgb3RoZXJzLgoKICBGaW5hbGx5LCBzb2Z0d2FyZSBwYXRlbnRzIHBvc2UgYSBjb25z dGFudCB0aHJlYXQgdG8gdGhlIGV4aXN0ZW5jZSBvZgphbnkgZnJlZSBwcm9ncmFtLiAgV2Ug d2lzaCB0byBtYWtlIHN1cmUgdGhhdCBhIGNvbXBhbnkgY2Fubm90CmVmZmVjdGl2ZWx5IHJl c3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYQpyZXN0 cmljdGl2ZSBsaWNlbnNlIGZyb20gYSBwYXRlbnQgaG9sZGVyLiAgVGhlcmVmb3JlLCB3ZSBp bnNpc3QgdGhhdAphbnkgcGF0ZW50IGxpY2Vuc2Ugb2J0YWluZWQgZm9yIGEgdmVyc2lvbiBv ZiB0aGUgbGlicmFyeSBtdXN0IGJlCmNvbnNpc3RlbnQgd2l0aCB0aGUgZnVsbCBmcmVlZG9t IG9mIHVzZSBzcGVjaWZpZWQgaW4gdGhpcyBsaWNlbnNlLgoKICBNb3N0IEdOVSBzb2Z0d2Fy ZSwgaW5jbHVkaW5nIHNvbWUgbGlicmFyaWVzLCBpcyBjb3ZlcmVkIGJ5IHRoZQpvcmRpbmFy eSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgbGljZW5zZSwgdGhlIEdOVSBM ZXNzZXIKR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBjZXJ0YWluIGRlc2ln bmF0ZWQgbGlicmFyaWVzLCBhbmQKaXMgcXVpdGUgZGlmZmVyZW50IGZyb20gdGhlIG9yZGlu YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBXZSB1c2UKdGhpcyBsaWNlbnNlIGZvciBj ZXJ0YWluIGxpYnJhcmllcyBpbiBvcmRlciB0byBwZXJtaXQgbGlua2luZyB0aG9zZQpsaWJy YXJpZXMgaW50byBub24tZnJlZSBwcm9ncmFtcy4KCiAgV2hlbiBhIHByb2dyYW0gaXMgbGlu a2VkIHdpdGggYSBsaWJyYXJ5LCB3aGV0aGVyIHN0YXRpY2FsbHkgb3IgdXNpbmcKYSBzaGFy ZWQgbGlicmFyeSwgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSB0d28gaXMgbGVnYWxseSBzcGVh a2luZyBhCmNvbWJpbmVkIHdvcmssIGEgZGVyaXZhdGl2ZSBvZiB0aGUgb3JpZ2luYWwgbGli cmFyeS4gIFRoZSBvcmRpbmFyeQpHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHRoZXJlZm9yZSBw ZXJtaXRzIHN1Y2ggbGlua2luZyBvbmx5IGlmIHRoZQplbnRpcmUgY29tYmluYXRpb24gZml0 cyBpdHMgY3JpdGVyaWEgb2YgZnJlZWRvbS4gIFRoZSBMZXNzZXIgR2VuZXJhbApQdWJsaWMg TGljZW5zZSBwZXJtaXRzIG1vcmUgbGF4IGNyaXRlcmlhIGZvciBsaW5raW5nIG90aGVyIGNv ZGUgd2l0aAp0aGUgbGlicmFyeS4KCiAgV2UgY2FsbCB0aGlzIGxpY2Vuc2UgdGhlICJMZXNz ZXIiIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYmVjYXVzZSBpdApkb2VzIExlc3MgdG8gcHJv dGVjdCB0aGUgdXNlcidzIGZyZWVkb20gdGhhbiB0aGUgb3JkaW5hcnkgR2VuZXJhbApQdWJs aWMgTGljZW5zZS4gIEl0IGFsc28gcHJvdmlkZXMgb3RoZXIgZnJlZSBzb2Z0d2FyZSBkZXZl bG9wZXJzIExlc3MKb2YgYW4gYWR2YW50YWdlIG92ZXIgY29tcGV0aW5nIG5vbi1mcmVlIHBy b2dyYW1zLiAgVGhlc2UgZGlzYWR2YW50YWdlcwphcmUgdGhlIHJlYXNvbiB3ZSB1c2UgdGhl IG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1hbnkKbGlicmFyaWVzLiAg SG93ZXZlciwgdGhlIExlc3NlciBsaWNlbnNlIHByb3ZpZGVzIGFkdmFudGFnZXMgaW4gY2Vy dGFpbgpzcGVjaWFsIGNpcmN1bXN0YW5jZXMuCgogIEZvciBleGFtcGxlLCBvbiByYXJlIG9j Y2FzaW9ucywgdGhlcmUgbWF5IGJlIGEgc3BlY2lhbCBuZWVkIHRvCmVuY291cmFnZSB0aGUg d2lkZXN0IHBvc3NpYmxlIHVzZSBvZiBhIGNlcnRhaW4gbGlicmFyeSwgc28gdGhhdCBpdCBi ZWNvbWVzCmEgZGUtZmFjdG8gc3RhbmRhcmQuICBUbyBhY2hpZXZlIHRoaXMsIG5vbi1mcmVl IHByb2dyYW1zIG11c3QgYmUKYWxsb3dlZCB0byB1c2UgdGhlIGxpYnJhcnkuICBBIG1vcmUg ZnJlcXVlbnQgY2FzZSBpcyB0aGF0IGEgZnJlZQpsaWJyYXJ5IGRvZXMgdGhlIHNhbWUgam9i IGFzIHdpZGVseSB1c2VkIG5vbi1mcmVlIGxpYnJhcmllcy4gIEluIHRoaXMKY2FzZSwgdGhl cmUgaXMgbGl0dGxlIHRvIGdhaW4gYnkgbGltaXRpbmcgdGhlIGZyZWUgbGlicmFyeSB0byBm cmVlCnNvZnR3YXJlIG9ubHksIHNvIHdlIHVzZSB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UuCgogIEluIG90aGVyIGNhc2VzLCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRp Y3VsYXIgbGlicmFyeSBpbiBub24tZnJlZQpwcm9ncmFtcyBlbmFibGVzIGEgZ3JlYXRlciBu dW1iZXIgb2YgcGVvcGxlIHRvIHVzZSBhIGxhcmdlIGJvZHkgb2YKZnJlZSBzb2Z0d2FyZS4g IEZvciBleGFtcGxlLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgR05VIEMgTGlicmFyeSBpbgpu b24tZnJlZSBwcm9ncmFtcyBlbmFibGVzIG1hbnkgbW9yZSBwZW9wbGUgdG8gdXNlIHRoZSB3 aG9sZSBHTlUKb3BlcmF0aW5nIHN5c3RlbSwgYXMgd2VsbCBhcyBpdHMgdmFyaWFudCwgdGhl IEdOVS9MaW51eCBvcGVyYXRpbmcKc3lzdGVtLgoKICBBbHRob3VnaCB0aGUgTGVzc2VyIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgaXMgTGVzcyBwcm90ZWN0aXZlIG9mIHRoZQp1c2Vycycg ZnJlZWRvbSwgaXQgZG9lcyBlbnN1cmUgdGhhdCB0aGUgdXNlciBvZiBhIHByb2dyYW0gdGhh dCBpcwpsaW5rZWQgd2l0aCB0aGUgTGlicmFyeSBoYXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3 aGVyZXdpdGhhbCB0byBydW4KdGhhdCBwcm9ncmFtIHVzaW5nIGEgbW9kaWZpZWQgdmVyc2lv biBvZiB0aGUgTGlicmFyeS4KCiAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMg Zm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKbW9kaWZpY2F0aW9uIGZvbGxvdy4gIFBh eSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhCiJ3b3JrIGJh c2VkIG9uIHRoZSBsaWJyYXJ5IiBhbmQgYSAid29yayB0aGF0IHVzZXMgdGhlIGxpYnJhcnki LiAgVGhlCmZvcm1lciBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgbGlicmFyeSwg d2hlcmVhcyB0aGUgbGF0dGVyIG11c3QKYmUgY29tYmluZWQgd2l0aCB0aGUgbGlicmFyeSBp biBvcmRlciB0byBydW4uCgoJCSAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNF CiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5E IE1PRElGSUNBVElPTgoKICAwLiBUaGlzIExpY2Vuc2UgQWdyZWVtZW50IGFwcGxpZXMgdG8g YW55IHNvZnR3YXJlIGxpYnJhcnkgb3Igb3RoZXIKcHJvZ3JhbSB3aGljaCBjb250YWlucyBh IG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgb3IKb3RoZXIgYXV0aG9y aXplZCBwYXJ0eSBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJt cyBvZgp0aGlzIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChhbHNvIGNhbGxlZCAi dGhpcyBMaWNlbnNlIikuCkVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgoK ICBBICJsaWJyYXJ5IiBtZWFucyBhIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgZnVuY3Rpb25z IGFuZC9vciBkYXRhCnByZXBhcmVkIHNvIGFzIHRvIGJlIGNvbnZlbmllbnRseSBsaW5rZWQg d2l0aCBhcHBsaWNhdGlvbiBwcm9ncmFtcwood2hpY2ggdXNlIHNvbWUgb2YgdGhvc2UgZnVu Y3Rpb25zIGFuZCBkYXRhKSB0byBmb3JtIGV4ZWN1dGFibGVzLgoKICBUaGUgIkxpYnJhcnki LCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkgb3Igd29yawp3 aGljaCBoYXMgYmVlbiBkaXN0cmlidXRlZCB1bmRlciB0aGVzZSB0ZXJtcy4gIEEgIndvcmsg YmFzZWQgb24gdGhlCkxpYnJhcnkiIG1lYW5zIGVpdGhlciB0aGUgTGlicmFyeSBvciBhbnkg ZGVyaXZhdGl2ZSB3b3JrIHVuZGVyCmNvcHlyaWdodCBsYXc6IHRoYXQgaXMgdG8gc2F5LCBh IHdvcmsgY29udGFpbmluZyB0aGUgTGlicmFyeSBvciBhCnBvcnRpb24gb2YgaXQsIGVpdGhl ciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQKc3Ry YWlnaHRmb3J3YXJkbHkgaW50byBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0 cmFuc2xhdGlvbiBpcwppbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4gdGhlIHRlcm0g Im1vZGlmaWNhdGlvbiIuKQoKICAiU291cmNlIGNvZGUiIGZvciBhIHdvcmsgbWVhbnMgdGhl IHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgptYWtpbmcgbW9kaWZpY2F0aW9ucyB0 byBpdC4gIEZvciBhIGxpYnJhcnksIGNvbXBsZXRlIHNvdXJjZSBjb2RlIG1lYW5zCmFsbCB0 aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueSBh c3NvY2lhdGVkCmludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRz IHVzZWQgdG8gY29udHJvbCBjb21waWxhdGlvbgphbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBs aWJyYXJ5LgoKICBBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9u IGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdApjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhl eSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCnJ1bm5pbmcgYSBwcm9ncmFt IHVzaW5nIHRoZSBMaWJyYXJ5IGlzIG5vdCByZXN0cmljdGVkLCBhbmQgb3V0cHV0IGZyb20K c3VjaCBhIHByb2dyYW0gaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0 dXRlIGEgd29yayBiYXNlZApvbiB0aGUgTGlicmFyeSAoaW5kZXBlbmRlbnQgb2YgdGhlIHVz ZSBvZiB0aGUgTGlicmFyeSBpbiBhIHRvb2wgZm9yCndyaXRpbmcgaXQpLiAgV2hldGhlciB0 aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMKYW5kIHdoYXQg dGhlIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IGRvZXMuCgogIDEuIFlvdSBtYXkg Y29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIExpYnJhcnkncwpj b21wbGV0ZSBzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwg cHJvdmlkZWQgdGhhdAp5b3UgY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJs aXNoIG9uIGVhY2ggY29weSBhbgphcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBk aXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdAphbGwgdGhlIG5vdGljZXMgdGhh dCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueQp3YXJy YW50eTsgYW5kIGRpc3RyaWJ1dGUgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRo IHRoZQpMaWJyYXJ5LgoKICBZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2Fs IGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LAphbmQgeW91IG1heSBhdCB5b3VyIG9wdGlv biBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhCmZlZS4KCiAg Mi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgTGlicmFyeSBv ciBhbnkgcG9ydGlvbgpvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUg TGlicmFyeSwgYW5kIGNvcHkgYW5kCmRpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9y IHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQphYm92ZSwgcHJvdmlkZWQgdGhh dCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgoKICAgIGEpIFRoZSBt b2RpZmllZCB3b3JrIG11c3QgaXRzZWxmIGJlIGEgc29mdHdhcmUgbGlicmFyeS4KCiAgICBi KSBZb3UgbXVzdCBjYXVzZSB0aGUgZmlsZXMgbW9kaWZpZWQgdG8gY2FycnkgcHJvbWluZW50 IG5vdGljZXMKICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRo ZSBkYXRlIG9mIGFueSBjaGFuZ2UuCgogICAgYykgWW91IG11c3QgY2F1c2UgdGhlIHdob2xl IG9mIHRoZSB3b3JrIHRvIGJlIGxpY2Vuc2VkIGF0IG5vCiAgICBjaGFyZ2UgdG8gYWxsIHRo aXJkIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KCiAgICBkKSBJ ZiBhIGZhY2lsaXR5IGluIHRoZSBtb2RpZmllZCBMaWJyYXJ5IHJlZmVycyB0byBhIGZ1bmN0 aW9uIG9yIGEKICAgIHRhYmxlIG9mIGRhdGEgdG8gYmUgc3VwcGxpZWQgYnkgYW4gYXBwbGlj YXRpb24gcHJvZ3JhbSB0aGF0IHVzZXMKICAgIHRoZSBmYWNpbGl0eSwgb3RoZXIgdGhhbiBh cyBhbiBhcmd1bWVudCBwYXNzZWQgd2hlbiB0aGUgZmFjaWxpdHkKICAgIGlzIGludm9rZWQs IHRoZW4geW91IG11c3QgbWFrZSBhIGdvb2QgZmFpdGggZWZmb3J0IHRvIGVuc3VyZSB0aGF0 LAogICAgaW4gdGhlIGV2ZW50IGFuIGFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBseSBzdWNo IGZ1bmN0aW9uIG9yCiAgICB0YWJsZSwgdGhlIGZhY2lsaXR5IHN0aWxsIG9wZXJhdGVzLCBh bmQgcGVyZm9ybXMgd2hhdGV2ZXIgcGFydCBvZgogICAgaXRzIHB1cnBvc2UgcmVtYWlucyBt ZWFuaW5nZnVsLgoKICAgIChGb3IgZXhhbXBsZSwgYSBmdW5jdGlvbiBpbiBhIGxpYnJhcnkg dG8gY29tcHV0ZSBzcXVhcmUgcm9vdHMgaGFzCiAgICBhIHB1cnBvc2UgdGhhdCBpcyBlbnRp cmVseSB3ZWxsLWRlZmluZWQgaW5kZXBlbmRlbnQgb2YgdGhlCiAgICBhcHBsaWNhdGlvbi4g IFRoZXJlZm9yZSwgU3Vic2VjdGlvbiAyZCByZXF1aXJlcyB0aGF0IGFueQogICAgYXBwbGlj YXRpb24tc3VwcGxpZWQgZnVuY3Rpb24gb3IgdGFibGUgdXNlZCBieSB0aGlzIGZ1bmN0aW9u IG11c3QKICAgIGJlIG9wdGlvbmFsOiBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBub3Qgc3Vw cGx5IGl0LCB0aGUgc3F1YXJlCiAgICByb290IGZ1bmN0aW9uIG11c3Qgc3RpbGwgY29tcHV0 ZSBzcXVhcmUgcm9vdHMuKQoKVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2Rp ZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgppZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhh dCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBMaWJyYXJ5LAphbmQgY2FuIGJlIHJl YXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4K dGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBh cHBseSB0byB0aG9zZQpzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2Vw YXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9u cyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCm9uIHRoZSBMaWJy YXJ5LCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJt cyBvZgp0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNl ZXMgZXh0ZW5kIHRvIHRoZQplbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2 ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUKaXQuCgpUaHVzLCBpdCBpcyBub3Qg dGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QK eW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0 aGUgaW50ZW50IGlzIHRvCmV4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0 cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgpjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRo ZSBMaWJyYXJ5LgoKSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3 b3JrIG5vdCBiYXNlZCBvbiB0aGUgTGlicmFyeQp3aXRoIHRoZSBMaWJyYXJ5IChvciB3aXRo IGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSkgb24gYSB2b2x1bWUgb2YKYSBzdG9yYWdl IG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsg dW5kZXIKdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KCiAgMy4gWW91IG1heSBvcHQgdG8g YXBwbHkgdGhlIHRlcm1zIG9mIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMKTGlj ZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZSB0byBhIGdpdmVuIGNvcHkgb2YgdGhlIExp YnJhcnkuICBUbyBkbwp0aGlzLCB5b3UgbXVzdCBhbHRlciBhbGwgdGhlIG5vdGljZXMgdGhh dCByZWZlciB0byB0aGlzIExpY2Vuc2UsIHNvCnRoYXQgdGhleSByZWZlciB0byB0aGUgb3Jk aW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwKaW5zdGVhZCBv ZiB0byB0aGlzIExpY2Vuc2UuICAoSWYgYSBuZXdlciB2ZXJzaW9uIHRoYW4gdmVyc2lvbiAy IG9mIHRoZQpvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBoYXMgYXBwZWFy ZWQsIHRoZW4geW91IGNhbiBzcGVjaWZ5CnRoYXQgdmVyc2lvbiBpbnN0ZWFkIGlmIHlvdSB3 aXNoLikgIERvIG5vdCBtYWtlIGFueSBvdGhlciBjaGFuZ2UgaW4KdGhlc2Ugbm90aWNlcy4K CiAgT25jZSB0aGlzIGNoYW5nZSBpcyBtYWRlIGluIGEgZ2l2ZW4gY29weSwgaXQgaXMgaXJy ZXZlcnNpYmxlIGZvcgp0aGF0IGNvcHksIHNvIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIGFsbApzdWJzZXF1ZW50IGNvcGllcyBhbmQgZGVy aXZhdGl2ZSB3b3JrcyBtYWRlIGZyb20gdGhhdCBjb3B5LgoKICBUaGlzIG9wdGlvbiBpcyB1 c2VmdWwgd2hlbiB5b3Ugd2lzaCB0byBjb3B5IHBhcnQgb2YgdGhlIGNvZGUgb2YKdGhlIExp YnJhcnkgaW50byBhIHByb2dyYW0gdGhhdCBpcyBub3QgYSBsaWJyYXJ5LgoKICA0LiBZb3Ug bWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgKG9yIGEgcG9ydGlvbiBvcgpk ZXJpdmF0aXZlIG9mIGl0LCB1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4 ZWN1dGFibGUgZm9ybQp1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92 ZSBwcm92aWRlZCB0aGF0IHlvdSBhY2NvbXBhbnkKaXQgd2l0aCB0aGUgY29tcGxldGUgY29y cmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlLCB3aGljaAptdXN0IGJl IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3Zl IG9uIGEKbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdl LgoKICBJZiBkaXN0cmlidXRpb24gb2Ygb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmlu ZyBhY2Nlc3MgdG8gY29weQpmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmlu ZyBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZQpzb3VyY2UgY29kZSBmcm9tIHRoZSBz YW1lIHBsYWNlIHNhdGlzZmllcyB0aGUgcmVxdWlyZW1lbnQgdG8KZGlzdHJpYnV0ZSB0aGUg c291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdApjb21wZWxs ZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgoKICA1 LiBBIHByb2dyYW0gdGhhdCBjb250YWlucyBubyBkZXJpdmF0aXZlIG9mIGFueSBwb3J0aW9u IG9mIHRoZQpMaWJyYXJ5LCBidXQgaXMgZGVzaWduZWQgdG8gd29yayB3aXRoIHRoZSBMaWJy YXJ5IGJ5IGJlaW5nIGNvbXBpbGVkIG9yCmxpbmtlZCB3aXRoIGl0LCBpcyBjYWxsZWQgYSAi d29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiLiAgU3VjaCBhCndvcmssIGluIGlzb2xhdGlv biwgaXMgbm90IGEgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBMaWJyYXJ5LCBhbmQKdGhlcmVm b3JlIGZhbGxzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KCiAgSG93ZXZl ciwgbGlua2luZyBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGli cmFyeQpjcmVhdGVzIGFuIGV4ZWN1dGFibGUgdGhhdCBpcyBhIGRlcml2YXRpdmUgb2YgdGhl IExpYnJhcnkgKGJlY2F1c2UgaXQKY29udGFpbnMgcG9ydGlvbnMgb2YgdGhlIExpYnJhcnkp LCByYXRoZXIgdGhhbiBhICJ3b3JrIHRoYXQgdXNlcyB0aGUKbGlicmFyeSIuICBUaGUgZXhl Y3V0YWJsZSBpcyB0aGVyZWZvcmUgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UuClNlY3Rpb24g NiBzdGF0ZXMgdGVybXMgZm9yIGRpc3RyaWJ1dGlvbiBvZiBzdWNoIGV4ZWN1dGFibGVzLgoK ICBXaGVuIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB1c2VzIG1hdGVyaWFsIGZy b20gYSBoZWFkZXIgZmlsZQp0aGF0IGlzIHBhcnQgb2YgdGhlIExpYnJhcnksIHRoZSBvYmpl Y3QgY29kZSBmb3IgdGhlIHdvcmsgbWF5IGJlIGEKZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBM aWJyYXJ5IGV2ZW4gdGhvdWdoIHRoZSBzb3VyY2UgY29kZSBpcyBub3QuCldoZXRoZXIgdGhp cyBpcyB0cnVlIGlzIGVzcGVjaWFsbHkgc2lnbmlmaWNhbnQgaWYgdGhlIHdvcmsgY2FuIGJl CmxpbmtlZCB3aXRob3V0IHRoZSBMaWJyYXJ5LCBvciBpZiB0aGUgd29yayBpcyBpdHNlbGYg YSBsaWJyYXJ5LiAgVGhlCnRocmVzaG9sZCBmb3IgdGhpcyB0byBiZSB0cnVlIGlzIG5vdCBw cmVjaXNlbHkgZGVmaW5lZCBieSBsYXcuCgogIElmIHN1Y2ggYW4gb2JqZWN0IGZpbGUgdXNl cyBvbmx5IG51bWVyaWNhbCBwYXJhbWV0ZXJzLCBkYXRhCnN0cnVjdHVyZSBsYXlvdXRzIGFu ZCBhY2Nlc3NvcnMsIGFuZCBzbWFsbCBtYWNyb3MgYW5kIHNtYWxsIGlubGluZQpmdW5jdGlv bnMgKHRlbiBsaW5lcyBvciBsZXNzIGluIGxlbmd0aCksIHRoZW4gdGhlIHVzZSBvZiB0aGUg b2JqZWN0CmZpbGUgaXMgdW5yZXN0cmljdGVkLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQg aXMgbGVnYWxseSBhIGRlcml2YXRpdmUKd29yay4gIChFeGVjdXRhYmxlcyBjb250YWluaW5n IHRoaXMgb2JqZWN0IGNvZGUgcGx1cyBwb3J0aW9ucyBvZiB0aGUKTGlicmFyeSB3aWxsIHN0 aWxsIGZhbGwgdW5kZXIgU2VjdGlvbiA2LikKCiAgT3RoZXJ3aXNlLCBpZiB0aGUgd29yayBp cyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnksIHlvdSBtYXkKZGlzdHJpYnV0ZSB0aGUg b2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDYu CkFueSBleGVjdXRhYmxlcyBjb250YWluaW5nIHRoYXQgd29yayBhbHNvIGZhbGwgdW5kZXIg U2VjdGlvbiA2LAp3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBsaW5rZWQgZGlyZWN0bHkgd2l0 aCB0aGUgTGlicmFyeSBpdHNlbGYuCgogIDYuIEFzIGFuIGV4Y2VwdGlvbiB0byB0aGUgU2Vj dGlvbnMgYWJvdmUsIHlvdSBtYXkgYWxzbyBjb21iaW5lIG9yCmxpbmsgYSAid29yayB0aGF0 IHVzZXMgdGhlIExpYnJhcnkiIHdpdGggdGhlIExpYnJhcnkgdG8gcHJvZHVjZSBhCndvcmsg Y29udGFpbmluZyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSwgYW5kIGRpc3RyaWJ1dGUgdGhh dCB3b3JrCnVuZGVyIHRlcm1zIG9mIHlvdXIgY2hvaWNlLCBwcm92aWRlZCB0aGF0IHRoZSB0 ZXJtcyBwZXJtaXQKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGZvciB0aGUgY3VzdG9tZXIn cyBvd24gdXNlIGFuZCByZXZlcnNlCmVuZ2luZWVyaW5nIGZvciBkZWJ1Z2dpbmcgc3VjaCBt b2RpZmljYXRpb25zLgoKICBZb3UgbXVzdCBnaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCBl YWNoIGNvcHkgb2YgdGhlIHdvcmsgdGhhdCB0aGUKTGlicmFyeSBpcyB1c2VkIGluIGl0IGFu ZCB0aGF0IHRoZSBMaWJyYXJ5IGFuZCBpdHMgdXNlIGFyZSBjb3ZlcmVkIGJ5CnRoaXMgTGlj ZW5zZS4gIFlvdSBtdXN0IHN1cHBseSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgSWYgdGhl IHdvcmsKZHVyaW5nIGV4ZWN1dGlvbiBkaXNwbGF5cyBjb3B5cmlnaHQgbm90aWNlcywgeW91 IG11c3QgaW5jbHVkZSB0aGUKY29weXJpZ2h0IG5vdGljZSBmb3IgdGhlIExpYnJhcnkgYW1v bmcgdGhlbSwgYXMgd2VsbCBhcyBhIHJlZmVyZW5jZQpkaXJlY3RpbmcgdGhlIHVzZXIgdG8g dGhlIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgQWxzbywgeW91IG11c3QgZG8gb25lCm9mIHRo ZXNlIHRoaW5nczoKCiAgICBhKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCB0aGUgY29tcGxl dGUgY29ycmVzcG9uZGluZwogICAgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSBmb3Ig dGhlIExpYnJhcnkgaW5jbHVkaW5nIHdoYXRldmVyCiAgICBjaGFuZ2VzIHdlcmUgdXNlZCBp biB0aGUgd29yayAod2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlcgogICAgU2VjdGlv bnMgMSBhbmQgMiBhYm92ZSk7IGFuZCwgaWYgdGhlIHdvcmsgaXMgYW4gZXhlY3V0YWJsZSBs aW5rZWQKICAgIHdpdGggdGhlIExpYnJhcnksIHdpdGggdGhlIGNvbXBsZXRlIG1hY2hpbmUt cmVhZGFibGUgIndvcmsgdGhhdAogICAgdXNlcyB0aGUgTGlicmFyeSIsIGFzIG9iamVjdCBj b2RlIGFuZC9vciBzb3VyY2UgY29kZSwgc28gdGhhdCB0aGUKICAgIHVzZXIgY2FuIG1vZGlm eSB0aGUgTGlicmFyeSBhbmQgdGhlbiByZWxpbmsgdG8gcHJvZHVjZSBhIG1vZGlmaWVkCiAg ICBleGVjdXRhYmxlIGNvbnRhaW5pbmcgdGhlIG1vZGlmaWVkIExpYnJhcnkuICAoSXQgaXMg dW5kZXJzdG9vZAogICAgdGhhdCB0aGUgdXNlciB3aG8gY2hhbmdlcyB0aGUgY29udGVudHMg b2YgZGVmaW5pdGlvbnMgZmlsZXMgaW4gdGhlCiAgICBMaWJyYXJ5IHdpbGwgbm90IG5lY2Vz c2FyaWx5IGJlIGFibGUgdG8gcmVjb21waWxlIHRoZSBhcHBsaWNhdGlvbgogICAgdG8gdXNl IHRoZSBtb2RpZmllZCBkZWZpbml0aW9ucy4pCgogICAgYikgVXNlIGEgc3VpdGFibGUgc2hh cmVkIGxpYnJhcnkgbWVjaGFuaXNtIGZvciBsaW5raW5nIHdpdGggdGhlCiAgICBMaWJyYXJ5 LiAgQSBzdWl0YWJsZSBtZWNoYW5pc20gaXMgb25lIHRoYXQgKDEpIHVzZXMgYXQgcnVuIHRp bWUgYQogICAgY29weSBvZiB0aGUgbGlicmFyeSBhbHJlYWR5IHByZXNlbnQgb24gdGhlIHVz ZXIncyBjb21wdXRlciBzeXN0ZW0sCiAgICByYXRoZXIgdGhhbiBjb3B5aW5nIGxpYnJhcnkg ZnVuY3Rpb25zIGludG8gdGhlIGV4ZWN1dGFibGUsIGFuZCAoMikKICAgIHdpbGwgb3BlcmF0 ZSBwcm9wZXJseSB3aXRoIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgaWYK ICAgIHRoZSB1c2VyIGluc3RhbGxzIG9uZSwgYXMgbG9uZyBhcyB0aGUgbW9kaWZpZWQgdmVy c2lvbiBpcwogICAgaW50ZXJmYWNlLWNvbXBhdGlibGUgd2l0aCB0aGUgdmVyc2lvbiB0aGF0 IHRoZSB3b3JrIHdhcyBtYWRlIHdpdGguCgogICAgYykgQWNjb21wYW55IHRoZSB3b3JrIHdp dGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQKICAgIGxlYXN0IHRocmVlIHllYXJz LCB0byBnaXZlIHRoZSBzYW1lIHVzZXIgdGhlIG1hdGVyaWFscwogICAgc3BlY2lmaWVkIGlu IFN1YnNlY3Rpb24gNmEsIGFib3ZlLCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZQogICAgdGhhbiB0 aGUgY29zdCBvZiBwZXJmb3JtaW5nIHRoaXMgZGlzdHJpYnV0aW9uLgoKICAgIGQpIElmIGRp c3RyaWJ1dGlvbiBvZiB0aGUgd29yayBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBj b3B5CiAgICBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgb2ZmZXIgZXF1aXZhbGVudCBhY2Nl c3MgdG8gY29weSB0aGUgYWJvdmUKICAgIHNwZWNpZmllZCBtYXRlcmlhbHMgZnJvbSB0aGUg c2FtZSBwbGFjZS4KCiAgICBlKSBWZXJpZnkgdGhhdCB0aGUgdXNlciBoYXMgYWxyZWFkeSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlc2UKICAgIG1hdGVyaWFscyBvciB0aGF0IHlvdSBoYXZl IGFscmVhZHkgc2VudCB0aGlzIHVzZXIgYSBjb3B5LgoKICBGb3IgYW4gZXhlY3V0YWJsZSwg dGhlIHJlcXVpcmVkIGZvcm0gb2YgdGhlICJ3b3JrIHRoYXQgdXNlcyB0aGUKTGlicmFyeSIg bXVzdCBpbmNsdWRlIGFueSBkYXRhIGFuZCB1dGlsaXR5IHByb2dyYW1zIG5lZWRlZCBmb3IK cmVwcm9kdWNpbmcgdGhlIGV4ZWN1dGFibGUgZnJvbSBpdC4gIEhvd2V2ZXIsIGFzIGEgc3Bl Y2lhbCBleGNlcHRpb24sCnRoZSBtYXRlcmlhbHMgdG8gYmUgZGlzdHJpYnV0ZWQgbmVlZCBu b3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IGlzCm5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBl aXRoZXIgc291cmNlIG9yIGJpbmFyeSBmb3JtKSB3aXRoIHRoZSBtYWpvcgpjb21wb25lbnRz IChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVt IG9uCndoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudCBp dHNlbGYgYWNjb21wYW5pZXMKdGhlIGV4ZWN1dGFibGUuCgogIEl0IG1heSBoYXBwZW4gdGhh dCB0aGlzIHJlcXVpcmVtZW50IGNvbnRyYWRpY3RzIHRoZSBsaWNlbnNlCnJlc3RyaWN0aW9u cyBvZiBvdGhlciBwcm9wcmlldGFyeSBsaWJyYXJpZXMgdGhhdCBkbyBub3Qgbm9ybWFsbHkK YWNjb21wYW55IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgU3VjaCBhIGNvbnRyYWRpY3Rpb24g bWVhbnMgeW91IGNhbm5vdAp1c2UgYm90aCB0aGVtIGFuZCB0aGUgTGlicmFyeSB0b2dldGhl ciBpbiBhbiBleGVjdXRhYmxlIHRoYXQgeW91CmRpc3RyaWJ1dGUuCgogIDcuIFlvdSBtYXkg cGxhY2UgbGlicmFyeSBmYWNpbGl0aWVzIHRoYXQgYXJlIGEgd29yayBiYXNlZCBvbiB0aGUK TGlicmFyeSBzaWRlLWJ5LXNpZGUgaW4gYSBzaW5nbGUgbGlicmFyeSB0b2dldGhlciB3aXRo IG90aGVyIGxpYnJhcnkKZmFjaWxpdGllcyBub3QgY292ZXJlZCBieSB0aGlzIExpY2Vuc2Us IGFuZCBkaXN0cmlidXRlIHN1Y2ggYSBjb21iaW5lZApsaWJyYXJ5LCBwcm92aWRlZCB0aGF0 IHRoZSBzZXBhcmF0ZSBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgYmFzZWQgb24KdGhlIExp YnJhcnkgYW5kIG9mIHRoZSBvdGhlciBsaWJyYXJ5IGZhY2lsaXRpZXMgaXMgb3RoZXJ3aXNl CnBlcm1pdHRlZCwgYW5kIHByb3ZpZGVkIHRoYXQgeW91IGRvIHRoZXNlIHR3byB0aGluZ3M6 CgogICAgYSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5IG9m IHRoZSBzYW1lIHdvcmsKICAgIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCB1bmNvbWJpbmVkIHdp dGggYW55IG90aGVyIGxpYnJhcnkKICAgIGZhY2lsaXRpZXMuICBUaGlzIG11c3QgYmUgZGlz dHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQogICAgU2VjdGlvbnMgYWJvdmUuCgog ICAgYikgR2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggdGhlIGNvbWJpbmVkIGxpYnJhcnkg b2YgdGhlIGZhY3QKICAgIHRoYXQgcGFydCBvZiBpdCBpcyBhIHdvcmsgYmFzZWQgb24gdGhl IExpYnJhcnksIGFuZCBleHBsYWluaW5nCiAgICB3aGVyZSB0byBmaW5kIHRoZSBhY2NvbXBh bnlpbmcgdW5jb21iaW5lZCBmb3JtIG9mIHRoZSBzYW1lIHdvcmsuCgogIDguIFlvdSBtYXkg bm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvciBkaXN0cmlidXRl CnRoZSBMaWJyYXJ5IGV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBM aWNlbnNlLiAgQW55CmF0dGVtcHQgb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGlj ZW5zZSwgbGluayB3aXRoLCBvcgpkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IGlzIHZvaWQsIGFu ZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIKcmlnaHRzIHVuZGVyIHRoaXMg TGljZW5zZS4gIEhvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLApv ciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRo ZWlyIGxpY2Vuc2VzCnRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoIHBhcnRpZXMgcmVtYWlu IGluIGZ1bGwgY29tcGxpYW5jZS4KCiAgOS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNj ZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90CnNpZ25lZCBpdC4gIEhvd2V2 ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCmRp c3RyaWJ1dGUgdGhlIExpYnJhcnkgb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBh Y3Rpb25zIGFyZQpwcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlz IExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5Cm1vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhl IExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQpMaWJyYXJ5KSwgeW91IGluZGlj YXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAphbGwg aXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3Ig bW9kaWZ5aW5nCnRoZSBMaWJyYXJ5IG9yIHdvcmtzIGJhc2VkIG9uIGl0LgoKICAxMC4gRWFj aCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2Vk IG9uIHRoZQpMaWJyYXJ5KSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVz IGEgbGljZW5zZSBmcm9tIHRoZQpvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmli dXRlLCBsaW5rIHdpdGggb3IgbW9kaWZ5IHRoZSBMaWJyYXJ5CnN1YmplY3QgdG8gdGhlc2Ug dGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIK cmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRz IGdyYW50ZWQgaGVyZWluLgpZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5n IGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB3aXRoCnRoaXMgTGljZW5zZS4KCiAgMTEu IElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlv biBvZiBwYXRlbnQKaW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3Qg bGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5 b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRo YXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8g bm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJ ZiB5b3UgY2Fubm90CmRpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNs eSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKTGljZW5zZSBhbmQgYW55IG90aGVyIHBl cnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQptYXkgbm90 IGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0 ZW50CmxpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRp b24gb2YgdGhlIExpYnJhcnkgYnkKYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJl Y3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCnRoZSBvbmx5IHdheSB5b3Ug Y291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KcmVm cmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeS4KCklmIGFu eSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNl YWJsZSB1bmRlciBhbnkKcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9m IHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvIGFwcGx5LAphbmQgdGhlIHNlY3Rpb24gYXMg YSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlciBjaXJjdW1zdGFuY2VzLgoK SXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRv IGluZnJpbmdlIGFueQpwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBv ciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQpzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9u IGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCmludGVncml0eSBvZiB0 aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtIHdoaWNoIGlzCmltcGxlbWVu dGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFk ZQpnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJl IGRpc3RyaWJ1dGVkCnRocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lz dGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0CnN5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhv ci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKdG8gZGlzdHJpYnV0 ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fu bm90CmltcG9zZSB0aGF0IGNob2ljZS4KClRoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBt YWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0bwpiZSBhIGNvbnNlcXVl bmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KCiAgMTIuIElmIHRoZSBkaXN0cmli dXRpb24gYW5kL29yIHVzZSBvZiB0aGUgTGlicmFyeSBpcyByZXN0cmljdGVkIGluCmNlcnRh aW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVy ZmFjZXMsIHRoZQpvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIExp YnJhcnkgdW5kZXIgdGhpcyBMaWNlbnNlIG1heSBhZGQKYW4gZXhwbGljaXQgZ2VvZ3JhcGhp Y2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZyB0aG9zZSBjb3VudHJpZXMs CnNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nIGNv dW50cmllcyBub3QgdGh1cwpleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNl IGluY29ycG9yYXRlcyB0aGUgbGltaXRhdGlvbiBhcyBpZgp3cml0dGVuIGluIHRoZSBib2R5 IG9mIHRoaXMgTGljZW5zZS4KCiAgMTMuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24g bWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3CnZlcnNpb25zIG9mIHRoZSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4KU3VjaCBuZXcgdmVy c2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9u LApidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8gYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3Ig Y29uY2VybnMuCgpFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJz aW9uIG51bWJlci4gIElmIHRoZSBMaWJyYXJ5CnNwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVy IG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZAoiYW55IGxhdGVyIHZl cnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5k CmNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVy c2lvbiBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRo ZSBMaWJyYXJ5IGRvZXMgbm90IHNwZWNpZnkgYQpsaWNlbnNlIHZlcnNpb24gbnVtYmVyLCB5 b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLgoKICAxNC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUg cGFydHMgb2YgdGhlIExpYnJhcnkgaW50byBvdGhlciBmcmVlCnByb2dyYW1zIHdob3NlIGRp c3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGVzZSwKd3Jp dGUgdG8gdGhlIGF1dGhvciB0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUg d2hpY2ggaXMKY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg d3JpdGUgdG8gdGhlIEZyZWUKU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzIG1h a2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91cgpkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBi eSB0aGUgdHdvIGdvYWxzIG9mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzCm9mIGFsbCBk ZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQgb2YgcHJvbW90aW5nIHRoZSBz aGFyaW5nCmFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCgoJCQkgICAgTk8gV0FS UkFOVFkKCiAgMTUuIEJFQ0FVU0UgVEhFIExJQlJBUlkgSVMgTElDRU5TRUQgRlJFRSBPRiBD SEFSR0UsIFRIRVJFIElTIE5PCldBUlJBTlRZIEZPUiBUSEUgTElCUkFSWSwgVE8gVEhFIEVY VEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuCkVYQ0VQVCBXSEVOIE9USEVSV0lT RSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SCk9USEVS IFBBUlRJRVMgUFJPVklERSBUSEUgTElCUkFSWSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZCktJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBC VVQgTk9UIExJTUlURUQgVE8sIFRIRQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKUFVSUE9TRS4gIFRIRSBFTlRJ UkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFCkxJQlJB UlkgSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIExJQlJBUlkgUFJPVkUgREVGRUNUSVZFLCBZ T1UgQVNTVU1FClRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIg T1IgQ09SUkVDVElPTi4KCiAgMTYuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBB UFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4KV1JJVElORyBXSUxMIEFOWSBDT1BZUklH SFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkKQU5EL09SIFJF RElTVFJJQlVURSBUSEUgTElCUkFSWSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBU TyBZT1UKRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5D SURFTlRBTCBPUgpDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFIFVT RSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRQpMSUJSQVJZIChJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HClJFTkRFUkVEIElOQUNDVVJB VEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBCkZB SUxVUkUgT0YgVEhFIExJQlJBUlkgVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBTT0ZUV0FS RSksIEVWRU4gSUYKU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNF RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSApEQU1BR0VTLgoKCQkgICAgIEVORCBPRiBU RVJNUyBBTkQgQ09ORElUSU9OUwoKCiAgICAtLS0tLS0tLS0tLS0tLS0tPCBFbmQgb2YgRm9y bWFsIExpY2Vuc2UgR3JhbnQgPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpPS0FZLCBXRSBX RVJFIEpVU1QgS0lERElORy4gVEhFUkUnUyBOT1RISU5HIElOIEhFUkUgQUJPVVQgQ0FSV0FT SEVTLiBCVVQgWU9VClJFQUxMWSBTSE9VTEQgUkVBRCBUSEVTRSBUSElOR1MsIFlPVSBLTk9X LiAoSXQncyB0aGUgR3JlZW4gUkFWNCwgaWYKeW91IHJlYWxseSBpbnNpc3QpLgoKRm9yIHRo b3NlIG9mIHlvdSB0aGF0IGRvIHJlYWxseSBjYXJlIGFib3V0IGxpY2Vuc2UgYWdyZWVtZW50 cywKcGxlYXNlIGZlZWwgZnJlZSB0byBlbWFpbCB1cyBhdCBpbmZvQGNvZGV3ZWF2ZXJzLmNv bTsgd2UgYXJlCmFsd2F5cyBvcGVuIHRvIHN1Z2dlc3Rpb25zLgo= --------------030404080404080502010109 Content-Type: application/pgp-keys; name="0xBEE84C64.asc" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0xBEE84C64.asc" -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 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3D =3DMaRA -----END PGP PUBLIC KEY BLOCK----- --------------030404080404080502010109-- --k8pIEV4Lixa2Bc6U9FncrXp1bLEFG4Lx9 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWZxDhAAoJECDuEZm+6Exk36QP/1nvJXDW3o69YD+H27/NWmP5 ubscdiSq2KkF5lehIXfG7E/2N5iOwmVNsuwYxOFRTuT8ycf0iWpmPw1BFgeKT28w H5IufWumRyZRbgVXQXY1fvBVwimeeNj2ZgBIbRazvqfkNrkBNnkcLcGvVyq0dTzv 4Rc3adWg1znPX7OTUrEdgaJdA8zP7IPcRUwy+EyFst5i5uCjtyHoUICDNETKCuPE 5wAv1Qz3wnty7IMeCSSJw4GKUCmlRolvu9zz3hMgZsIYYc5OPTHGg/uhpZN1HW+U ZsHOgjJc5veq4BqTK0rwDbzedSpYLNfEBKI9ZkpiWMgTtZU55thA0mekZXp69ECN Lq712DTXZ/I0YCZ9MYiU8dQd5L7PcCVD+XpQkXUqNeUKv0tGlVl5H1yvY4dH1urA +pOuFjMOmHG4qMF1fUIp++hbZXqA/gP5hZV6Vta1mfPIOqvt0SAcZRCIXva41gS+ APZ7gFSUQEzFuwld1wtqNAzbDDYgZmPs4dE9p1VOMCBazYlPOYU/cBQTo1xqGEIY +dDt+7+6IWRt0mYHJDuB7AzuH98BTDUemzYoalmJwjJX1U1hXWQ69uG65ha/e1ox r4V31HMDe7Q8p3bbez/ChVRUvw9YP1ka7+jPc7mO+wCD5xCnMA8S6xlyfryr08Pw UWdQcjkSK4jc7boXLX0P =DI0V -----END PGP SIGNATURE----- --k8pIEV4Lixa2Bc6U9FncrXp1bLEFG4Lx9--