From owner-sc22wg5@open-std.org Mon Jan 28 22:34:08 2008 Return-Path: X-Original-To: sc22wg5-dom6 Delivered-To: sc22wg5-dom6@open-std.org Received: by open-std.org (Postfix, from userid 521) id 40EC5D7C6C; Mon, 28 Jan 2008 22:34:07 +0100 (CET) X-Original-To: sc22wg5@open-std.org Delivered-To: sc22wg5@open-std.org X-Greylist: delayed 364 seconds by postgrey-1.18 at pingo.cv.ihk.dk; Mon, 28 Jan 2008 21:34:02 UTC Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by open-std.org (Postfix) with ESMTP id 47A9351AF7 for ; Mon, 28 Jan 2008 22:33:47 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP; 28 Jan 2008 13:27:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.25,262,1199692800"; d="txt'?scan'208,217";a="293770075" Received: from orsmsx334.jf.intel.com ([10.22.226.45]) by fmsmga002.fm.intel.com with ESMTP; 28 Jan 2008 13:25:54 -0800 Received: from orsmsx416.amr.corp.intel.com ([10.22.226.46]) by orsmsx334.jf.intel.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 28 Jan 2008 13:26:51 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C861F4.7F685F8F" Subject: WG5/J3 08-006A current list of F2003 interpretations Date: Mon, 28 Jan 2008 13:26:50 -0800 Message-ID: <3409751E7375C346A743B321A33B40D003F16A03@orsmsx416.amr.corp.intel.com> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: WG5/J3 08-006A current list of F2003 interpretations Thread-Index: Achh9H6QWz4eUzs+TTmt7xAvj9b4Hw== From: "Whitlock, Stan" To: "WG5" Cc: "cc" X-OriginalArrivalTime: 28 Jan 2008 21:26:51.0681 (UTC) FILETIME=[7F5D8910:01C861F4] Sender: owner-sc22wg5@open-std.org Precedence: bulk This is a multi-part message in MIME format. ------_=_NextPart_001_01C861F4.7F685F8F Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01C861F4.7F685F8F" ------_=_NextPart_002_01C861F4.7F685F8F Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Attached please find the latest list of F2003 interpretations. =20 Dan - please add this file to the m183 pre-meeting. =20 Thanks /Stan =20 PS: Dan- could you please change the names of standing docs 016 and 017: =20 =20 old title new title 016=20 Completed Fortran 2003 Interpretations =20 F2003 Interpretations for Corrigendum 1 017=20 Interpretation Update Pages =20 F2003 Interpretations for Corrigendum 2 =20 =20 =20 J3/08-006A =20 Outstanding Fortran Interpretations, January 28, 2008 =20 Stan Whitlock for /interp =20 > see 05-015 =3D=3D closed F95 interps > see 05-016 =3D=3D 05-006T1 of m173 for interps for F2003 Corr #1 N1636 > see 08-017 =3D=3D 06-006T2r1 of m177 for interps for F2003 Corr #2 = N1664 =20 > includes interps passed by J3 letter ballot #13 {07-250r1/07-272} > includes interps submitted at m181 {92..101} and passed * includes interps passed by J3 letter ballot #14 {07-279/07-321} * includes interps submitted at m182 {102..109} and passed ------_=_NextPart_002_01C861F4.7F685F8F Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Attached please find the latest list of F2003 interpretations.

 

Dan - please add this file to the m183 = pre-meeting.

 

Thanks        =             &= nbsp;           &n= bsp;     /Stan

 

PS: Dan- could you please change the names of = standing docs 016 and 017:

 

 

old title

new title

016

Completed = Fortran 2003 Interpretations

F2003 Interpretations for Corrigendum = 1

017

Interpretation = Update Pages

F2003 Interpretations for Corrigendum = 2

 

 

 

         =             &= nbsp;           &n= bsp;           &nb= sp;           J3/08-006A

 

      Outstanding Fortran Interpretations, January 28, 2008

 

         =             Stan Whitlock for /interp

 

> see 05-015 =3D=3D closed F95 = interps

> see 05-016 =3D=3D 05-006T1 of m173 for interps = for F2003 Corr #1 N1636

> see 08-017 =3D=3D 06-006T2r1 of m177 for interps = for F2003 Corr #2 N1664

 

> includes interps passed by J3 letter ballot #13 {07-250r1/07-272}

> includes interps submitted at m181 {92..101} and = passed

* includes interps passed by J3 letter ballot #14 {07-279/07-321}

* includes interps submitted at m182 {102..109} and = passed

------_=_NextPart_002_01C861F4.7F685F8F-- ------_=_NextPart_001_01C861F4.7F685F8F Content-Type: text/plain; name="08-006A m183.txt" Content-Transfer-Encoding: base64 Content-Description: 08-006A m183.txt Content-Disposition: attachment; filename="08-006A m183.txt" DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBKMy8wOC0wMDZBDQoNCiAgICAgIE91dHN0YW5kaW5nIEZvcnRyYW4gSW50ZXJwcmV0YXRpb25z LCBKYW51YXJ5IDI4LCAyMDA4DQoNCiAgICAgICAgICAgICAgICAgICAgIFN0YW4gV2hpdGxvY2sg Zm9yIC9pbnRlcnANCg0KPiBzZWUgMDUtMDE1ID09IGNsb3NlZCBGOTUgaW50ZXJwcw0KPiBzZWUg MDUtMDE2ID09IDA1LTAwNlQxIG9mIG0xNzMgZm9yIGludGVycHMgZm9yIEYyMDAzIENvcnIgIzEg TjE2MzYNCj4gc2VlIDA4LTAxNyA9PSAwNi0wMDZUMnIxIG9mIG0xNzcgZm9yIGludGVycHMgZm9y IEYyMDAzIENvcnIgIzIgTjE2NjQNCg0KPiBpbmNsdWRlcyBpbnRlcnBzIHBhc3NlZCBieSBKMyBs ZXR0ZXIgYmFsbG90ICMxMyB7MDctMjUwcjEvMDctMjcyfQ0KPiBpbmNsdWRlcyBpbnRlcnBzIHN1 Ym1pdHRlZCBhdCBtMTgxIHs5Mi4uMTAxfSBhbmQgcGFzc2VkDQoqIGluY2x1ZGVzIGludGVycHMg cGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QgIzE0IHswNy0yNzkvMDctMzIxfQ0KKiBpbmNsdWRl cyBpbnRlcnBzIHN1Ym1pdHRlZCBhdCBtMTgyIHsxMDIuLjEwOX0gYW5kIHBhc3NlZA0KDQpba2Vl cCB0aGlzIHRleHQgZG9jdW1lbnQgdG8gNzAgY2hhcmFjdGVycyBwZXIgbGluZV0uLi4uLi4uLi4u Li4uLi4uLi4uDQoNClRhYmxlIG9mIENvbnRlbnRzDQoNClBhcnQgMCBjb250YWlucyB0aGUgc3Vt bWFyeSBzdGF0dXMgb2YgYWxsIG9mIHRoZSBGb3J0cmFuDQogICAgICAgaW50ZXJwcmV0YXRpb25z DQoNClBhcnQgMSBjb250YWlucyB0aGUgaW50ZXJwcmV0YXRpb24gcHJvY2Vzc2luZyBydWxlcyBm cm9tIDAwLTE0Mg0KDQpQYXJ0IDIgY29udGFpbnMgYWN0aXZlIEY5NSBpbnRlcnByZXRhdGlvbnM6 DQoNCiAgICAgICAtIHRoZSByZW1haW5pbmcgRjk1IGludGVycCBudW1iZXJzIHN0YXJ0IHdpdGgg Rjk1Lw0KICAgICAgIC0gdGhlIEY5NSBpbnRlcnBzIHRoYXQgYXJlIG51bWJlcmVkIDEtMzIgYW5k IDY2LTEwNA0KICAgICAgIC0gdGhlIEY5MCBpbnRlcnBzIHRoYXQgYXJlIG51bWJlcmVkIEY5MC8u Li4gYW5kIGJlaW5nDQogICAgICAgICBpbnRlcnByZXRlZCBhZ2FpbnN0IEY5NQ0KICAgICAgIC0g dGhlcmUgYXJlIG5vIG1vcmUgSmFwYW5lc2UgRjk1IGludGVycHMgd2l0aCB0aGVpciBKUC0uLi4N CiAgICAgICAgIG51bWJlcnMNCg0KUGFydCAzIGNvbnRhaW5zIGFjdGl2ZSBGMjAwMyBpbnRlcnBy ZXRhdGlvbnMgKHByZWZpeGVkIHdpdGggIkYwMy8iKQ0KDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpQYXJ0IDA6 IFN1bW1hcnkgU3RhdHVzIG9mIHRoZXNlIEZvcnRyYW4gSW50ZXJwcmV0YXRpb25zDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQoNCg0KTm90ZSBOOg0KICAgICBkID09IGRvbmUge2lmIFMgPSBDMSB8IEMyIHwgVDEg fCBUMiwgdGhlbiBkb25lIGlzIGFzc3VtZWR9DQogICAgICogPT0gYWN0aXZlDQogICAgIFcgPT0g d291bGQgZ28gaW4gRjk1IENvcnJpZ2VuZHVtIDMgaWYgdGhlcmUgd2VyZSBvbmUNCg0KU3RhdHVz IFM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmZWN0IFR5cGUgVDoNCiAgICAgICBQ ID09IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MgICAgICAgICAgIEMgPT0gQ2xhcmlmaWNh dGlvbg0KICAgICAgIE0gICAgUGFzc2VkIGJ5IEozIG1lZXRpbmcgICAgICAgICAgICAgICAgICAg RSAgICBFcnJhdHVtDQogICAgICAgQiAgICBQYXNzZWQgYnkgSjMgbGV0dGVyIGJhbGxvdCAgICAg ICAgICAgICBJICAgIEludGVycHJldGF0aW9uDQogICAgICAgVyAgICBQYXNzZWQgYnkgV0c1IGJh bGxvdA0KICAgICAgIEMxICAgSW5jbHVkZWQgaW4gRjk1IGNvcnJpZ2VuZHVtIDEgKHNlZSBOMTQy MikNCiAgICAgICBDMiAgIEluY2x1ZGVkIGluIEY5NSBjb3JyaWdlbmR1bSAyIChzZWUgTjE0NzMp DQogICAgICAgVDEgICBJbmNsdWRlZCBpbiBGMDMgY29ycmlnZW5kdW0gMSAoc2VlIE4xNjM2L04x NjQwKQ0KICAgICAgIFQyICAgSW5jbHVkZWQgaW4gRjAzIGNvcnJpZ2VuZHVtIDIgKHNlZSBOMTY1 Ny9OMTY2NCkNCiAgICAgICBYICAgIEV4Y2x1ZGVkIGZvciB0aGUgcmVhc29ucyBnaXZlbg0KDQpO ICBTIFQgbnVtYmVyICAgICB0aXRsZQ0KLSAgLSAtIC0tLS0tLSAgICAgLS0tLS0NCg0KKiAgWCAg IEY5NS8wMDMxICAgQXNzb2NpYXRpb24gb2YgcG9pbnRlciBmdW5jdGlvbiByZXN1bHQgd2l0aA0K ICAgICAgICAgICAgICAgICAgICBJTlRFTlQoT1VUKSBkdW1teSBhcmd1bWVudCAoc3Vic3VtZWQg YnkgMDAwMDc0KQ0KKiAgUCBJIEY5NS8wMDc0ICAgVEFSR0VUIGR1bW15IGFyZ3VtZW50cyBhbmQg UE9JTlRFUiBleHByZXNzaW9ucw0KKiAgUCAgIEY5NS8wMDk4ICAgQXJlIGR1bW15IGZ1bmN0aW9u cyByZXR1cm5pbmcgYXNzdW1lZC1sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVy IGxlZ2FsPw0KKiAgUCBFIEY5NS8wMTAyICAgbWFzay1leHByIGV2YWx1YXRlZCBvbmx5IG9uY2UN CiogIFAgRSBGOTAvMDE0NSAgIEV4cHJlc3Npb25zIGluIDx0eXBlLXNwZWM+IG9mIGEgRlVOQ1RJ T04gc3RhdGVtZW50DQoNCiAgVDEgSSBGMDMvMDAwMSAgIEdlbmVyaWMgdHlwZS1ib3VuZCBwcm9j ZWR1cmVzDQogIFQxIEkgRjAzLzAwMDIgICBDb21wb25lbnQgdmFsdWUgZm9yIHBvaW50ZXIgY29t cG9uZW50cw0KKiAgTSBFIEYwMy8wMDAzICAgUmVmZXJlbmNpbmcgZGVmZXJyZWQgYmluZGluZ3MN CiogIE0gRSBGMDMvMDAwNCAgIFR5cGUtYm91bmQgcHJvY2VkdXJlcyBhbmQgdW5kZWZpbmVkDQog ICAgICAgICAgICAgICAgICAgIGFzc29jaWF0aW9uIHN0YXR1cw0KICBUMSBFIEYwMy8wMDA1ICAg QXJndW1lbnQgYXNzb2NpYXRpb24gYW5kIHRoZSBUQVJHRVQgYXR0cmlidXRlDQogIFQxIEUgRjAz LzAwMDYgICBJbnRyaW5zaWMgYXNzaWdubWVudCBhbmQgYWxsb2NhdGFibGUgY29tcG9uZW50cw0K ICBUMSBFIEYwMy8wMDA3ICAgRmluYWxpemF0aW9uIG9mIHN0cnVjdHVyZSBjb25zdHJ1Y3RvcnMg aW4NCiAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbnMNCiAgVDIgRSBGMDMvMDAwOCAg IFBvaW50ZXIgYXNzaWdubWVudCBhbmQgYXJyYXlzDQogIFQxIEUgRjAzLzAwMDkgICBWQUxVRSBh dHRyaWJ1dGUgZm9yIHBhc3NlZC1vYmplY3QgZHVtbXkgYXJndW1lbnRzDQogIFQxIEUgRjAzLzAw MTAgICBVbmxpbWl0ZWQgcG9seW1vcnBoaWMgcG9pbnRlci9hbGxvY2F0YWJsZSBkdW1teQ0KICAg ICAgICAgICAgICAgICAgICBhcmd1bWVudHMNCiAgVDEgRSBGMDMvMDAxMSAgIEFsbG9jYXRpbmcg b2JqZWN0cyBvZiBhYnN0cmFjdCB0eXBlcw0KICBUMiBFIEYwMy8wMDEyICAgUHJvY2VkdXJlIHBv aW50ZXJzIGFuZCB0aGUgRVhURVJOQUwgYXR0cmlidXRlDQogIFQxIEUgRjAzLzAwMTMgICBWQUxV RSBhdHRyaWJ1dGUgZm9yIHBvbHltb3JwaGljIGR1bW15IGFyZ3VtZW50cw0KICBUMSBFIEYwMy8w MDE0ICAgQXV0b21hdGljIGFycmF5cyBpbiBpbnRlcmZhY2UgYm9kaWVzDQogIFQxIEUgRjAzLzAw MTUgICBUQVJHRVQgYXR0cmlidXRlIGZvciBhc3NvY2lhdGUgbmFtZXMNCiAgVDEgRSBGMDMvMDAx NiAgIEludm9raW5nIHR5cGUtYm91bmQgcHJvY2VkdXJlcyB2aWEgYXJyYXkgb2JqZWN0cw0KKiAg UCBFIEYwMy8wMDE3ICAgRHVtbXkgcHJvY2VkdXJlIHBvaW50ZXJzIGFuZCBQUkVTRU5UDQoqICBQ IEMgRjAzLzAwMTggICBNdWx0aXBsZSBpZGVudGljYWwgc3BlY2lmaWMgcHJvY2VkdXJlcyBpbg0K ICAgICAgICAgICAgICAgICAgICB0eXBlLWJvdW5kIGdlbmVyaWMgaW50ZXJmYWNlcw0KKiAgUCBF IEYwMy8wMDE5ICAgTXVsdGlwbGUgaWRlbnRpY2FsIHNwZWNpZmljIHByb2NlZHVyZXMgaW4NCiAg ICAgICAgICAgICAgICAgICAgZ2VuZXJpYyBpbnRlcmZhY2UgYmxvY2tzDQogIFQyIEUgRjAzLzAw MjAgICBLaW5kcyBvZiBpbnRyaW5zaWMgdHlwZSBwYXJhbWV0ZXJzDQoqICBQIEUgRjAzLzAwMjEg ICBXaGF0IGtpbmQgb2YgdG9rZW4gaXMgYSBzdG9wIGNvZGU/DQoqICBQIEkgRjAzLzAwMjIgICBD b2V4aXN0ZW5jZSBvZiBJRUVFIGFuZCBub24tSUVFRSBraW5kcw0KICBUMiBFIEYwMy8wMDIzICAg SUVFRV9TRVQvR0VUX1VOREVSRkxPV19NT0RFDQoqICBQIEkgRjAzLzAwMjQgICBERUFMTE9DQVRF IGFuZCBhcnJheSBwb2ludGVycw0KICBUMiBFIEYwMy8wMDI1ICAgQWJzdHJhY3QgdHlwZXMgaW4g Q0xBU1MgSVMgdHlwZSBndWFyZA0KICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzDQogIFQy IEUgRjAzLzAwMjYgICBJbnRyaW5zaWMgdHlwZXMgaW4gQ0xBU1MgSVMgdHlwZSBndWFyZA0KICAg ICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzDQogIFQyIEUgRjAzLzAwMjcgICBBc3N1bWVkIGNo YXJhY3RlciBsZW5ndGggaW4gdHlwZSBndWFyZA0KICAgICAgICAgICAgICAgICAgICBzdGF0ZW1l bnRzDQogIFQyIEUgRjAzLzAwMjggICBDb21tYXMgaW4gY29tcGxleCBuYW1lbGlzdCBvdXRwdXQN CiAgVDIgRSBGMDMvMDAyOSAgIE5lZ2F0aXZlIHplcm8gYW5kIGludHJpbnNpYyBmdW5jdGlvbnMN CiogIFAgRSBGMDMvMDAzMCAgIElFRUUgZGl2aWRlIGJ5IHplcm8NCiAgVDEgSSBGMDMvMDAzMSAg IElFRUUgaW52YWxpZA0KICBUMSBJIEYwMy8wMDMyICAgU2lnbiBiaXQgb2YgSUVFRSBOYU4NCiAg VDEgSSBGMDMvMDAzMyAgIElFRUVfVkFMVUUoKQ0KKiAgUCBFIEYwMy8wMDM0ICAgSUVFRV9MT0dC KCkNCiAgVDEgSSBGMDMvMDAzNSAgIElFRUVfTkVYVF9BRlRFUigpDQogIFQxIEkgRjAzLzAwMzYg ICBJRUVFX1JFTSgpDQogIFQxIEkgRjAzLzAwMzcgICBJRUVFX1JJTlQoKQ0KICBUMSBJIEYwMy8w MDM4ICAgSUVFRV9TQ0FMQigpDQoqICBQIEUgRjAzLzAwMzkgICBIWVBPVCgpDQogIFQxIEkgRjAz LzAwNDAgICAyLjArMi4wIGFuZCBJRUVFDQogIFQxIEkgRjAzLzAwNDEgICBJRUVFIGhhbHRpbmcg YW5kIGV4Y2VwdGlvbnMNCiogIFAgRSBGMDMvMDA0MiAgIElFRUUgZnVubnkgdmFsdWVzIGFuZCBT dGFuZGFyZCByZWFsIGdlbmVyaWMNCiAgICAgICAgICAgICAgICAgICAgaW50cmluc2ljIHByb2Nl ZHVyZXMNCiAgVDEgRSBGMDMvMDA0MyAgIFBhc3NlZC1vYmplY3QgYXJndW1lbnRzIGFuZCBwcm9j ZWR1cmUNCiAgICAgICAgICAgICAgICAgICAgcG9pbnRlciBjb21wb25lbnRzDQogIFQxIEUgRjAz LzAwNDQgICBJbXBsaWNpdCBpbnRlcmZhY2VzIGFuZCBjb25mbGljdGluZw0KICAgICAgICAgICAg ICAgICAgICByZWZlcmVuY2VzDQogIFQyIEUgRjAzLzAwNDUgICBGaW5hbGl6YXRpb24gYW5kIGFz c3VtZWQtc2l6ZWQNCiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzIHdpdGggSU5URU5UKE9V VCkNCiogIFAgRSBGMDMvMDA0NiAgIFVubGltaXRlZCBwb2x5bW9ycGhpYyBwb2ludGVycyBpbg0K ICAgICAgICAgICAgICAgICAgICBjb21tb24gYmxvY2tzDQoqICBQIEUgRjAzLzAwNDcgICBQb2x5 bW9ycGhpYyBhcmd1bWVudHMgdG8gaW50cmluc2ljDQogICAgICAgICAgICAgICAgICAgIHByb2Nl ZHVyZXMNCiogIFAgRSBGMDMvMDA0OCAgIENvbnRyb2wgZWRpdCBkZXNjcmlwdG9ycyBpbiBVRERU SU8NCiogIEIgRSBGMDMvMDA0OSAgIFNlcGFyYXRvcnMgaW4gbGlzdC1kaXJlY3RlZCBvdXRwdXQN CiAgICAgICAgICAgICAgICAgICAgaW52b2x2aW5nIFVERFRJTw0KKiAgQiBFIEYwMy8wMDUwICAg UXVlc3Rpb25zIGFib3V0IGludGVybmFsIGZpbGVzDQoqICBQIEUgRjAzLzAwNTEgICBSZXBlYXQg c3BlY2lmaWVycyBhbmQgVUREVElPDQogIFQxIEkgRjAzLzAwNTIgICBBRFZBTkNFPSBzcGVjaWZp ZXIgaW4gY2hpbGQgZGF0YQ0KICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBzdGF0ZW1lbnRz DQoqICBQIEUgRjAzLzAwNTMgICBUaGUgQklORCBhdHRyaWJ1dGUgZm9yIENfUFRSIGFuZCBDX0ZV TlBUUg0KICBUMSBFIEYwMy8wMDU0ICAgRGVub3JtYWwgaW5wdXRzIHRvIEVYUE9ORU5ULCBGUkFD VElPTiwNCiAgICAgICAgICAgICAgICAgICAgYW5kIFNFVF9FWFBPTkVOVA0KICBUMSBFIEYwMy8w MDU1ICAgRGVub3JtYWwgaW5wdXRzIHRvIFNQQUNJTkcgYW5kIFJSU1BBQ0lORw0KICBUMiBJIEYw My8wMDU2ICAgTnVsbCBpbnB1dCB2YWx1ZXMgYW5kIGxpc3QtZGlyZWN0ZWQgVUREVElPDQogIFQy IEUgRjAzLzAwNTcgICBOYW1lbGlzdCBJL08gYW5kIFVERFRJTw0KICBUMiBJIEYwMy8wMDU4ICAg UmVjdXJzaXZlIG5hbWVsaXN0IG91dHB1dA0KKiAgUCBFIEYwMy8wMDU5ICAgU3RydWN0dXJlIGNv bXBvbmVudHMgaW4gbmFtZWxpc3QgaW5wdXQNCiAgVDIgRSBGMDMvMDA2MCAgIERlZmF1bHQgaW5p dGlhbGl6YXRpb24gb2YgSU5URU5UKE9VVCksDQogICAgICAgICAgICAgICAgICAgIGFzc3VtZWQt c2l6ZSBhcnJheXMge3N1YnN1bWVkIGJ5DQogICAgICAgICAgICAgICAgICAgIEYwMy8wMDQ1fQ0K ICBUMiBFIEYwMy8wMDYxICAgUG9seW1vcnBoaXNtIGFuZCBleHBsaWNpdC1zaGFwZSBvcg0KICAg ICAgICAgICAgICAgICAgICBhc3N1bWVkLXNpemUgZHVtbXkgYXJndW1lbnRzDQogIFQyIEUgRjAz LzAwNjIgICBGaW5hbGl6YXRpb24gb2YgYXJyYXkgY29uc3RydWN0b3JzDQogICBQIEUgRjAzLzAw NjMgICBQcm9jZWR1cmUgcG9pbnRlcnMgaW4gQkxPQ0sgREFUQSBwcm9ncmFtDQogICAgICAgICAg ICAgICAgICAgIHVuaXRzDQoqICBQIEUgRjAzLzAwNjQgICBSZWN1cnNpdmUgZGVjbGFyYXRpb24g b2YgcHJvY2VkdXJlIGludGVyZmFjZXMNCiogIFAgICBGMDMvMDA2NSAgIFJlbGF0aW9uYWwgZXF1 aXZhbGVuY2UNCiAgVDIgSSBGMDMvMDA2NiAgIFByZWNpc2lvbiBvZiBvcGVyYXRpb24NCiAgVDIg SSBGMDMvMDA2NyAgIEFjY3VyYWN5IG9mIGNvbnZlcnNpb24gb2YgcmVhbCBsaXRlcmFsIGNvbnN0 YW50cw0KICBUMiBFIEYwMy8wMDY4ICAgRmlyc3QgY2hhcmFjdGVyIG9mIG5hbWVsaXN0IG91dHB1 dCByZWNvcmRzDQogIFQyIEUgRjAzLzAwNjkgICBQcm9jZWR1cmUgcG9pbnRlcnMgaW4gZGVmaW5l ZCBhc3NpZ25tZW50DQogIFQyIEUgRjAzLzAwNzAgICBDYW4gY2hpbGQgSS9PIHN0YXRlbWVudHMg YmUgYWR2YW5jaW5nIEkvTw0KICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzPw0KKiAgUCBJ IEYwMy8wMDcxICAgU3Vicm91dGluZS9mdW5jdGlvbiBhbWJpZ3VpdHkgaW4gZ2VuZXJpY3MNCiAg VDIgRSBGMDMvMDA3MiAgIERlZmF1bHQgaW5pdGlhbGl6YXRpb24gZm9yICJhdXRvbWF0aWMiIGNv bXBvbmVudHMNCiogIFAgRSBGMDMvMDA3MyAgIEMgaW50ZXJvcCBvZiBkdW1teSBwcm9jZWR1cmVz DQoqICBQIEUgRjAzLzAwNzQgICBUeXBlIG1pc21hdGNoIGZvciBDIGNoYXJhY3RlciBhcmd1bWVu dHMNCiogIFAgRSBGMDMvMDA3NSAgIEMgaW50ZXJvcCBvZiBkZXJpdmVkIHR5cGVzIHdpdGggYXJy YXkgY29tcG9uZW50cw0KKiAgUCBDIEYwMy8wMDc2ICAgU2NvcGUgb2YgRm9ydHJhbiBuYW1lcyBv ZiBwcm9jZWR1cmVzIHdpdGggYmluZGluZw0KICAgICAgICAgICAgICAgICAgIGxhYmVscw0KKiAg UCBFIEYwMy8wMDc3ICAgTEJPVU5EIG9mIGFycmF5IHN0cnVjdHVyZSBjb21wb25lbnQNCiogIFAg QyBGMDMvMDA3OCAgIElFRUVfU1VQUE9SVF9EQVRBVFlQRSB2cy4gbWF0aGVtYXRpY2FsIGVxdWl2 YWxlbmNlDQoqICBNIEUgRjAzLzAwNzkgICBWYWx1ZSBvZiBkZWNpbWFsIGV4cG9uZW50IGZvciBh IHJlYWwgemVybyB2YWx1ZQ0KKiAgTSBJIEYwMy8wMDgwICAgRm9ybWF0dGVkIG91dHB1dCBvZiBh IG5lZ2F0aXZlIHJlYWwgemVybyB2YWx1ZQ0KKiAgUCBDIEYwMy8wMDgxICAgRiBlZGl0IGRlc2Ny aXB0b3Igd2l0aCBmaWVsZCB3aWR0aCAwDQoqICBQIEUgRjAzLzAwODIgICBWQUxVRSBpbiBwbGFj ZSBvZiBJTlRFTlQgZm9yIHB1cmUgcHJvY2VkdXJlIGR1bW15DQogICAgICAgICAgICAgICAgICAg YXJndW1lbnRzDQogICBYIEMgRjAzLzAwODMgICBJbnRlcnByZXRhdGlvbiByZXF1ZXN0IGNvbmNl cm5pbmcgREFUQSB7d2l0aGRyYXduDQogICAgICAgICAgICAgICAgICAgYnkgc3VibWl0dGVyfQ0K KiAgUCBJIEYwMy8wMDg0ICAgSUVFRV9TRVRfUk9VTkRJTkdfTU9ERSBpbiBhIHN1YnJvdXRpbmUN CiogIFAgSSBGMDMvMDA4NSAgIEZpbmFsaXppbmcgdGFyZ2V0cyBvZiBwb2ludGVyIG9yIGFsbG9j YXRhYmxlDQogICAgICAgICAgICAgICAgICAgYWN0dWFsIGFyZ3VtZW50cw0KKiAgQiBFIEYwMy8w MDg2ICAgRWxlbWVudGFsIGFuZCBCSU5EKEMpDQoqICBQIEUgRjAzLzAwODcgICBFbnRyeSBuYW1l cyBhcyBkdW1teSBwcm9jZWR1cmUgYXJndW1lbnRzDQoqICBCIEUgRjAzLzAwODggICBEZWZpbmVk IG9wZXJhdGlvbnMvYXNzaWdubWVudHMgYW5kDQogICAgICAgICAgICAgICAgICAgVk9MQVRJTEUv QVNZTkNIUk9OT1VTDQoqICBCIEUgRjAzLzAwODkgICBJbnRlcm9wZXJhYmlsaXR5IG9mIG5vbi1C SU5EIGRlcml2ZWQgdHlwZXMNCiogIFAgRSBGMDMvMDA5MCAgIFBvbHltb3JwaGljIGFycmF5IGNv bnN0cnVjdG9ycw0KKiAgUCBFIEYwMy8wMDkxICAgQXJyYXkgY29tcG9uZW50cyBjYW5ub3QgZGVw ZW5kIG9uIGxlbmd0aCB0eXBlDQogICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycw0KKiAgQiBF IEYwMy8wMDkyICAgUHJvY2VkdXJlIGNoYXJhY3RlcmlzdGljcyBhbmQgdW5saW1pdGVkDQogICAg ICAgICAgICAgICAgICAgcG9seW1vcnBoaWMNCiogIEIgRSBGMDMvMDA5MyAgIEFsbG9jYXRhYmxl IGFycmF5IG9uIGludHJpbnNpYyBhc3NpZ25tZW50IHdpdGgNCiAgICAgICAgICAgICAgICAgICBz Y2FsYXIgZXhwcg0KKiAgQiBFIEYwMy8wMDk0ICAgRmluYWwgc3Vicm91dGluZSBhbmQgVkFMVUUg YXR0cmlidXRlDQoqICBCIEkgRjAzLzAwOTUgICBCb3VuZHMgcmVtYXBwZWQgcG9pbnRlciBhc3Np Z25tZW50IGFuZCBBU1NPQ0lBVEVEDQoqICBQIEUgRjAzLzAwOTYgICBDYW4gYSByZWFkIHN0YXRl bWVudCBjaGFuZ2UgdGhlIHVuaXQgdmFsdWU/DQoqICBCIEUgRjAzLzAwOTcgICBCbGFua3MgYXMg c2VwYXJhdG9ycyBpbiBOQU1FTElTVCBpbnB1dA0KKiAgQiBFIEYwMy8wMDk4ICAgRG9lcyBhbGxv Y2F0ZSB3aXRoIHNvdXJjZT0gZGVmaW5lIHN1YmNvbXBvbmVudHM/DQoqICBNIEUgRjAzLzAwOTkg ICBDbGF1c2UgMTYgZG9lcyBub3QgYWNjb3VudCBmb3Igdm9sYXRpbGUgdmFyaWFibGUNCiogIE0g RSBGMDMvMDEwMCAgIEVycm9yIGluIGZpZWxkIHdpZHRoIGZvciBzcGVjaWFsIGNhc2VzIG9mIHNp Z25lZA0KICAgICAgICAgICAgICAgICAgIElORklOSVRZIG91dHB1dA0KKiAgQiBFIEYwMy8wMTAx ICAgSXMgVUREVElPIG91dHB1dCBzdWl0YWJsZSBmb3IgbmFtZWxpc3QgYW5kDQogICAgICAgICAg ICAgICAgICAgbGlzdC1kaXJlY3RlZCBpbnB1dA0KKiAgTSBFIEYwMy8wMTAyICAgRXZhbHVhdGlv biBvZiBib3VuZC1leHByIGluIGRhdGEgcG9pbnRlcg0KICAgICAgICAgICAgICAgICAgIGFzc2ln bm1lbnQNCiogIE0gRSBGMDMvMDEwMyAgIFJlc3RyaWN0aW9ucyBvbiBkdW1teSBhcmd1bWVudHMg bm90IHByZXNlbnQgZm9yDQogICAgICAgICAgICAgICAgICAgcG9seW1vcnBoaWMgdHlwZSBvciBw YXJhbWV0ZXJpemVkIGRlcml2ZWQgdHlwZQ0KKiAgTSBJIEYwMy8wMTA0ICAgRGVhbGxvY2F0aW9u IGFuZCBmaW5hbGl6YXRpb24gb2YgYm91bmRzLXJlbWFwcGVkDQogICAgICAgICAgICAgICAgICAg cG9pbnRlcnMNCiogIE0gRSBGMDMvMDEwNSAgIFNJWkU9IHNwZWNpZmllciBhbmQgVUREVElPDQoq ICBNIEUgRjAzLzAxMDYgICBJbnF1aXJlIGJ5IHVuaXQgaW5jb25zaXN0ZW5jaWVzDQoqICBNIEUg RjAzLzAxMDcgICBBcmUgdGhlIElFRUVfKiBlbGVtZW50YWwgcm91dGluZXMgcmVxdWlyZWQNCiog IE0gQyBGMDMvMDEwOCAgIElzIElFRUVfU1VQUE9SVF9OQU4gY29uc2lzdGVudCB3aXRoIHRoZSBv dGhlcg0KICAgICAgICAgICAgICAgICAgIElFRUVfU1VQUE9SVCBmdW5jdGlvbnMNCiogIE0gRSBG MDMvMDEwOSAgIFJlZmVyZW5jaW5nIGRlZmVycmVkIGJpbmRpbmcgdmlhIGFic2VudCBkdW1teQ0K ICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50DQoNCkhlcmUgaXMgdGhlIGNvbXBsZXRlIGluZGV4 IHRvIHRoZSBGOTUgaW50ZXJwczoNCg0KTiAgUyBUIG51bWJlciAgICAgdGl0bGUNCi0gIC0gLSAt LS0tLS0gICAgIC0tLS0tDQoNCmQgIFAgSSAwMDAwMDBlICAgIFJlamVjdGVkIE1pbm9yIGVkaXRz IGFuZCBjb3JyZWN0aW9ucw0KICBDMSBJIDAwMDAwMSAgICAgVmlzaWJpbGl0eSBvZiBhIGRhdGEg b2JqZWN0IHdpdGggc3RhdGVtZW50IHNjb3BlDQogIEMyIEkgMDAwMDAyICAgICBGcmVlIHNvdXJj ZSBmb3JtIHJlcXVpcmVtZW50IGZvciBibGFuayBpbiBQUklOVA0KICAgICAgICAgICAgICAgICAg ICBzdGF0ZW1lbnQNCiAgQzEgSSAwMDAwMDMgICAgIEFiaWxpdHkgdG8gb3ZlcmxvYWQgdGhlIGNo YXJhY3RlciBvcGVyYXRvciAvLw0KZCAgVyBJIDAwMDAwNCAgICAgVmFsdWUgcmV0dXJuZWQgYnkg TUFYVkFML01JTlZBTA0KICBDMSBJIDAwMDAwNSAgICAgVmFsdWUgcmV0dXJuZWQgYnkgU0VMRUNU RURfUkVBTF9LSU5EDQpkICBXIEkgMDAwMDA2ICAgICBDaGFyYWN0ZXIgbGVuZ3RoIHNwZWNpZmlj YXRpb24gb2YgYSBmdW5jdGlvbiByZXN1bHQNCiAgQzIgSSAwMDAwMDcgICAgIE9wdGlvbmFsIGlu dHJpbnNpYyBmdW5jdGlvbiBhcmd1bWVudHMNCmQgIFcgSSAwMDAwMDggICAgIE9wdGlvbmFsIGFy Z3VtZW50cyB0byBNQVgvTUlODQogIEMyIEkgMDAwMDA5ICAgICBJTlRFTlQgb2YgTU9MRCBhcmd1 bWVudCB0byBUUkFOU0ZFUg0KICBDMiBFIDAwMDAxMCAgICAgTWVhbmluZyBvZiBlbWJlZGRlZCBi bGFua3MgaW4gbmFtZWxpc3QgaW5wdXQgbmFtZQ0KICBDMiBFIDAwMDAxMSAgICAgRyBlZGl0aW5n IHR5cG8NCiAgQzIgRSAwMDAwMTIgICAgIEV2YWx1YXRpb24gb2YgSW50cmluc2ljIFByb2NlZHVy ZXMNCiAgIFggICAwMDAwMTMgICAgIEZvcm1hdCBvZiB6ZXJvIGluIGxpc3QtZGlyZWN0ZWQgYW5k IG5hbWVsaXN0IG91dHB1dA0KICAgICAgICAgICAgICAgICAgICB7cmVtb3ZlZCBjb21wbGV0ZWx5 IC0gcXVlc3Rpb25zIGR1cGxpY2F0ZWQgaW4NCiAgICAgICAgICAgICAgICAgICAgIDAwMDA2NyBp biBDMn0NCiAgQzIgICAwMDAwMTQgICAgIEZvcm1hdCBvZiBjb21wbGV4IG51bWJlcnMgaW4gbGlz dC1kaXJlY3RlZCBhbmQNCiAgICAgICAgICAgICAgICAgICAgbmFtZWxpc3Qgb3V0cHV0DQogIEMy ICAgMDAwMDE1ICAgICBDb21tYXMgaW4gbGlzdC1kaXJlY3RlZCBvdXRwdXQNCiAgIFggICAwMDAw MTYgICAgIENvbXBsZXRlbHkgcmVtb3ZlZCAtIGR1cGxpY2F0ZSBvZiAwMDAwNzENCmQgIFcgSSAw MDAwMTcgICAgIENoYXJhY3RlcmlzdGljcyBvZiBhbiBhcnJheSBmdW5jdGlvbiByZXN1bHQNCiAg QzIgRSAwMDAwMTggICAgIEVMRU1FTlRBTCBwcm9jZWR1cmVzIHdpdGggbm8gYXJndW1lbnRzDQog IEMyIEUgMDAwMDE5ICAgICBSZXN1bHQgb2YgTlVMTCBpbnRyaW5zaWMgYXNzb2NpYXRlZCB3aXRo DQogICAgICAgICAgICAgICAgICAgIENIQVJBQ1RFUigqKSBkdW1teSBhcmd1bWVudA0KICBDMiBF IDAwMDAyMCAgICAgRXhlY3V0aW9uIG9mIGEgV0hFUkUgc3RhdGVtZW50IHdpdGhpbiBhIFdIRVJF DQogICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdA0KICBDMiBFIDAwMDAyMSAgICAgUmVzdHJp Y3Rpb25zIG9uIDxnZW5lcmljLXNwZWM+IG9uIEVORCBJTlRFUkZBQ0UNCiAgQzIgRSAwMDAwMjIg ICAgIFVzZSBvZiBOVUxMKCkgYXMgaW5pdGlhbGl6YXRpb24NCmQgIFcgSSAwMDAwMjMgICAgIFRl cm1pbmF0aW9uIG9mIHRoZSBwcmV2aW91cyByZWNvcmQgYnkgYSBXUklURQ0KICAgICAgICAgICAg ICAgICAgICBzdGF0ZW1lbnQNCiAgQzIgRSAwMDAwMjQgICAgIFRlcm1pbmF0aW9uIG9mIGEgcGFy dGlhbCByZWNvcmQgYnkgYSBDTE9TRSwNCiAgICAgICAgICAgICAgICAgIEJBQ0tTUEFDRSwgRU5E RklMRSwgb3IgUkVXSU5EIHN0YXRlbWVudA0KICBDMiBFIDAwMDAyNSAgICAgTGlzdC1kaXJlY3Rl ZCBpbnB1dDogdHlwZXMgb2YgdmFyaWFibGVzDQogICAgICAgICAgICAgICAgICAgIGNvcnJlc3Bv bmRpbmcgdG8gcmVwZWF0ZWQgdmFsdWVzDQogIEMyIEkgMDAwMDI2ICAgICBMaXN0LWRpcmVjdGVk IGlucHV0OiB0eXBlcyBvZiB2YXJpYWJsZXMNCiAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9u ZGluZyB0byByZXBlYXRlZCB2YWx1ZXMNCiAgQzIgQyAwMDAwMjcgICAgIFNlcXVlbnRpYWwgZm9y bWF0dGVkIEkvTzogcG9zaXRpb24gb2YgdGhlIGxlZnQgdGFiDQogIEMyIEMgMDAwMDI4ICAgICBJ bXBsaWNpdGx5IFR5cGVkIFN0YXRlbWVudCBGdW5jdGlvbiBDaGFyYWN0ZXIgRHVtbXkNCiAgQzIg QyAwMDAwMjkgICAgIEFzc29jaWF0aW9uIG9mIGEgcG9pbnRlciBhY3R1YWwgYXJndW1lbnQgd2l0 aCBhDQogICAgICAgICAgICAgICAgICAgIGR1bW15IGFyZ3VtZW50DQpXIFQxIEUgMDAwMDMwICAg ICBPcmRlcmluZyByZXF1aXJlbWVudHMgb24gZGVmaW5pdGlvbiBvZg0KICAgICAgICAgICAgICAg ICAgICBzcGVjaWZpY2F0aW9uIGZ1bmN0aW9ucw0KKiAgWCAgIDAwMDAzMSAgICAgQXNzb2NpYXRp b24gb2YgcG9pbnRlciBmdW5jdGlvbiByZXN1bHQgd2l0aA0KICAgICAgICAgICAgICAgICAgICBJ TlRFTlQoT1VUKSBkdW1teSBhcmd1bWVudCAoc3Vic3VtZWQgYnkgMDAwMDc0KQ0KICBDMiAgIDAw MDAzMiAgICAgSXMgdGhlIFRSQU5TRkVSIGZ1bmN0aW9uIHJlc3VsdCB1bmRlZmluZWQ/DQogIEMy IEUgMDAwMDY2ICAgICBFcnJvcnMgaW4gcHJvY2Vzc2luZyBkYXRhIHRyYW5zZmVyIHN0YXRlbWVu dHMNCiAgQzIgRSAwMDAwNjcgICAgIFdyaXRpbmcgemVyb3MNCmQgIFcgSSAwMDAwNjggICAgIEFz dGVyaXNrcyBhcyBJL08gdW5pdHMNCiAgQzEgRSAwMDAwNjkgICAgIFdoYXQgaXMgYSBudW1lcmlj IGNoYXJhY3Rlcj8NCiAgQzEgRSAwMDAwNzAgICAgIEFzeW1tZXRyeSBiZXR3ZWVuIGNvbnN0YW50 IHNwZWNpZmljYXRpb24gYW5kDQogICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGV4 cHJlc3Npb25zDQogIEMyIEUgMDAwMDcxICAgICBDaGFyYWN0ZXIgYXJyYXkgY29uc3RydWN0b3Jz DQogIEMxIEUgMDAwMDcyICAgICBSZXNvbHZpbmcgZ2VuZXJpYyBwcm9jZWR1cmUgcmVmZXJlbmNl cw0KICBDMiAgIDAwMDA3MyAgICAgSXMgcGFkZGluZyBhbGxvd2VkIGluIHN0b3JhZ2Ugc2VxdWVu Y2VzPw0KKiAgUCBJIDAwMDA3NCAgICAgVEFSR0VUIGR1bW15IGFyZ3VtZW50cyBhbmQgUE9JTlRF UiBleHByZXNzaW9ucw0KICBDMiAgIDAwMDA3NSAgICAgRGVmaW5lZCBhc3NpZ25tZW50IGFuZCBJ TlRFTlQoSU4pIGR1bW15IGFyZ3VtZW50cw0KICAgICAgICAgICAgICAgICAgICBpbiBQVVJFIHBy b2NlZHVyZXMNCiAgQzEgRSAwMDAwNzYgICAgIElOVEVOVChJTikgZHVtbXkgYXJndW1lbnRzIGFu ZCBpbXBsaWVkIERPIGxvb3BzDQogIEMxIEUgMDAwMDc3ICAgICBJTlRFTlQoSU4pIGR1bW15IGFy Z3VtZW50cyBhbmQgTlVMTElGWQ0KVyBUMSBFIDAwMDA3OCAgICAgUmVzb2x2aW5nIGdlbmVyaWMg cHJvY2VkdXJlIHJlZmVyZW5jZXMNCiAgQzEgRSAwMDAwNzkgICAgIFBvaW50ZXIgQXNzaWdubWVu dCBhbmQgQWxsb2NhdGFibGUgQXJyYXlzDQogIEMxIEUgMDAwMDgwICAgICBIb3N0IGFzc29jaWF0 aW9uIGFuZCB0aGUgRVhURVJOQUwgYXR0cmlidXRlDQogIEMyIEUgMDAwMDgxICAgICBEZWZpbml0 aW9uIHN0YXR1cyBvZiBkZXJpdmVkLXR5cGUgb2JqZWN0cyB3aXRoDQogICAgICAgICAgICAgICAg ICAgIHBvaW50ZXIgY29tcG9uZW50cw0KICBDMSBFIDAwMDA4MiAgICAgVXNhZ2Ugb2YgQk9aIGxp dGVyYWwgY29uc3RhbnRzDQogIEMxIEUgMDAwMDgzICAgICBTY29wZSBvZiBhcnJheS1jb25zdHJ1 Y3RvciBpbXBsaWVkLURPIHZhcmlhYmxlDQogIEMxIEUgMDAwMDg0ICAgICBFdmVudHMgdGhhdCBj YXVzZSB2YXJpYWJsZXMgdG8gYmUgZGVmaW5lZA0KICBDMiBFIDAwMDA4NSAgICAgUHVibGljIGNv bXBvbmVudHMgb2YgcHJpdmF0ZSB0eXBlcw0KICBDMiBFIDAwMDA4NiAgICAgRGVmaW5pdGlvbiBz dGF0dXMgcmVxdWlyZW1lbnRzIGZvciBkZWZpbmVkDQogICAgICAgICAgICAgICAgICAgIG9wZXJh dGlvbnMNCiAgQzIgRSAwMDAwODcgICAgIE1PRCBhbmQgTU9EVUxPIGludHJpbnNpYyBmdW5jdGlv bnMgd2l0aCB6ZXJvIGRpdmlzb3INCiAgQzIgRSAwMDAwODggICAgIElOVFJJTlNJQyBzdGF0ZW1l bnQgYW5kIGF0dHJpYnV0ZQ0KICBDMiBDIDAwMDA4OSAgICAgUnVsZXMgYWxsb3dpbmcgZHVwbGlj YXRlIG5hbWVzDQogIEMyIEUgMDAwMDkwICAgICBXaGF0IGRvIGBQcmlvciBTcGVjaWZpY2F0aW9u JyBhbmQgYGRlZmluZWQNCiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNseScgbWVhbj8NCiAg QzIgRSAwMDAwOTEgICAgIERlZmluaXRpb24gb2YgInByZXNlbnQiIGlzIGRlZmVjdGl2ZQ0KICBD MiBFIDAwMDA5MiAgICAgVmFsdWVzIG9mIHRoZSBQQUQ9IFNwZWNpZmllciBpbiB0aGUgSU5RVUlS RQ0KICAgICAgICAgICAgICAgICAgICBTdGF0ZW1lbnQNCiAgQzIgRSAwMDAwOTMgICAgIEFsbG9j YXRhYmxlIGFycmF5cyBhcyBhY3R1YWwgYXJndW1lbnRzDQogIEMyIEUgMDAwMDk0ICAgICBOVUxM IGludHJpbnNpYyBpbiBpbml0aWFsaXphdGlvbiBleHByZXNzaW9ucw0KICBDMiBFIDAwMDA5NSAg ICAgTmFtZXMgb2YgZnVuY3Rpb25zLCByZXN1bHRzIGFuZCBlbnRyeSBwb2ludHMNClcgVDEgRSAw MDAwOTYgICAgIEVuZC1vZi1yZWNvcmQgYW5kIFBBRA0KICBDMiBFIDAwMDA5NyAgICAgT3BlbiBT Y3JhdGNoIEZpbGUgRXhhbXBsZQ0KKiAgUCAgIDAwMDA5OCAgICAgQXJlIGR1bW15IGZ1bmN0aW9u cyByZXR1cm5pbmcgYXNzdW1lZC1sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVy IGxlZ2FsPw0KZCAgVyBFIDAwMDA5OSAgICAgU1RBVD0gdmFyaWFibGUgcmVxdWlyZW1lbnRzIGlu IEFMTE9DQVRFDQpkICBXIEUgMDAwMTAwICAgICBUQVJHRVQgYXR0cmlidXRlIGFuZCBzdHJ1Y3R1 cmUgY29tcG9uZW50cw0KZCAgVyBFIDAwMDEwMSAgICAgR2VuZXJpYyByZXNvbHV0aW9uDQoqICBQ IEUgMDAwMTAyICAgICBtYXNrLWV4cHIgZXZhbHVhdGVkIG9ubHkgb25jZQ0KZCAgVyBFIDAwMDEw MyAgICAgRGVyaXZlZCB0eXBlIG5hbWUgRE9VQkxFUFJFQ0lTSU9ODQpkICBXIEkgMDAwMTA0ICAg ICBSZXByZXNlbnRhdGlvbiBtZXRob2Qgb2YgcmVzdWx0IG9mIFJFQUwNCmQgIFcgSSBGOTAvMDAw MDQ5IENoYXJhY3RlcmlzdGljcyBvZiBmdW5jdGlvbiByZXN1bHRzDQpkICBXIEkgRjkwLzAwMDA3 MCBDaGFyYWN0ZXJpc3RpY3Mgc3BlY2lmaWVkIGJ5IGludGVyZmFjZSBib2RpZXMNCmQgIFcgSSBG OTAvMDAwMDk2IERlZmluaXRpb24gb2YgIkRlY2xhcmF0aW9uIg0KICBDMSBJIEY5MC8wMDAxMDAg QVNTT0NJQVRFRCBpbnRyaW5zaWMgYW5kIHplcm8tc2l6ZWQgb2JqZWN0cw0KZCAgVyBJIEY5MC8w MDAxNDAgVEFSR0VUIGF0dHJpYnV0ZSBmb3IgYSBkZXJpdmVkLXR5cGUgb2JqZWN0IHdpdGggYQ0K ICAgICAgICAgICAgICAgICAgICBwb2ludGVyIGNvbXBvbmVudA0KKiAgUCBFIEY5MC8wMDAxNDUg RXhwcmVzc2lvbnMgaW4gPHR5cGUtc3BlYz4gb2YgYSBGVU5DVElPTiBzdGF0ZW1lbnQNCiAgQzIg QyBGOTAvMDAwMTY0IFVzZSBvZiBPTkxZIHdpdGggbXVsdGlwYXJ0IGRlZmluaXRpb25zDQogIEMx IEkgRjkwLzAwMDE3OSBETyB2YXJpYWJsZSB3aXRoIFBPSU5URVIgYXR0cmlidXRlDQpkICBXIEkg RjkwLzAwMDE4MCBVbmFtYmlndW91cyBnZW5lcmljIHJlZmVyZW5jZXMNCiAgQzEgSSBGOTAvMDAw MTg1IFdoYXQgaXMgdGhlIGFsbG9jYXRpb24gc3RhdHVzIG9mIGFuIGFycmF5IGFmdGVyIGFuDQog ICAgICAgICAgICAgICAgICAgIGFsbG9jYXRpb24gZmFpbHVyZT8NCiAgQzIgSSBGOTAvMDAwMTkw IFN1Ym9iamVjdHMgb2YgY29uc3RhbnRzIGluIGEgREFUQSBzdGF0ZW1lbnQNCiAgQzIgSSBGOTAv MDAwMTkxIEludGVyYWN0aW9uIG9mIFNFUVVFTkNFIGRlcml2ZWQgdHlwZXMgYW5kIHJlbmFtZQ0K ICBDMSBJIEY5MC8wMDAxOTQgU3RhdGVtZW50cyBiZXR3ZWVuIFNFTEVDVCBDQVNFIGFuZCBDQVNF DQogIEMyIEMgRjkwLzAwMDE5NiBJbmFjY2Vzc2liaWxpdHkgb2YgaW50cmluc2ljIHByb2NlZHVy ZXMNCiAgQzIgICBGOTAvMDAwMTk3IFJlbGF0aW9uc2hpcCBvZiBORUFSRVNUIGFuZCBTUEFDSU5H DQogIEMyIEUgRjkwLzAwMDIwNCBNZWFuaW5nIG9mICJzYW1lIHZhcmlhYmxlIiBkZXNjcmlwdGlv biBvZiBNVkJJVFMNCiAgQzIgRSBGOTAvMDAwMjA1IFJlc3RyaWN0aW9ucyBvbiBFWFRFUk5BTA0K ZCAgVyBJIEY5MC8wMDAyMDYgQ29sbGF0aW5nIHNlcXVlbmNlIGluY29uc2lzdGVuY2llcw0KVyBU MSBFIEY5MC8wMDAyMDcgSW50ZWdlciBiaXQtbW9kZWwgaW5jb25zaXN0ZW5jeQ0KZCAgVyBJIEY5 MC8wMDAyMDggbm9uYWR2YW5jaW5nIG91dHB1dCBmb2xsb3dlZCBieSBsaXN0IGRpcmVjdGVkIG91 dHB1dA0KICBDMiBFIEY5MC8wMDAyMDkgU1RPUHxQQVVTRSBpbiBJL08gc3RhdGVtZW50DQpkICBX IEkgRjkwLzAwMDIxMCBub25hZHZhbmNpbmcgd3JpdGUgZm9sbG93ZWQgYnkgbGlzdCBkaXJlY3Rl ZCB3cml0ZQ0KICBDMiBFIEY5MC8wMDAyMTEgTXVsdGlwbGUgTU9EVUxFIFBST0NFRFVSRSBzcGVj cw0KICBDMiBDIEY5MC8wMDAyMTIgRVFVSVZBTEVOQ0Ugb2YgRGF0YSBPYmplY3RzIG9mIERpZmZl cmVudCBUeXBlcyBvcg0KICAgICAgICAgICAgICAgICAgICBLaW5kcw0KICBDMiBFIEpQLTA0ICAg ICAgQ29uc3RydWN0aW9uIG9mIGRlcml2ZWQtdHlwZSB2YWx1ZXMNCiAgQzIgSSBKUC0wNSAgICAg IENvbnN0cnVjdGlvbiBvZiBhcnJheSB2YWx1ZXMNCiAgQzIgRSBKUC0wNiAgICAgIFR5cGUgZGVj bGFyYXRpb24gc3RhdGVtZW50cw0KICBDMiBFIEpQLTA4ICAgICAgVHlwZSBkZWNsYXJhdGlvbiBz dGF0ZW1lbnRzDQogIEMyICAgSlAtMTIgICAgICBCb3VuZHMgb2YgZWFjaCBkaW1lbnNpb24gb2Yg YW4gYXJyYXkgcG9pbnRlcg0KICBDMiBFIEpQLTE2ICAgICAgTXVsdGlwbGUgb2NjdXJyZW5jZSBv ZiBuYW1lbGlzdC1ncm91cC1uYW1lIGluDQogICAgICAgICAgICAgICAgICAgIE5BTUVMSVNUIHN0 YXRlbWVudA0KZCAgVyBJIEpQLTE3ICAgICAgTXVsdGlwbGUgb2NjdXJyZW5jZSBvZiBuYW1lbGlz dCBncm91cCBvYmplY3QgaW4NCiAgICAgICAgICAgICAgICAgICAgbmFtZWxpc3QgZ3JvdXANCmQg IFcgRSBKUC0yNCAgICAgIFRoZSBibmYgdGVybSBzaGFyZWQtdGVybS1kby1jb25zdHJ1Y3QNCiAg QzIgRSBKUC0zMSAgICAgIFNpZ25zIG9mIGxpdGVyYWwgY29uc3RhbnRzDQogICBYICAgSlAtMzkg ICAgICBXaXRoZHJhd24gYnkgc3VibWl0dGVyDQoNCg0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUGFydCAxOiBJ bnRlcnByZXRhdGlvbiBQcm9jZXNzaW5nIFJ1bGVzDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCjAuIEFsbCBp bnRlcnByZXRhdGlvbnMgYXJlIGxpc3RlZCBpbiBKMyBzdGFuZGluZyBkb2N1bWVudCAwMDYuDQoN CjEuIEludGVycHJldGF0aW9ucyBhcmUgcHJvY2Vzc2VkIGJ5IHRoZSBKMy9pbnRlcnAgZ3JvdXAg YW5kIGdpdmVuIGENCiAgIG51bWJlci4gIFRoZSBpbnRlcnByZXRhdGlvbiBpcyBtYXJrZWQgIkoz IGNvbnNpZGVyYXRpb24gaW4NCiAgIHByb2dyZXNzIi4gIEFuIGFuc3dlciBpcyBmb3JtdWxhdGVk IGFuZCBwcmVzZW50ZWQgdG8gSjMgaW4gYQ0KICAgbWVldGluZyBwYXBlci4NCg0KMi4gSjMgdm90 ZXMgb24gdGhlIGFuc3dlciBhdCBhIEozIG1lZXRpbmc7IGEgc2ltcGxlIG1ham9yaXR5IHZvdGUN CiAgIG1hcmtzIHRoZSBhbnN3ZXIgYXMgInBhc3NlZCBieSBKMyBtZWV0aW5nIi4NCg0KMy4gQmV0 d2VlbiBKMyBtZWV0aW5ncyB0aGUgY2hhaXIgb2YgL2ludGVycCBzZW5kcyBhIEozIGxldHRlciBi YWxsb3QNCiAgIHRvIEozIHRvIGFwcHJvdmUgaW50ZXJwIGFuc3dlcnMgdGhhdCBoYXZlIGJlZW4g InBhc3NlZCBieSBKMw0KICAgbWVldGluZyIuICBUaGUgbGV0dGVyIGJhbGxvdCBydW5zIGZvciAz MCBkYXlzLiAgTm90IHZvdGluZyBvbg0KICAgdGhyZWUgb2YgZm91ciBjb25zZWN1dGl2ZSBKMyBs ZXR0ZXIgYmFsbG90cyBpcyBncm91bmRzIHRvDQogICB0ZXJtaW5hdGUgSjMgbWVtYmVyc2hpcC4g IEFuIGludGVycCBhbnN3ZXIgcGFzc2VzIGJ5IGEgMi8zcmRzDQogICB2b3RlOyBhIG5vIHZvdGUg bXVzdCBiZSBhY2NvbXBhbmllZCBieSBhbiBleHBsYW5hdGlvbiBvZiB0aGUNCiAgIGNoYW5nZXMg bmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGUgbWVtYmVyJ3Mgdm90ZSB0byB5ZXMuDQoNCiAgIEozL2lu dGVycCByZXNlcnZlcyB0aGUgcmlnaHQgdG8gcmVjYWxsIGFuIGludGVycCBhbnN3ZXIgZm9yIG1v cmUNCiAgIHN0dWR5IGV2ZW4gaWYgdGhlIGFuc3dlciBwYXNzZXMuDQoNCjQuIFRoZSBjaGFpciBv ZiBKMy9pbnRlcnAgZ2F0aGVycyBhbGwgaW50ZXJwIGFuc3dlcnMgdGhhdCBhcmUgbWFya2VkDQog ICAicGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QiIGFuZCBmb3J3YXJkcyB0aGVtIHRvIHRoZSBX RzUNCiAgIGNvbnZlbm9yLiAgVGhlIFdHNSBjb252ZW5vciBob2xkcyBhIGJhbGxvdCBvZiBpbmRp dmlkdWFsIG1lbWJlcnM7DQogICBhIG5vIHZvdGUgbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhbiBl eHBsYW5hdGlvbiBvZiB0aGUgY2hhbmdlcw0KICAgbmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGUgbWVt YmVyJ3Mgdm90ZSB0byB5ZXMuICBUaGUgYW5zd2VycyB0aGF0DQogICBwYXNzIHRoaXMgYmFsbG90 IGJlY29tZSAiV0c1IGFwcHJvdmVkIi4NCg0KICAgSjMvaW50ZXJwIHJlc2VydmVzIHRoZSByaWdo dCB0byByZWNhbGwgYW4gaW50ZXJwIGFuc3dlciBmb3IgbW9yZQ0KICAgc3R1ZHkgZXZlbiBpZiB0 aGUgYW5zd2VyIHBhc3Nlcy4NCg0KNS4gIldHNSBhcHByb3ZlZCIgYW5zd2VycyBhcmUgcHJvY2Vz c2VkIGludG8gYSBjb3JyaWdlbmR1bSBkb2N1bWVudA0KICAgYnkgdGFraW5nIHRoZSBlZGl0cyBm cm9tIHRoZSBpbnRlcnAgYW5zd2VycyBhbmQgcHV0dGluZyB0aGVtIGluDQogICB0aGUgZm9ybWF0 IHJlcXVpcmVkIGJ5IElTTy4gIEEgV0c1IHZvdGUgaXMgbWFkZSBvbiBmb3J3YXJkaW5nIHRoZQ0K ICAgY29ycmlnZW5kdW0gdG8gU0MyMi4gIEludGVycHMgc28gZm9yd2FyZGVkIGFyZSBtYXJrZWQN CiAgICJDb3JyaWdlbmR1bSIuDQoNCjYuIEozL2ludGVycCBjcmVhdGVzIGEgZWRpdCBmb3IgdGhl IG5leHQgRm9ydHJhbiBTdGFuZGFyZCBpZiBvbmUgaXMNCiAgIG5lZWRlZCBmb3IgYWxsIGludGVy cHMgbWFya2VkICJDb3JyaWdlbmR1bSIuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUGFydCAyOiBBY3RpdmUgRjk1IGludGVycHJldGF0aW9ucw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpO VU1CRVI6IEY5NS8wMDMxDQpUSVRMRTogQXNzb2NpYXRpb24gb2YgcG9pbnRlciBmdW5jdGlvbiBy ZXN1bHQgd2l0aCBJTlRFTlQoT1VUKSBkdW1teQ0KICAgICAgIGFyZ3VtZW50DQpLRVlXT1JEUzog UG9pbnRlciBhc3NvY2lhdGlvbiwgZHVtbXkgYXJndW1lbnQgYXNzb2NpYXRpb24sIGludGVudA0K ICAgICAgICAgIGF0dHJpYnV0ZQ0KREVGRUNUIFRZUEU6IEludGVycHJldGF0aW9uDQpTVEFUVVM6 IFN1YnN1bWVkIGJ5IGludGVycCAjNzQNCg0KUVVFU1RJT046ICBDb25zaWRlciB0aGUgZm9sbG93 aW5nIHByb2dyYW0uDQoNCiAgICAgIFBST0dSQU0gUA0KICAgICAgICBJTlRFR0VSLCBUQVJHRVQg OjogVA0KDQogICAgICAgIENBTEwgU1VCKEZQVFIoKSkNCiAgICAgIENPTlRBSU5TDQogICAgICAg IEZVTkNUSU9OIEZQVFIoKQ0KICAgICAgICAgIElOVEVHRVIsIFBPSU5URVIgOjogRlBUUg0KDQog ICAgICAgICAgRlBUUiA9PiBUDQogICAgICAgIEVORCBGVU5DVElPTiBGUFRSDQogICAgICAgIFNV QlJPVVRJTkUgU1VCKElPKQ0KICAgICAgICAgIElOVEVHRVIsIElOVEVOVChPVVQpIDo6IElPDQoN CiAgICAgICAgICBJTyA9IDE3DQogICAgICAgIEVORCBTVUJST1VUSU5FIFNVQg0KICAgICAgRU5E IFBST0dSQU0gUA0KDQpBY2NvcmRpbmcgdG8gMTIuNC4xIFsyMDA6MzAtMzJdLA0KDQogICAgIklm IGEgZHVtbXkgYXJndW1lbnQgaXMgbm90IGEgcG9pbnRlciBhbmQgdGhlIGNvcnJlc3BvbmRpbmcN CiAgICAgYWN0dWFsIGFyZ3VtZW50IGlzIGEgcG9pbnRlciwgdGhlIGFjdHVhbCBhcmd1bWVudCBz aGFsbCBiZQ0KICAgICBjdXJyZW50bHkgYXNzb2NpYXRlZCB3aXRoIGEgdGFyZ2V0IGFuZCB0aGUg ZHVtbXkgYXJndW1lbnQNCiAgICAgYmVjb21lcyBhcmd1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhh dCB0YXJnZXQuIg0KDQpBY2NvcmRpbmcgdG8gMTIuNC4xIFsyMDE6MTktMjFdLA0KDQogICAgIklm IGEgZHVtbXkgYXJndW1lbnQgaGFzIElOVEVOVChPVVQpIG9yIElOVEVOVChJTk9VVCksIHRoZSBh Y3R1YWwNCiAgICAgYXJndW1lbnQgc2hhbGwgYmUgZGVmaW5hYmxlLiINCg0KQWNjb3JkaW5nIHRv IDUuMS4yLjMgWzUzOjI5LTMxXSwNCg0KICAgICJUaGUgSU5URU5UKE9VVCkgYXR0cmlidXRlIHNw ZWNpZmllcyB0aGF0LiAuIC4gYW55IGFjdHVhbA0KICAgICBhcmd1bWVudCB0aGF0IGJlY29tZXMg YXNzb2NpYXRlZCB3aXRoIHN1Y2ggYSBkdW1teSBhcmd1bWVudA0KICAgICBzaGFsbCBiZSBkZWZp bmFibGUuIg0KDQpUaGUgZGVmaW5pdGlvbiBvZiAiZGVmaW5hYmxlIiBzdXBwbGllZCBpbiBBbm5l eCBBICh0aGUgdGVybSBkb2VzIG5vdA0KYXBwZWFyIHRvIGJlIGRlZmluZWQgaW4gbm9ybWF0aXZl IHRleHQpIGlzOg0KDQogICAgIkEgdmFyaWFibGUgaXMgPDxkZWZpbmFibGU+PiBpZiBpdHMgdmFs dWUgbWF5IGJlIGNoYW5nZWQgYnkgdGhlDQogICAgIGFwcGVhcmFuY2Ugb2YgaXRzIDxuYW1lPiBv ciA8ZGVzaWduYXRvcj4gb24gdGhlIGxlZnQgb2YgYW4NCiAgICAgPGFzc2lnbm1lbnQgc3RhdGVt ZW50Pi4iDQoNCkFjY29yZGluZyB0byB0aGlzIGRlZmluaXRpb24sICJkZWZpbmFibGUiIGlzIGEg cHJvcGVydHkgb2YgdmFyaWFibGVzDQpvbmx5LiAgSW4gdGhlIGV4YW1wbGUgYWJvdmUsIHRoZSBh Y3R1YWwgYXJndW1lbnQgaXMgbm90IGEgdmFyaWFibGUuDQpIb3dldmVyLCB0aGUgYWN0dWFsIGFy Z3VtZW50IGlzIHBvaW50ZXIgYXNzb2NpYXRlZCB3aXRoIGFuIG9iamVjdA0KdGhhdCBpcyBkZWZp bmFibGUuICBUaGUgdGV4dCBjaXRlZCBmcm9tIDUuMS4yLjMgcmVmZXJzIHRvIHRoZQ0KImFjdHVh bCBhcmd1bWVudCB0aGF0IGJlY29tZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBkdW1teSBhcmd1bWVu dCIsDQpidXQgdGhlIGZpcnN0IHBpZWNlIG9mIHRleHQgY2l0ZWQgZnJvbSAxMi40LjEgbWFrZXMg aXQgY2xlYXIgdGhhdA0Kd2hlbiB0aGUgYWN0dWFsIGFyZ3VtZW50IGlzIGEgcG9pbnRlciwgaXQg aXMgdGhlIHRhcmdldCB3aXRoIHdoaWNoDQppdCBpcyBhc3NvY2lhdGVkIHRoYXQgYmVjb21lcyBh cmd1bWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGR1bW15DQphcmd1bWVudCwgYW5kIG5vdCB0aGUg YWN0dWFsIGFyZ3VtZW50IGl0c2VsZi4NCg0KV2FzIGl0IHRoZSBpbnRlbnQgb2YgdGhlIGNvbW1p dHRlZSB0aGF0IHRoaXMgcHJvZ3JhbSBzaG91bGQgbm90IGJlDQpzdGFuZGFyZC1jb25mb3JtaW5n Pw0KDQpBTlNXRVI6DQoNClRoZSBwcm9ncmFtIGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIHN0YW5k YXJkLg0KDQpTZWUgdGhlIGFuc3dlciB0byBGOTUgaW50ZXJwcmV0YXRpb24gIzAwMDA3NC4NCg0K RURJVFM6IE5vbmUNCg0KU1VCTUlUVEVEIEJZOiBIZW5yeSBab25nYXJvDQoNCkhJU1RPUlk6IDk4 LTE3NyAgICAgIG0xNDYgICBGOTUvMDAzMSBTdWJtaXR0ZWQNCiAgICAgICAgIFdHNS9OMTQxNCAg ICAgICAgICBEcmFmdCBhbnN3ZXINCiAgICAgICAgIDAwLTI2MCAgICAgIG0xNTQgICBQYXNzZWQg YnkgSjMgbWVldGluZw0KICAgICAgICAgMDAtMzI5ICAgICAgbTE1NSAgIEZhaWxlZCBKMyBsZXR0 ZXIgYmFsbG90DQogICAgICAgICAwMS0yMDAgICAgICBtMTU3ICAgUGFzc2VkIGJ5IEozIG1lZXRp bmcgMTAtMg0KICAgICAgICAgMDEtMjc1ICAgICAgbTE1OCAgIEZhaWxlZCBKMyBsZXR0ZXIgYmFs bG90DQogICAgICAgICAwNC00MTdyMSAgICBtMTcwICAgU3Vic3VtZWQgYnkgaW50ZXJwICM3NA0K ICAgICAgICAgMDUtMTgwICAgICAgbTE3MiAgIEY5NSBpbnRlcnAgMDAwMDc0IGZhaWxlZCBXRzUg YmFsbG90IE4xNjE3DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGOTUvMDA3NA0KVElUTEU6 IFRBUkdFVCBkdW1teSBhcmd1bWVudHMgYW5kIFBPSU5URVIgZXhwcmVzc2lvbnMNCktFWVdPUkRT OiBUQVJHRVQsIFBPSU5URVIsIGR1bW15IGFyZ3VtZW50cw0KREVGRUNUIFRZUEU6IEludGVycHJl dGF0aW9uDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCiAgICAgICAgc2Vl IGFsc28gRjk1IGludGVycCAwMDAwMzENCg0KUVVFU1RJT046DQoNCkNvbnNpZGVyIHRoZSBmb2xs b3dpbmcgcHJvZ3JhbS4NCg0KUFJPR1JBTSBxdWVzdGlvbmFibGUNCiAgUkVBTCxUQVJHRVQgOjog eA0KICBDQUxMIHMxKGYoeCkpDQogIENBTEwgczIoZih4KSkNCiAgQ0FMTCBzMyhmKHgpKQ0KQ09O VEFJTlMNCiAgRlVOQ1RJT04gZihhKQ0KICAgIFJFQUwsUE9JTlRFUiA6OiBmDQogICAgUkVBTCxU QVJHRVQgOjogYQ0KICAgIGYgPT4gYQ0KICBFTkQgRlVOQ1RJT04NCiAgU1VCUk9VVElORSBzMSh2 YXJpYWJsZSkNCiAgICB2YXJpYWJsZSA9IDQyICAgICAgICAgICAgICAgICAgISBzdGF0ZW1lbnQg MQ0KICBFTkQgU1VCUk9VVElORQ0KICBTVUJST1VUSU5FIHMyKHZhcmlhYmxlKQ0KICAgIElOVEVO VChPVVQpIHZhcmlhYmxlDQogICAgdmFyaWFibGUgPSA0MiAgICAgICAgICAgICAgICAgICEgc3Rh dGVtZW50IDINCiAgRU5EIFNVQlJPVVRJTkUNCiAgU1VCUk9VVElORSBzMyh0YXJnKQ0KICAgIFJF QUwsVEFSR0VUIDo6IHRhcmcNCiAgICBSRUFMLFBPSU5URVIgOjogcA0KICAgIHAgPT4gdGFyZw0K ICAgIFBSSU5UICosQVNTT0NJQVRFRChwLHgpICAgICAgICAhIHN0YXRlbWVudCAzDQogIEVORCBT VUJST1VUSU5FDQpFTkQNCg0KSXMgdGhpcyBwcm9ncmFtIHN0YW5kYXJkLWNvbmZvcm1pbmcsIGFu ZCBpZiBzbywgd2hhdCB2YWx1ZSBpcw0KcHJpbnRlZD8NCg0KVGhlIHJlYWwgcXVlc3Rpb24gaXMg d2hldGhlciBhbiBleHByZXNzaW9uIGFyZ3VtZW50IHRoYXQgaXMgYSBwb2ludGVyDQpmdW5jdGlv biByZWZlcmVuY2UgaXMgdHJlYXRlZCBhcyBhIHZhcmlhYmxlIChkYXRhLW9iamVjdCkgYXJndW1l bnQNCndpdGggdGhlIHZhcmlhYmxlIGJlaW5nIHRoZSB0YXJnZXQgb2YgdGhlIHBvaW50ZXIgZXhw cmVzc2lvbi4gIChPcg0Kd2hldGhlciBpdCBpcyBkZXJlZmVyZW5jZWQgYXMgdXN1YWwgaW4gdGhl IGFic2VuY2Ugb2YgUE9JTlRFUiBkdW1teQ0KYXJndW1lbnRzKS4NCg0KUmUgKHN0YXRlbWVudCAx KSwgdGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgVkFSSUFCTEUgaXMgZGVmaW5hYmxlIHdoZW4NCmFy Z3VtZW50LWFzc29jaWF0ZWQgd2l0aCAiRigpIi4NCg0KUmUgKHN0YXRlbWVudCAyKSwgaWYgdGhl IHByZXZpb3VzIGFuc3dlciB3YXMgWWVzIChWQVJJQUJMRSBpcw0KZGVmaW5hYmxlKSwgdGhlbiBw cmVzdW1hYmx5IGl0IGNhbiBiZSBtYWRlIElOVEVOVChPVVQpLiAgQSByYW5kb20NCnNhbXBsZSBv ZiA0IGNvbXBpbGVycyByZXZlYWxlZCB0aGF0IHRoZXkgY29uc2lkZXJlZCBpdCBub3QgdG8gYmUN CmRlZmluYWJsZS4NCg0KUmUgKHN0YXRlbWVudCAzKSwgdGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIg UCBpcyBwb2ludGVyLWFzc29jaWF0ZWQNCndpdGggWCwgbm90IHBvaW50ZXItYXNzb2NpYXRlZCB3 aXRoIFgsIG9yIHByb2Nlc3Nvci1kZXBlbmRlbnQuICBPZg0KdGhlIHNhbWUgcmFuZG9tIHNhbXBs ZSAzIHRob3VnaHQgaXQgd2FzIGFzc29jaWF0ZWQgd2l0aCBYLCAxIHRob3VnaHQNCm5vdC4NCg0K QU5TV0VSOg0KDQoxLiBUaGUgY2FsbCB0byBzMSBpcyBub3Qgc3RhbmRhcmQgY29uZm9ybWluZy4g MTIuNS4yLjEgc2F5czoNCg0KJ0EgZHVtbXkgZGF0YSBvYmplY3Qgd2hvc2UgaW50ZW50IGlzIG5v dCBzcGVjaWZpZWQgaXMgc3ViamVjdCB0byB0aGUNCmxpbWl0YXRpb25zIG9mIHRoZSBkYXRhIGVu dGl0eSB0aGF0IGlzIHRoZSBhc3NvY2lhdGVkIGFjdHVhbA0KYXJndW1lbnQuICBUaGF0IGlzLCBh IHJlZmVyZW5jZSB0byB0aGUgZHVtbXkgZGF0YSBvYmplY3QgbWF5IG9jY3VyDQppZiB0aGUgYWN0 dWFsIGFyZ3VtZW50IGlzIGRlZmluZWQgYW5kIHRoZSBkdW1teSBkYXRhIG9iamVjdCBtYXkgYmUN CmRlZmluZWQgaWYgdGhlIGFjdHVhbCBhcmd1bWVudCBpcyBkZWZpbmFibGUuJw0KDQpIZXJlIHRo ZSBhY3R1YWwgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiByZXN1bHQsIHdoaWNoIGlzIG5vdA0KZGVm aW5hYmxlLiAgRm9yIGV4YW1wbGUsIGl0IGlzIG5vdCBwZXJtaXR0ZWQgb24gdGhlIGxlZnQtaGFu ZCBzaWRlDQpvZiBhbiBhc3NpZ25tZW50IHN0YXRlbWVudCwgc2luY2UgaXQgaXMgbm90IGEgdmFy aWFibGUuICAoQmVpbmcNCiJkZWZpbmVkIiBvciAidW5kZWZpbmVkIiBpcyBmdW5kYW1lbnRhbGx5 IGEgY29uY2VwdCB0aGF0IGFwcGxpZXMgb25seQ0KdG8gdmFyaWFibGVzLikNCg0KMi4gVGhlIGNh bGwgdG8gczIgaXMgbm90IHN0YW5kYXJkIGNvbmZvcm1pbmcuIDEyLjQuMS4xIHNheXM6DQoNCidJ ZiBhIGR1bW15IGFyZ3VtZW50IGhhcyBJTlRFTlQoT1VUKSBvciBJTlRFTlQoSU5PVVQpLCB0aGUg YWN0dWFsDQphcmd1bWVudCBzaGFsbCBiZSBkZWZpbmFibGUuJw0KDQpBZ2FpbiB0aGUgYWN0dWFs IGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gcmVzdWx0LCB3aGljaCBpcyBub3QNCmRlZmluYWJsZS4N Cg0KMy4gVGhlIGNhbGwgdG8gczMgaXMgc3RhbmRhcmQgY29uZm9ybWluZyBhbmQgdGhlIHBvaW50 ZXIgYXNzaWdubWVudA0KaW4gczMgY2F1c2VzIHAgYW5kIHggdG8gYmVjb21lIGFzc29jaWF0ZWQu IFRoaXMgbWF5IGJlIGRlZHVjZWQgZnJvbQ0KMTIuNC4xLjEsIHdoaWNoIHNheXMgWzIwMDozOC00 Ml06DQoNCidJZiB0aGUgZHVtbXkgYXJndW1lbnQgaGFzIHRoZSBUQVJHRVQgYXR0cmlidXRlIGFu ZCBpcyBlaXRoZXIgc2NhbGFyDQpvciBpcyBhbiBhc3N1bWVkLXNoYXBlIGFycmF5LCBhbmQgdGhl IGNvcnJlc3BvbmRpbmcgYWN0dWFsIGFyZ3VtZW50DQpoYXMgdGhlIFRBUkdFVCBhdHRyaWJ1dGUg YnV0IGlzIG5vdCBhbiBhcnJheSBzZWN0aW9uIHdpdGggYSB2ZWN0b3INCnN1YnNjcmlwdCAoMSkg QW55IHBvaW50ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWN0dWFsIGFyZ3VtZW50IGJlY29tZQ0K YXNzb2NpYXRlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGR1bW15IGFyZ3VtZW50IG9uIGludm9j YXRpb24gb2YgdGhlDQpwcm9jZWR1cmUgLi4uJw0KDQpFRElUUzogTm9uZS4NCg0KDQpTVUJNSVRU RUQgQlk6ICBNYWxjb2xtIENvaGVuDQoNCkhJU1RPUlk6IDk5LTE5OCAgICAgIG0xNTAgICBGOTUv MDA3NCBzdWJtaXR0ZWQNCiAgICAgICAgIFdHNS9OMTQxNCAgICAgICAgICBEcmFmdCBhbnN3ZXIN CiAgICAgICAgIDAwLTI2MCAgICAgIG0xNTQgICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAg ICAgMDAtMzI5ICAgICAgbTE1NSAgIEZhaWxlZCBKMyBsZXR0ZXIgYmFsbG90DQogICAgICAgICAw NC0zMTEgICAgICBtMTY4ICAgUGFzc2VkIGJ5IEozIG1lZXRpbmcgdm90ZSAtIGFsdGVybmF0ZQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIgcmVtb3ZlZA0KICAgICAgICAgMDQt NDE3cjEgICAgTTE3MCAgIFBhc3NlZCBieSBKMyBsZXR0ZXIgYmFsbG90ICM4DQogICAgICAgICAw NS0xODAgICAgICBtMTcyICAgRmFpbGVkIFdHNSBiYWxsb3QgTjE2MTcNCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KDQpOVU1CRVI6IEY5NS8wMDk4DQpUSVRMRTogQXJlIGR1bW15IGZ1bmN0aW9ucyByZXR1cm5p bmcgYXNzdW1lZC1sZW5ndGggY2hhcmFjdGVyIGxlZ2FsPw0KS0VZV09SRFM6IERVTU1ZIEZVTkNU SU9OLCBBU1NVTUVELUxFTkdUSCBDSEFSQUNURVINCkRFRkVDVCBUWVBFOiBJbnRlcnByZXRhdGlv bg0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpB cmUgZHVtbXkgZnVuY3Rpb25zIHJldHVybmluZyBhc3N1bWVkLWxlbmd0aCBjaGFyYWN0ZXIgbGVn YWw/DQoNCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToNCg0KICAgICAgICBjaGFyYWN0 ZXIqNSBmDQogICAgICAgIGV4dGVybmFsIGYNCiAgICAgICAgICBjYWxsIHNzMyhmKQ0KICAgICAg ICBlbmQNCiAgICAgICAgc3Vicm91dGluZSBzczMoZmYpDQogICAgICAgIGNoYXJhY3RlciooKikg ZmYsIGEqMTANCiAgICAgICAgZXh0ZXJuYWwgZmYNCiAgICAgICAgICBhID0gZmYoKS8vJzk5OTk5 OTk5Jw0KICAgICAgICAgIHByaW50ICosICc8JywgYSwgJz4nDQogICAgICAgIGVuZA0KICAgICAg ICBmdW5jdGlvbiBmKCkNCiAgICAgICAgY2hhcmFjdGVyKigqKSBmDQogICAgICAgICAgZiA9ICcx MjMnDQogICAgICAgIGVuZA0KDQpUaGUgaXNzdWUgaXMgdGhlIGNhbGwgdG8gdGhlIGR1bW15IGZ1 bmN0aW9uICdmZicgaW4gc3Vicm91dGluZSAnc3MzJy4NClNvbWUgY29tcGlsZXJzIGlzc3VlIGFu IGVycm9yIG1lc3NhZ2UuIE90aGVycyBwcmludCB0aGUgcmVzdWx0Og0KDQogPDEyMyAgOTk5OTk+ DQoNClRoZXJlIGFwcGVhciB0byBiZSB0d28gcmVsZXZhbnQsIGNvbnRyYWRpY3RvcnkgcGFzc2Fn ZXMgaW4gdGhlIEY5NQ0Kc3RhbmRhcmQuIFJlZmVyIHRvIHNlY3Rpb24gNS4xLjEuNS4gPD4gbWVh bnMgaXRhbGljcywgW10gbWVhbnMNCm9ic29sZXNjZW50IGZvbnQuDQoNClRoZSB0aGlyZCBjb25z dHJhaW50IHNheXMgIkEgZnVuY3Rpb24gbmFtZSBzaGFsbCBub3QgYmUgZGVjbGFyZWQgd2l0aA0K YW4gYXN0ZXJpc2sgPGNoYXItbGVuLXBhcmFtLXZhbHVlPiBbdW5sZXNzIGl0IGlzIHRoZSBuYW1l IG9mIHRoZQ0KcmVzdWx0IG9mIGFuIGV4dGVybmFsIGZ1bmN0aW9uIG9yIHRoZSBuYW1lIG9mIGEg ZHVtbXkgZnVuY3Rpb24uXQ0KDQpCZWZvcmUgbm90ZSA1LjYgb24gdGhlIG5leHQgcGFnZSwgdGhl IHRoaXJkIGJ1bGxldCBzYXlzOg0KKDMpIFtJbiBhbiBleHRlcm5hbCBmdW5jdGlvbiwgdGhlIG5h bWUgb2YgdGhlIGZ1bmN0aW9uIHJlc3VsdCBtYXkgYmUNCnNwZWNpZmllZCB3aXRoIGEgY2hhcmFj dGVyIGxlbmd0aCBwYXJhbWV0ZXIgdmFsdWUgb2YgKjsgaW4gdGhpcyBjYXNlLA0KYW55IHNjb3Bp bmcgdW5pdCBpbnZva2luZyB0aGUgZnVuY3Rpb24gc2hhbGwgZGVjbGFyZSB0aGUgZnVuY3Rpb24N Cm5hbWUgd2l0aCBhIGNoYXJhY3RlciBsZW5ndGggcGFyYW1ldGVyIHZhbHVlIG90aGVyIHRoYW4g KiBvciBhY2Nlc3MNCnN1Y2ggYSBkZWZpbml0aW9uIGJ5IGhvc3Qgb3IgdXNlIGFzc29jaWF0aW9u LiBXaGVuIHRoZSBmdW5jdGlvbiBpcw0KaW52b2tlZCwgdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0 IHZhcmlhYmxlIGluIHRoZSBmdW5jdGlvbiBpcyBhc3N1bWVkDQpmcm9tIHRoZSB2YWx1ZSBvZiB0 aGlzIHR5cGUgcGFyYW1ldGVyLl0NCg0KQWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZCwgdGhlIHVz ZSBpbiB0aGUgZXhhbXBsZSBwcm9ncmFtIGlzIGxlZ2FsLA0KYmVjYXVzZSAnZmYnIGlzIHRoZSBu YW1lIG9mIGEgZHVtbXkgZnVuY3Rpb24uIEJ1dCBpdCBzZWVtcyBjbGVhciB0aGF0DQp0aGUgc3Rh bmRhcmQgaW50ZW5kZWQgdGhhdCB0aGUgbGVuZ3RoIG9mIHRoZSB2YXJpYWJsZSByZXR1cm5lZCBi eQ0KYSBjaGFyYWN0ZXIgZnVuY3Rpb24gYmUga25vd24gYXQgY29tcGlsZSB0aW1lOyBpdCBpcyBu b3Qga25vd24gaW4gdGhlDQpjYXNlIHdoZXJlIHRoZSBmdW5jdGlvbiBpcyBhIGR1bW15IGZ1bmN0 aW9uLg0KDQpBTlNXRVI6DQoNCg0KDQpFRElUUzoNCg0KU1VCTUlUVEVEIEJZOiBMYXJyeSBNZWFk b3dzDQoNCkhJU1RPUlk6IDAyLTE1NyAgICBtMTYwICBGOTUvMDA5OCBTdWJtaXR0ZWQNCiAgICAg ICAgIDA0LTQxN3IxICBtMTcwICBEdXBsaWNhdGUgb2YgaW50ZXJwICM2DQogICAgICAgICAwNS0x ODAgICAgbTE3MiAgRmFpbGVkIFdHNSBiYWxsb3QgTjE2MTcgLSBub3QgYSBkdXBsaWNhdGUgb2YN CiAgICAgICAgICAgICAgICAgICAgICAgICBGOTUgaW50ZXJwIDAwMDAwNg0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQoNCk5VTUJFUjogRjk1LzAxMDINClRJVExFOiBtYXNrLWV4cHIgZXZhbHVhdGVkIG9ubHkg b25jZQ0KS0VZV09SRFM6IFdIRVJFDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBKMyBj b25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpJcyBhIG1hc2stZXhwciBy ZXF1aXJlZCB0byBiZSBldmFsdWF0ZWQgaW4gYSBXSEVSRSBzdWNoIGFzOg0KDQogICAgICBXSEVS RSAoICgvIC5UUlVFLiwgLlRSVUUuIC8pICkNCiAgICAgICAgQSA9IEEgKyAxDQogICAgICBFTFNF IFdIRVJFIChNQVNLRigpKQ0KICAgICAgICBBID0gTUFYDQogICAgICBFTkQgV0hFUkUNCg0Kd2hl cmUgYW4gb3B0aW1pemluZyBjb21waWxlciBtaWdodCBub3RpY2UgdGhhdCB0aGUgRUxTRVdIRVJF DQpicmFuY2ggd2lsbCBuZXZlciBiZSBleGVjdXRlZCA/DQoNClBhZ2UgMTEyLCBsaW5lIDM4IHNh eXMgb2YgdGhlIG1hc2sgZXhwcmVzc2lvbiBpbiBFTFNFV0hFUkUgc3RhdGVtZW50cw0KDQoiVGhl IG1hc2stZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgb25seSBvbmNlLiINCg0KQU5TV0VSOg0KDQpO bywgaXQgaXMgbm90IHJlcXVpcmVkIHRvIGV2YWx1YXRlIHRoZSBtYXNrLWV4cHIgaW4gYSBXSEVS RS4gQW4gZWRpdA0KaXMgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KRURJ VFM6DQoNClsxMTI6MzAtMzFdICBDaGFuZ2UgIm9ubHkgb25jZSIgdG8gImF0IG1vc3Qgb25jZSIN Cg0KWzExMjozOF0gIENoYW5nZSAib25seSBvbmNlIiB0byAiYXQgbW9zdCBvbmNlIg0KDQpTVUJN SVRURUQgQlk6IE1hdHRoaWpzIHZhbiBXYXZlcmVuDQoNCkhJU1RPUlk6IDAzLTIzOSAgICBtMTY1 ICBGOTUvMDEwMiBQYXNzZWQgYnkgSjMgbWVldGluZyB2b3RlDQogICAgICAgICAwNC00MTdyMSAg bTE3MCAgUGFzc2VkIGJ5IEozIGxldHRlciBiYWxsb3QgIzgNCiAgICAgICAgIDA1LTE4MCAgICBt MTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYxNw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjog RjkwLzAxNDUNClRJVExFOiBFeHByZXNzaW9ucyBpbiA8dHlwZS1zcGVjPiBvZiBhIEZVTkNUSU9O IHN0YXRlbWVudA0KS0VZV09SRFM6IGV4cHJlc3Npb24gLSBzcGVjaWZpY2F0aW9uLCBleHByZXNz aW9uIC0gaW5pdGlhbGl6YXRpb24sDQogICAgICAgICAgRlVOQ1RJT04gc3RhdGVtZW50LCBob3N0 IGFzc29jaWF0aW9uLCB1c2UgYXNzb2NpYXRpb24NCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFU VVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNClRoZSBzeW50 YXggcnVsZSBSMTIxNyBzaG93cyB0aGF0IHRoZSB0eXBlIGFuZCB0eXBlIHBhcmFtZXRlcnMgb2Yg YQ0KZnVuY3Rpb24gY2FuIGJlIHNwZWNpZmllZCBpbiB0aGUgRlVOQ1RJT04gc3RhdGVtZW50ICgx Mi41LjIuMikuDQoNCihhKSBJZiBhIDx0eXBlLXNwZWM+IGFwcGVhcnMgaW4gYSBGVU5DVElPTiBz dGF0ZW1lbnQsIGNhbiB0aGUNCmluaXRpYWxpemF0aW9uIGFuZCBzcGVjaWZpY2F0aW9uIGV4cHJl c3Npb25zIG9mIHRoYXQgPHR5cGUtc3BlYz4NCmludm9sdmUgbmFtZXMgb2YgZW50aXRpZXMgdGhh dCBhcmUgZGVjbGFyZWQgd2l0aGluIHRoZSBmdW5jdGlvbiBvcg0KYXJlIGFjY2Vzc2libGUgdGhl cmUgYnkgaG9zdCBvciB1c2UgYXNzb2NpYXRpb24/DQoNCihiKSBTZWN0aW9uIDUuMSBzdGF0ZXM6 DQoNCiAgICAgICJUaGUgPHNwZWNpZmljYXRpb24tZXhwcj4gKDcuMS42LjIpIG9mIGEgPHR5cGUt cGFyYW0tdmFsdWU+DQogICAgICAgKDUuMS4xLjUpIG9yIGFuIDxhcnJheS1zcGVjPiAoNS4xLjIu NCkgbWF5IGJlIGEgbm9uY29uc3RhbnQNCiAgICAgICBleHByZXNzaW9uIHByb3ZpZGVkIHRoZSBz cGVjaWZpY2F0aW9uIGV4cHJlc3Npb24gaXMgaW4gYW4NCiAgICAgICBpbnRlcmZhY2UgYm9keSAo MTIuMy4yLjEpIG9yIGluIHRoZSBzcGVjaWZpY2F0aW9uIHBhcnQgb2YgYQ0KICAgICAgIHN1YnBy b2dyYW0uIg0KDQpBcyBhIEZVTkNUSU9OIHN0YXRlbWVudCBpcyBub3QgcGFydCBvZiB0aGUgc3Bl Y2lmaWNhdGlvbiBwYXJ0IG9mIGENCnN1YnByb2dyYW0sIHRoaXMgdGV4dCBpbiB0aGUgc3RhbmRh cmQgYXBwZWFycyB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuDQpGVU5DVElPTiBzdGF0ZW1lbnRzIHRo YXQgYXJlIGluIGludGVyZmFjZSBibG9ja3MgYW5kIG9uZXMgdGhhdCBhcmUNCm5vdC4gVGhpcyB0 ZXh0IHNlZW1zIHRvIHByb2hpYml0IHN1Y2ggZXhhbXBsZXMgYXM6DQoNCiAgICAgICAgIElOVEVH RVIgSQ0KICAgICAgICAgIC4uLg0KICAgICAgICAgQ09OVEFJTlMNCiAgICAgICAgICAgQ0hBUkFD VEVSKihJKzEpIEZVTkNUSU9OIEYoKQ0KICAgICAgICAgICAgICAuLi4NCiAgICAgICAgICAgICAg Q09NTU9OIC8vIEkNCiAgICAgICAgICAgICAgLi4uDQoNCndoZXJlIGl0IGNhbiBiZSBjb25mdXNp bmcgYXMgdG8gd2hpY2ggSSBpcyBiZWluZyByZWZlcmVuY2VkIGluIHRoZQ0KRlVOQ1RJT04gc3Rh dGVtZW50LiAgV2hpbGUgaG9zdCBhc3NvY2lhdGlvbiBkb2VzIG5vdCBhcHBseSB0bw0KaW50ZXJm YWNlIGJvZGllcywgZm9yIGNvbnNpc3RlbmN5IHNob3VsZCB0aGUgdGV4dCBxdW90ZWQgZnJvbSBT ZWN0aW9uDQo1LjEgaGF2ZSBiZWVuICIuLi4gaXMgaW4gdGhlIHNwZWNpZmljYXRpb24gcGFydCBv ZiBhbiBpbnRlcmZhY2UgYm9keQ0KKDEyLjMuMi4xKSBvciBpbiB0aGUgc3BlY2lmaWNhdGlvbiBw YXJ0IG9mIGEgc3VicHJvZ3JhbS4iPw0KDQooYykgU2VjdGlvbiA3LjEuNi4xIHN0YXRlczoNCg0K ICAgICAgIklmIGFuIGluaXRpYWxpemF0aW9uIGV4cHJlc3Npb24gaW5jbHVkZXMgYSByZWZlcmVu Y2UgdG8gYW4NCiAgICAgICBpbnF1aXJ5IGZ1bmN0aW9uIGZvciBhIHR5cGUgcGFyYW1ldGVyIG9y IGFuIGFycmF5IGJvdW5kIG9mIGFuDQogICAgICAgb2JqZWN0IHNwZWNpZmllZCBpbiB0aGUgc2Ft ZSA8c3BlY2lmaWNhdGlvbi1wYXJ0PiwgdGhlIHR5cGUNCiAgICAgICBwYXJhbWV0ZXIgb3IgYXJy YXkgYm91bmQgbXVzdCBiZSBzcGVjaWZpZWQgaW4gYSBwcmlvcg0KICAgICAgIHNwZWNpZmljYXRp b24gb2YgdGhlIDxzcGVjaWZpY2F0aW9uLXBhcnQ+LiINCg0KV2FzIHRoaXMgdGV4dCBpbnRlbmRl ZCB0byBhcHBseSB0byBGVU5DVElPTiBzdGF0ZW1lbnRzIGV2ZW4gdGhvdWdoDQp0aGV5IGFyZSBu b3QgcGFydCBvZiBhbnkgPHNwZWNpZmljYXRpb24tcGFydD4sIHRodXMgZGlzYWxsb3dpbmcNCmZy YWdtZW50cyBzdWNoIGFzOg0KDQogICAgICBJTlRFR0VSIChLSU5EPUtJTkQoWCkpIEZVTkNUSU9O IEYoKQ0KICAgICAgICBJTlRFR0VSKEtJTkQ9S0lORCgwKSkgWA0KICAgICAgICAuLi4NCg0KU2lt aWxhciB0ZXh0IGFwcGVhcnMgaW4gU2VjdGlvbiA3LjEuNi4yLg0KDQpBTlNXRVI6DQoNCihhKSBB IHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbiBpbiB0aGUgPHR5cGUtc3BlYz4gb2YgYSBGVU5DVElP Tg0Kc3RhdGVtZW50IG1heSBpbnZvbHZlIG5hbWVzIG9mIGVudGl0aWVzIHRoYXQgYXJlIGRlY2xh cmVkIHdpdGhpbiB0aGUNCmZ1bmN0aW9uIG9yIGFyZSBhY2Nlc3NpYmxlIHRoZXJlIGJ5IGhvc3Qg b3IgdXNlIGFzc29jaWF0aW9uLCBidXQgYW4NCmluaXRpYWxpemF0aW9uIGV4cHJlc3Npb24gaW4g c3VjaCBhIDx0eXBlLXNwZWM+IG1heSBvbmx5IGludm9sdmUNCm5hbWVzIHRoYXQgYXJlIGFjY2Vz c2libGUgYnkgaG9zdCBvciB1c2UgYXNzb2NpYXRpb24uDQoNCihiKSBOby4gIEl0IHdhcyBub3Qg dGhlIGludGVudCBvZiB0aGUgc3RhbmRhcmQgdG8gZGlzdGluZ3Vpc2ggYmV0d2Vlbg0KdGhlIHR3 byB0eXBlcyBvZiBGVU5DVElPTiBzdGF0ZW1lbnRzIGNpdGVkLiAgQXMgZWxhYm9yYXRlZCBpbiB0 aGUNCmRpc2N1c3Npb24gb2YgcGFydCAoYSksIHRoZSBzdGFuZGFyZCBpbnRlbmRlZCB0byBhbGxv dyB0aGUNCjx0eXBlLXNwZWM+IGV4cHJlc3Npb24gb2YgYSBGVU5DVElPTiBzdGF0ZW1lbnQgdG8g YmUgYSBub25jb25zdGFudA0KZXhwcmVzc2lvbi4gIFRoZSBzZW50ZW5jZSBjaXRlZCBpcyBjb3Jy ZWN0ZWQgd2l0aCBhIHN1cHBsaWVkIGVkaXQuDQoNCihjKSBZZXMsIHRoZSB0ZXh0IGNpdGVkIGZy b20gNy4xLjYuMSB3YXMgaW50ZW5kZWQgdG8gYXBwbHkgdG8NCkZVTkNUSU9OIHN0YXRlbWVudHMu ICBUaGUgc2VudGVuY2UgcXVvdGVkIGFuZCB0aGUgY29ycmVzcG9uZGluZw0Kc2VudGVuY2UgaW4g Ny4xLjYuMiBhcmUgY29ycmVjdGVkIHdpdGggc3VwcGxpZWQgZWRpdHMuICBUaGUgY29kZQ0KZnJh Z21lbnQgaXMgbm90IHN0YW5kYXJkIGNvbmZvcm1pbmcuDQoNCkRpc2N1c3Npb246DQoNCihhKSBB biBpbml0aWFsaXphdGlvbiBleHByZXNzaW9uIGlzIGEgY29uc3RhbnQgZXhwcmVzc2lvbiB3aXRo IGFuDQphZGRpdGlvbmFsIHJ1bGUgcmVsYXRpbmcgdG8gZXhwb25lbnRpYXRpb24gKDcuMS42LjEp LiAgU2luY2UgaXQgaXMgYQ0KY29uc3RhbnQgZXhwcmVzc2lvbiwgdGhlIG9ubHkgbmFtZXMgaXQg Y2FuIGNvbnRhaW4gYXJlIHRoZSBuYW1lcyBvZg0KbmFtZWQgY29uc3RhbnRzLCBzdHJ1Y3R1cmUg Y29uc3RydWN0b3JzLCBpbnRyaW5zaWMgcHJvY2VkdXJlcywgYW5kDQp2YXJpYWJsZXMgd2hvc2Ug dHlwZSBwYXJhbWV0ZXJzIG9yIGJvdW5kcyBhcmUgaW5xdWlyZWQgYWJvdXQuDQoNCiAgICAqIE5h bWVkIGNvbnN0YW50DQoNCiAgICAgIFNlY3Rpb24gNS4xLjIuMSBzdGF0ZXM6DQoNCiAgICAgICAi QSBuYW1lZCBjb25zdGFudCBtdXN0IG5vdCBiZSByZWZlcmVuY2VkIGluIGFueSAuLi4gY29udGV4 dA0KICAgICAgICB1bmxlc3MgaXQgaGFzIGJlZW4gZGVmaW5lZCBpbiBhIHByaW9yIFBBUkFNRVRF UiBzdGF0ZW1lbnQgb3INCiAgICAgICAgdHlwZSBkZWNsYXJhdGlvbiBzdGF0ZW1lbnQgdXNpbmcg dGhlIFBBUkFNRVRFUiBhdHRyaWJ1dGUsIG9yDQogICAgICAgIG1hZGUgYWNjZXNzaWJsZSBieSB1 c2UgYXNzb2NpYXRpb24gb3IgaG9zdCBhc3NvY2lhdGlvbi4iDQoNCiAgICAgIFNpbmNlIHRoZSBG VU5DVElPTiBzdGF0ZW1lbnQgaXMgdGhlIGZpcnN0IHN0YXRlbWVudCBvZiB0aGUNCiAgICAgIHNj b3BpbmcgdW5pdCwgdGhlcmUgY2FuIGJlIG5vIHByaW9yIFBBUkFNRVRFUiBzdGF0ZW1lbnQgb3Ig dHlwZQ0KICAgICAgZGVjbGFyYXRpb24gc3RhdGVtZW50IHVzaW5nIHRoZSBQQVJBTUVURVIgYXR0 cmlidXRlLCBzbyB0aGUNCiAgICAgIGZpcnN0IGNsYXVzZSBkb2VzIG5vdCBhcHBseS4gQSBuYW1l ZCBjb25zdGFudCBjYW4gYXBwZWFyIGluIGENCiAgICAgIDx0eXBlLXNwZWM+IG9mIGEgZnVuY3Rp b24gc3RhdGVtZW50IGlmIGl0IGlzIGFjY2Vzc2libGUgd2l0aGluDQogICAgICB0aGUgZnVuY3Rp b24gYnkgaG9zdCBvciB1c2UgYXNzb2NpYXRpb24uDQoNCiAgICAqIFN0cnVjdHVyZSBjb25zdHJ1 Y3Rvcg0KDQogICAgICBSdWxlIFI1MDIgc2hvd3MgdGhhdCB0aGUgb25seSBvcHBvcnR1bml0aWVz IGZvciBleHByZXNzaW9ucyB0bw0KICAgICAgYXBwZWFyIGluIDx0eXBlLXNwZWM+cyBhcmUgaW4g YSA8a2luZC1zZWxlY3Rvcj4gb3IgaW4gYQ0KICAgICAgPGNoYXItc2VsZWN0b3I+LiAgSG93ZXZl ciwgYSBzdHJ1Y3R1cmUgY29uc3RydWN0b3IgY2FuIG5vdA0KICAgICAgYXBwZWFyIGluIGEgPGtp bmQtc2VsZWN0b3I+IGJlY2F1c2UgcnVsZSBSNTA1IHNob3dzIHRoYXQgYQ0KICAgICAgPGtpbmQt c2VsZWN0b3I+IG11c3QgYmUgYW4gaW50ZWdlciBleHByZXNzaW9uLiAgU2ltaWxhcmx5LCBSNTA2 DQogICAgICBzaG93cyB0aGF0IGFueSBpbml0aWFsaXphdGlvbiBleHByZXNzaW9uIGluIGEgPGNo YXItc2VsZWN0b3I+DQogICAgICBtdXN0IGJlIHR5cGUgaW50ZWdlci4gIFRoZXJlZm9yZSwgYSBz dHJ1Y3R1cmUgY29uc3RydWN0b3IgY2FuDQogICAgICBub3QgYXBwZWFyIGluIGFuIGluaXRpYWxp emF0aW9uIGV4cHJlc3Npb24gaW4gdGhlIDx0eXBlLXNwZWM+DQogICAgICBvZiBhIEZVTkNUSU9O IHN0YXRlbWVudC4NCg0KICAgICogSW50cmluc2ljIHByb2NlZHVyZQ0KDQogICAgICBUaGUgaW50 cmluc2ljIHByb2NlZHVyZSBuYW1lcyBvciBjbGFzc2VzIG9mIGludHJpbnNpYw0KICAgICAgcHJv Y2VkdXJlcyB0aGF0IG1heSBhcHBlYXIgaW4gYW4gaW5pdGlhbGl6YXRpb24gZXhwcmVzc2lvbiBh cmUNCiAgICAgIGdpdmVuIGluIDcuMS42LjEuDQoNCiAgICAqIFZhcmlhYmxlcyB3aG9zZSB0eXBl IHBhcmFtZXRlcnMgb3IgYm91bmRzIGFyZSBpbnF1aXJlZCBhYm91dA0KDQogICAgICBUaGUgdGV4 dCBmcm9tIHNlY3Rpb24gNy4xLjYuMSBhcyBjaXRlZCBpbiBxdWVzdGlvbiAoYykgd2FzDQogICAg ICBpbnRlbmRlZCB0byBhcHBseSB0byBpbml0aWFsaXphdGlvbiBleHByZXNzaW9ucyBpbiB0aGUN CiAgICAgIDx0eXBlLXNwZWM+IG9mIGEgRlVOQ1RJT04gc3RhdGVtZW50LiAgV2l0aCB0aGUgY29y cmVjdGlvbg0KICAgICAgc3VwcGxpZWQsIHRoaXMgbWVhbnMgdGhhdCBpZiBhIHZhcmlhYmxlIGFw cGVhcnMgYXMgdGhlIGFyZ3VtZW50DQogICAgICB0byBhbiBpbnF1aXJ5IGludHJpbnNpYyBpbiB0 aGUgPHR5cGUtc3BlYz4gb2YgYSBGVU5DVElPTg0KICAgICAgc3RhdGVtZW50LCB0aGUgZnVuY3Rp b24gbXVzdCBiZSBhIG1vZHVsZSBwcm9jZWR1cmUgb3IgYW4NCiAgICAgIGludGVybmFsIHByb2Nl ZHVyZSwgYW5kIHRoZSB2YXJpYWJsZSBtdXN0IGV4aXN0IGluIChiZQ0KICAgICAgYWNjZXNzaWJs ZSBmcm9tKSB0aGUgaG9zdCBzY29waW5nIHVuaXQuDQoNClJ1bGUgUjUwMiBkZWZpbmVzIDx0eXBl LXNwZWM+LiAgVGhlIG9ubHkgb3Bwb3J0dW5pdHkgZm9yIGENCjx0eXBlLXNwZWM+IHRvIGNvbnRh aW4gYSA8c3BlY2lmaWNhdGlvbi1leHByPiBpcyB3aGVuIHRoZSBkYXRhIHR5cGUNCmlzIGNoYXJh Y3RlciAoPHR5cGUtcGFyYW0tdmFsdWU+IG1heSBiZSBhIDxzcGVjaWZpY2F0aW9uLWV4cHI+KS4N ClNlY3Rpb24gNy4xLjYuMiBzdGF0ZXMgdGhhdCBhIHNwZWNpZmljYXRpb24gZXhwcmVzc2lvbiBp cyBhDQpyZXN0cmljdGVkIGV4cHJlc3Npb24gdGhhdCBpcyBzY2FsYXIsIG9mIHR5cGUgaW50ZWdl ciwgYW5kIGVhY2gNCm9wZXJhdGlvbiBtdXN0IGJlIGludHJpbnNpYy4gIEluIGFkZGl0aW9uLCBy dWxlICgyKSBvZiA3LjEuNi4yIHN0YXRlcw0KdGhhdCBhIHByaW1hcnkgb2YgYSBzcGVjaWZpY2F0 aW9uIGV4cHJlc3Npb24gY2FuIGJlIGEgZHVtbXkgYXJndW1lbnQNCnRoYXQgaGFzIG5laXRoZXIg dGhlIE9QVElPTkFMIG5vciBJTlRFTlQoT1VUKSBhdHRyaWJ1dGUuICBUaGUNCmZvbGxvd2luZyBj b2RlIGZyYWdtZW50IGRlbW9uc3RyYXRlcyBhIHVzZSBvZiBzdWNoIGEgZHVtbXkgYXJndW1lbnQ6 DQoNCiAgICAgICAgICAgICAgQ0hBUkFDVEVSKihOKzEpIEZVTkNUSU9OIFMoTikNCiAgICAgICAg ICAgICAgSU5URUdFUiwgSU5URU5UKElOKSA6OiBODQoNClJ1bGUgKDIpIGFsc28gc3RhdGVzIHRo YXQgdGhlIHByaW1hcnkgY2FuIGJlIGEgc3Vib2JqZWN0IG9mIHN1Y2ggYQ0KZHVtbXkgYXJndW1l bnQuICBTZWN0aW9uIDYuMS4yIGluZGljYXRlcyB0aGF0IGEgc3RydWN0dXJlIGNvbXBvbmVudA0K bXVzdCBub3QgYmUgcmVmZXJlbmNlZCBvciBkZWZpbmVkIGJlZm9yZSB0aGUgZGVjbGFyYXRpb24g b2YgdGhlDQpwYXJlbnQgb2JqZWN0LiAgU2ltaWxhciBydWxlcyBhcmUgbmVlZGVkIHRvIHByZXZl bnQgYSBzdWJzdHJpbmcgZnJvbQ0KYmVpbmcgcmVmZXJlbmNlZCBhaGVhZCBvZiB0aGUgZGVjbGFy YXRpb24gb2YgaXRzIHBhcmVudCwgYW5kIGFuIGFycmF5DQplbGVtZW50IG9yIGFycmF5IHNlY3Rp b24gZnJvbSBiZWluZyByZWZlcmVuY2VkIGFoZWFkIG9mIHRoZQ0KZGVjbGFyYXRpb24gb2YgdGhl IGFycmF5LiAgRWRpdHMgYXJlIHByb3ZpZGVkIHRvIHN1cHBseSB0aGVzZSBydWxlcy4NClNpbmNl IGEgc3Vib2JqZWN0IGNhbiBub3QgYmUgcmVmZXJlbmNlZCBiZWZvcmUgaXRzIHBhcmVudCBvYmpl Y3QgaXMNCmRlY2xhcmVkIGFuZCB0aGUgRlVOQ1RJT04gc3RhdGVtZW50IGlzIHRoZSBmaXJzdCBz dGF0ZW1lbnQgb2YgdGhlDQpzdWJwcm9ncmFtLCB0aGUgcGFyZW50J3MgZGVjbGFyYXRpb24gY291 bGQgbm90IGhhdmUgb2NjdXJyZWQuICBUaHVzIGENCnN1Ym9iamVjdCBtdXN0IG5vdCBiZSByZWZl cmVuY2VkIGluIHRoZSA8dHlwZS1zcGVjPiBvbiBhIEZVTkNUSU9ODQpzdGF0ZW1lbnQgZm9yIG9i amVjdHMgZGVjbGFyZWQgd2l0aGluIHRoZSBmdW5jdGlvbi4NCg0KUnVsZSAoMykgc3RhdGVzIHRo YXQgYSBwcmltYXJ5IGNhbiBiZSBhIHZhcmlhYmxlIHRoYXQgaXMgaW4gYSBjb21tb24NCmJsb2Nr LiAgVGhlIGZvbGxvd2luZyBjb2RlIGZyYWdtZW50IGRlbW9uc3RyYXRlcyBhIHVzZSBvZiBzdWNo IGENCmNvbW1vbiBibG9jayBtZW1iZXI6DQoNCiAgICAgICAgICAgICAgQ0hBUkFDVEVSKihOKzEp IEZVTkNUSU9OIFMoKQ0KICAgICAgICAgICAgICAuLi4NCiAgICAgICAgICAgICAgQ09NTU9OIE4N Cg0KQXMgaW4gcnVsZSAoMiksIHJ1bGUgKDMpIGFsbG93cyBhIHN1Ym9iamVjdCBvZiBzdWNoIGEg dmFyaWFibGUgYnV0DQpmb3IgdGhlIHNhbWUgcmVhc29ucyBhcyBhYm92ZSwgc3VjaCBhIHN1Ym9i amVjdCBkZXNpZ25hdG9yIGNhbiBub3QNCmFwcGVhciBpbiB0aGUgPHR5cGUtc3BlYz4gZXhwcmVz c2lvbiBvZiBhIEZVTkNUSU9OIHN0YXRlbWVudC4NCg0KUnVsZSAoNCkgc3RhdGVzIHRoYXQgYSBw cmltYXJ5IG1heSBiZSBhIHZhcmlhYmxlIHRoYXQgaXMgYWNjZXNzaWJsZQ0KYnkgdXNlIGFzc29j aWF0aW9uIG9yIGhvc3QgYXNzb2NpYXRpb24uICBUaGUgZm9sbG93aW5nIGNvZGUgZnJhZ21lbnRz DQpkZW1vbnN0cmF0ZSB1c2VzIG9mIHN1Y2ggdmFyaWFibGVzOg0KDQogICAgICAgICAgICAgIFBS T0dSQU0gTUFJTg0KICAgICAgICAgICAgICBJTlRFR0VSIDo6IE4gPSAyMQ0KICAgICAgICAgICAg ICAuLi4NCiAgICAgICAgICAgICAgQ09OVEFJTlMNCiAgICAgICAgICAgICAgICBDSEFSQUNURVIo TEVOID0gMipOKSBGVU5DVElPTiBTUyhLKSAgICAhIE4gaXMgaG9zdA0KICAgICAgICAgICAgICAg IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgIGFzc29jaWF0ZWQuDQog ICAgICAgICAgICAgICAgRU5EIEZVTkNUSU9ODQogICAgICAgICAgICAgIEVORCBQUk9HUkFNDQoN CiAgICBhbmQNCg0KICAgICAgICAgICAgICBNT0RVTEUgTU9EDQogICAgICAgICAgICAgIElOVEVH RVIgSw0KICAgICAgICAgICAgICBEQVRBIEsgLzIwLw0KICAgICAgICAgICAgICBFTkQgTU9EVUxF DQoNCiAgICAgICAgICAgICAgQ0hBUkFDVEVSKihLKjIpIEZVTkNUSU9OIENIRUNLKFNUUikgICAg ICAhIEsgaXMgdXNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgISAgYXNzb2NpYXRlZC4NCiAgICAgICAgICAgICAgVVNFIE1PRA0KICAgICAg ICAgICAgICAuLi4NCiAgICAgICAgICAgICAgRU5EIEZVTkNUSU9ODQoNClJ1bGUgKDQpIGFsc28g c3RhdGVzIHRoYXQgdGhlIHByaW1hcnkgY2FuIGJlIGEgc3Vib2JqZWN0IG9mIHN1Y2ggYQ0KdXNl IG9yIGhvc3QgYXNzb2NpYXRlZCB2YXJpYWJsZS4NCg0KQSBzdHJ1Y3R1cmUgY29uc3RydWN0b3Ig Y2FuIG5vdCBhcHBlYXIgaW4gYSBGVU5DVElPTiA8dHlwZS1zcGVjPg0Kc3BlY2lmaWNhdGlvbiBl eHByZXNzaW9uIGJlY2F1c2UgdGhlIGV4cHJlc3Npb24gbXVzdCBiZSBvZiB0eXBlDQppbnRlZ2Vy IGFuZCBhbnkgb3BlcmF0aW9ucyAod2hpY2ggbWlnaHQgeWllbGQgYW4gaW50ZWdlciB2YWx1ZSBm cm9tDQpvbmUgb3IgbW9yZSBzdHJ1Y3R1cmUgY29uc3RydWN0b3JzKSBtdXN0IGJlIGludHJpbnNp Yy4NCg0KT3RoZXIgcnVsZXMgb2YgNy4xLjYuMiBzdGF0ZSB3aGljaCBpbnRyaW5zaWMgcHJvY2Vk dXJlIG5hbWVzIG9yDQpjbGFzc2VzIG9mIGludHJpbnNpYyBwcm9jZWR1cmVzIG1heSBhcHBlYXIg aW4gYSBzcGVjaWZpY2F0aW9uDQpleHByZXNzaW9uLg0KDQpTZWN0aW9uIDcuMS42LjIgYWxzbyBz dGF0ZXM6DQoNCiAgICAgICAgQSB2YXJpYWJsZSBpbiBhIHNwZWNpZmljYXRpb24gZXhwcmVzc2lv biBtdXN0IGhhdmUgaXRzIHR5cGUNCiAgICAgICAgYW5kIHR5cGUgcGFyYW1ldGVycywgaWYgYW55 LCBzcGVjaWZpZWQgYnkgYSBwcmV2aW91cw0KICAgICAgICBkZWNsYXJhdGlvbiBpbiB0aGUgc2Ft ZSBzY29waW5nIHVuaXQsIG9yIGJ5IHRoZSBpbXBsaWNpdCB0eXBlDQogICAgICAgIHJ1bGVzIGN1 cnJlbnRseSBpbiBlZmZlY3QgZm9yIHRoZSBzY29waW5nIHVuaXQsIG9yIGJ5IGhvc3Qgb3INCiAg ICAgICAgdXNlIGFzc29jaWF0aW9uLg0KDQpUaGUgZGlzY3Vzc2lvbiBhYm92ZSByZWdhcmRpbmcg c3BlY2lmaWNhdGlvbiBleHByZXNzaW9ucyBoYXMgYWxyZWFkeQ0KcnVsZWQgb3V0ICJwcmV2aW91 cyBkZWNsYXJhdGlvbnMiIHNvIHRoZSBmaXJzdCBjbGF1c2Ugb2YgdGhlIGNpdGVkDQpzZW50ZW5j ZSBkb2VzIG5vdCBhcHBseS4gIFRoZSBvdGhlciBjbGF1c2VzIGFwcGx5IGVxdWFsbHkgdG8gYQ0K RlVOQ1RJT04gc3RhdGVtZW50IDx0eXBlLXNwZWM+IGFuZCB0byB0eXBlIGRlY2xhcmF0aW9uIHN0 YXRlbWVudHMNCmluc2lkZSB0aGUgZnVuY3Rpb24uDQoNCihiKSBXaGVuIHRoZSBkaXNjdXNzaW9u IGZvciBwYXJ0IChhKSBpcyBhcHBsaWVkIHRvIHRoZSBjb2RlIGZyYWdtZW50DQpwcm92aWRlZCwg aXQgbWVhbnMgdGhhdCB0aGUgJ0knIHJlZmVyZW5jZWQgaW4gdGhlIDx0eXBlLXNwZWM+IG9mIHRo ZQ0KRlVOQ1RJT04gc3RhdGVtZW50IGlzIHRoZSBjb21tb24gYmxvY2sgbWVtYmVyLg0KDQpFRElU UzoNCjEuIFNlY3Rpb24gNS4xLCBpbiB0aGUgZmlyc3Qgc2VudGVuY2Ugb2YgdGhlIHBhcmFncmFw aCB0aGF0IHN0YXJ0cw0KICAgIlRoZSA8c3BlY2lmaWNhdGlvbi1leHByPiAoNy4xLjYuMikiIFs0 MDozOS00MV0sDQoNCiAgICBjaGFuZ2UgImluIGFuIGludGVyZmFjZSBib2R5ICgxMi4zLjIuMSkg b3IgaW4gdGhlIHNwZWNpZmljYXRpb24NCiAgICAgICAgICAgIHBhcnQgb2YgYSBzdWJwcm9ncmFt Ig0KDQogICAgICAgdG8gICJjb250YWluZWQgaW4gYW4gaW50ZXJmYWNlIGJvZHkgKDEyLjMuMi4x KSwgaXMgY29udGFpbmVkDQogICAgICAgICAgICBpbiB0aGUgc3BlY2lmaWNhdGlvbiBwYXJ0IG9m IGEgc3VicHJvZ3JhbSwgb3IgaXMgaW4gdGhlDQogICAgICAgICAgICA8dHlwZS1zcGVjPiBvZiBh IEZVTkNUSU9OIHN0YXRlbWVudCAoMTIuNS4yLjIpIg0KDQoyLiBTZWN0aW9uIDYuMS4xLCBhZGQg dG8gdGhlIGVuZCBvZiB0aGUgcGFyYWdyYXBoIGJlZm9yZSB0aGUgZXhhbXBsZXMNCls2MjoyOV0N Cg0KICAgICJBIHN1YnN0cmluZyBtdXN0IG5vdCBiZSByZWZlcmVuY2VkIG9yIGRlZmluZWQgYmVm b3JlIHRoZQ0KICAgICBkZWNsYXJhdGlvbiBvZiB0aGUgdHlwZSBhbmQgdHlwZSBwYXJhbWV0ZXJz IG9mIHRoZSBwYXJlbnQgc3RyaW5nLA0KICAgICB1bmxlc3MgdGhlIHR5cGUgYW5kIHR5cGUgcGFy YW1ldGVycyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUNCiAgICAgaW1wbGljaXQgdHlwaW5nIHJ1bGVz IG9mIHRoZSBzY29wZS4iDQoNCjMuIFNlY3Rpb24gNi4yLjIsIGFkZCBhZnRlciB0aGUgc2VudGVu Y2UgIkFuIGFycmF5IHNlY3Rpb24gaXMgYW4NCmFycmF5LiIgWzY0OjE2XQ0KICAgICAgICAgICAi QW4gYXJyYXkgZWxlbWVudCBvciBhcnJheSBzZWN0aW9uIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQN CiAgICAgICAgICAgIG9yIGRlZmluZWQgYmVmb3JlIHRoZSBkZWNsYXJhdGlvbiBvZiB0aGUgYXJy YXkgYm91bmRzLiINCg0KNC4gU2VjdGlvbiA3LjEuNi4xLCBpbiB0aGUgcGFyYWdyYXBoIGFmdGVy IHRoZSBjb25zdHJhaW50cyBbNzg6MjEtMjJdDQoNCiAgICBjaGFuZ2UgIm9iamVjdCBzcGVjaWZp ZWQgaW4gdGhlIHNhbWUgPHNwZWNpZmljYXRpb24tcGFydD4sIHRoZQ0KICAgICAgICAgICAgIHR5 cGUgcGFyYW1ldGVyIG9yIGFycmF5IGJvdW5kIG11c3QgYmUgc3BlY2lmaWVkIGluDQogICAgICAg ICAgICAgYSBwcmlvciBzcGVjaWZpY2F0aW9uIG9mIHRoZSA8c3BlY2lmaWNhdGlvbi1wYXJ0Pi4i DQoNCiAgICB0byAgICAgIm9iamVjdCBkZWNsYXJlZCBpbiB0aGUgc2FtZSBzY29waW5nIHVuaXQs IHRoZSB0eXBlDQogICAgICAgICAgICBwYXJhbWV0ZXIgb3IgYXJyYXkgYm91bmQgbXVzdCBiZSBz cGVjaWZpZWQgaW4gYQ0KICAgICAgICAgICAgc3BlY2lmaWNhdGlvbiBwcmlvciB0byB0aGUgaW5p dGlhbGl6YXRpb24gZXhwcmVzc2lvbi4iDQoNCjUuIFNlY3Rpb24gNy4xLjYuMiwgaW4gdGhlIDJu ZCBwYXJhZ3JhcGggYWZ0ZXIgdGhlIGNvbnN0cmFpbnQNCls3OToyOC0yOV0NCg0KICAgIGNoYW5n ZSAiZW50aXR5IHNwZWNpZmllZCBpbiB0aGUgc2FtZSA8c3BlY2lmaWNhdGlvbi1wYXJ0PiwgdGhl DQogICAgICAgICAgICAgdHlwZSBwYXJhbWV0ZXIgb3IgYXJyYXkgYm91bmQgbXVzdCBiZSBzcGVj aWZpZWQgaW4NCiAgICAgICAgICAgICBhIHByaW9yIHNwZWNpZmljYXRpb24gb2YgdGhlIDxzcGVj aWZpY2F0aW9uLXBhcnQ+LiINCg0KICAgIHRvICAgICAiZW50aXR5IGRlY2xhcmVkIGluIHRoZSBz YW1lIHNjb3BpbmcgdW5pdCwgdGhlIHR5cGUNCiAgICAgICAgICAgIHBhcmFtZXRlciBvciBhcnJh eSBib3VuZCBtdXN0IGJlIHNwZWNpZmllZCBpbiBhDQogICAgICAgICAgICBzcGVjaWZpY2F0aW9u IHByaW9yIHRvIHRoZSBzcGVjaWZpY2F0aW9uIGV4cHJlc3Npb24uIg0KDQpTVUJNSVRURUQgQlk6 IEphbmljZSBDLiBTaGVwaGVyZA0KDQpISVNUT1JZOiA5My0xOTMgICBtMTI2IEY5MC8wMTQ1IHN1 Ym1pdHRlZA0KICAgICAgICAgOTQtMDIzcjEgbTEyOCByZXNwb25zZSwgYXBwcm92ZWQgdWMNCiAg ICAgICAgIDk0LTExNnIxIG0xMjkgWDNKMyBiYWxsb3QgZmFpbGVkIDIyLTENCiAgICAgICAgIDk0 LTMzNiAgIG0xMzEgcmV2aXNlZCByZXNwb25zZSwgYXBwcm92ZWQgdS5jDQogICAgICAgICA5NS0w MzRyMSBtMTMyIFgzSjMgYmFsbG90IGZhaWxlZCAxNS01DQogICAgICAgICA5NS0yODEgICBtMTM1 IHJldmlzZWQgcmVzcG9uc2UsIHJld29yZGVkIGVkaXQgMywgV0c1DQogICAgICAgICAgICAgICAg ICAgICAgICAgYXBwcm92ZWQgKE4xMTYxKQ0KICAgICAgICAgOTYtICAgICAgbTEzNiBYM0ozIGJh bGxvdCBmYWlsZWQgMTUtMSwgV0c1IGFwcHJvdmFsIHJlbW92ZWQuDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUGFydCAyOiBGb3J0cmFuIDIwMDMgSW50ZXJwcmV0YXRpb24gUmVx dWVzdHMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCg0KTlVNQkVSOiBGMDMvMDAwMw0KVElUTEU6IFJlZmVyZW5j aW5nIGRlZmVycmVkIGJpbmRpbmdzDQpLRVlXT1JEUzogVHlwZS1ib3VuZCBwcm9jZWR1cmUsIGRl ZmVycmVkIGJpbmRpbmcNCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IFBhc3NlZCBieSBK MyBtZWV0aW5nIA0KDQpRVUVTVElPTjoNCg0KSSB0aG91Z2h0IHRoYXQgdGhlIGludGVudCB3YXMg dGhhdCBpdCB3b3VsZCBiZQ0KaW1wb3NzaWJsZSB0byByZWZlcmVuY2UgYSBkZWZlcnJlZCBiaW5k aW5nLiAgSG93ZXZlciwgaXQNCmRvZXNuJ3QgYXBwZWFyIHRvIG1lIHRoYXQgdGhpcyBpbnRlbnQg d2FzIGFjaGlldmVkLg0KQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtIChTb3JyeSwgYnV0 IEkgZG9uJ3QgaGF2ZQ0KYW55IGNvbXBpbGVycyB1cCB0byBzeW50YXgtY2hlY2tpbmcgdGhpcyku DQoNCiAgbW9kdWxlIGRlZmVyDQoNCiAgICB0eXBlLCBhYnN0cmFjdCA6OiB0DQogICAgY29udGFp bnMNCiAgICAgIHByb2NlZHVyZSAoc3ViKSwgbm9wYXNzLCBkZWZlcnJlZCA6OiBkZWZlcnJlZF9w cm9jDQogICAgZW5kIHR5cGUgdA0KICAgIHR5cGUsIGV4dGVuZHModCkgOjogdDINCiAgICBjb250 YWlucw0KICAgICAgcHJvY2VkdXJlIDo6IGRlZmVycmVkX3Byb2MgPT4gc3ViMg0KICAgIGVuZCB0 eXBlIHQyDQoNCiAgY29udGFpbnMNCiAgICBzdWJyb3V0aW5lIHN1Yg0KICAgICAgd3JpdGUgKCos KikgJ0hlbGxvLicNCiAgICBlbmQgc3Vicm91dGluZSBzdWINCiAgICBzdWJyb3V0aW5lIHN1YjIN CiAgICAgIHdyaXRlICgqLCopICdHb29kYnllLicNCiAgICBlbmQgc3Vicm91dGluZSBzdWIyDQog IGVuZCBtb2R1bGUgZGVmZXINCiAgcHJvZ3JhbSBwDQogICB1c2UgZGVmZXINCiAgIGNsYXNzKHQp LCBwb2ludGVyIDo6IHgNCg0KICAgbnVsbGlmeSh4KQ0KICAgY2FsbCB4JWRlZmVycmVkX3Byb2MN Cg0KICBlbmQgcHJvZ3JhbSBwDQoNCklzIHRoaXMgYSB2YWxpZCBwcm9ncmFtPyAgSWYgbm90LCB3 aGF0IHJlc3RyaWN0aW9uIG9mIHRoZQ0Kc3RhbmRhcmQgZG9lcyBpdCB2aW9sYXRlPw0KDQpOb3Rl IHRoYXQgeCVkZWZlcnJlZF9wcm9jIGRvZXMgbm90IHJlcXVpcmUgdGhlIHZhbHVlIG9mIHggKDQu NS43KQ0KYW5kIHRodXMgaXMgbm90IGEgcmVmZXJlbmNlIHRvIHggKDIuNS42KS4gIFRoZXJlZm9y ZSwgWzgzOjIzLTI0XQ0KZG9lcyBub3QgcHJvaGliaXQgdGhpcy4gIE5vciBpcyBpdCBjbGVhciB0 aGF0IHRoZXJlIGlzIGFuIGludGVudA0KdG8gcHJvaGliaXQgaW52b2NhdGlvbiBvZiB0eXBlLWJv dW5kIHByb2NlZHVyZXMgZm9yIGRpc2Fzc29jaWF0ZWQNCnBvaW50ZXIgb2JqZWN0czsgZXhjZXB0 IGluIHRoZSBjYXNlIG9mIGRlZmVycmVkIGJpbmRpbmdzLCB0aGlzDQpzZWVtcyB3ZWxsLWRlZmlu ZWQgYW5kIHBvdGVudGlhbGx5IHVzZWZ1bC4NCg0KQmVjYXVzZSB4IGlzIGRpc2Fzc29jaWF0ZWQs IGl0cyBkeW5hbWljIHR5cGUgaXMgdGhlIHNhbWUNCmFzIGl0cyBkZWNsYXJlZCB0eXBlLCB0aHVz IG1ha2luZyB0aGUgaW50ZXJwcmV0YXRpb24gb2YNCnglbm9uZGVmZXJyZWRfcHJvYyByZWFzb25h Ymx5IGNsZWFyLg0KDQpBTlNXRVI6DQoNCk5vLCB0aGlzIHdhcyBub3QgaW50ZW5kZWQgdG8gYmUg YSB2YWxpZCBwcm9ncmFtLiBBIHR5cGUtYm91bmQgcHJvY2VkdXJlDQptYXkgbm90IGJlIGludm9r ZWQgdGhyb3VnaCBhbiB1bmRlZmluZWQgcG9pbnRlciwgYSBkaXNhc3NvY2lhdGVkIHBvaW50ZXIs DQpvciBhbiB1bmFsbG9jYXRlZCBhbGxvY2F0YWJsZSB2YXJpYWJsZS4gQW4gZWRpdCBpcyBzdXBw bGllZCB0byBjbGFyaWZ5DQp0aGlzIHNpdHVhdGlvbi4gIFRoZSBzYW1lIGFuc3dlciBhbmQgZWRp dCBhbHNvIGFwcGx5IHRvIEYwMy8wMDA0Lg0KDQpFRElUUzoNCg0KSW5zZXJ0IGFmdGVyIFswNC0w MDc6IDI2NjogMjRdIChbMDctMDA3cjM6IDMwOTogMTFdKToNCg0KIlRoZSA8ZGF0YS1yZWY+IHNo YWxsIG5vdCBiZSBhbiB1bmRlZmluZWQgcG9pbnRlciwgYSBkaXNhc3NvY2lhdGVkDQpwb2ludGVy LCBvciBhbiB1bmFsbG9jYXRlZCBhbGxvY2F0YWJsZSB2YXJpYWJsZS4iDQoNCk5vdGU6IHRoaXMg aXMgdGhlIHNhbWUgZWRpdCBhcyBpbnRlcnAgRjAzLzAwMDQuDQoNClNVQk1JVFRFRCBCWTogUmlj aGFyZCBNYWluZQ0KDQpISVNUT1JZOiAwNC0zMjIgICAgbTE2OSAgRjAzLzAwMDMgU3VibWl0dGVk DQogICAgICAgICAwNC0zMjJyMSAgbTE2OSAgUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAg IDA0LTQxOHIxICBtMTcwICBTdWJzdW1lZCBieSBpbnRlcnAgRjAzLzAwMDQNCiAgICAgICAgIDA1 LTE4MCAgICBtMTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYxNyAtIHRoZSBlZGl0IGlzDQogICAg ICAgICAgICAgICAgICAgICAgICAgc3Vic3VtZWQgYnkgRjAzLzAwMDQNCgkgMDctMjgwICAgIG0x ODIgIFJldmlzZWQNCiAgICAgICAgIDA3LTI4MHIxICBtMTgyICBQYXNzZWQgYnkgSjMgbWVldGlu Zw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMDQNClRJVExFOiBUeXBlLWJvdW5k IHByb2NlZHVyZXMgYW5kIHVuZGVmaW5lZCBhc3NvY2lhdGlvbiBzdGF0dXMNCktFWVdPUkRTOiBU eXBlLWJvdW5kIHByb2NlZHVyZSwgZHluYW1pYyB0eXBlDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0K U1RBVFVTOiBQYXNzZWQgYnkgSjMgbWVldGluZw0KDQpRVUVTVElPTjoNCg0KSXQgYXBwZWFycyB0 aGF0IHRoZSBkeW5hbWljIHR5cGUgaXMgdW5kZWZpbmVkIGZvciBhIHBvaW50ZXIgd2l0aA0KdW5k ZWZpbmVkIGFzc29jaWF0aW9uIHN0YXR1cy4gIFRoaXMgaW1wYWN0cyB0eXBlLWJvdW5kDQpwcm9j ZWR1cmVzLiBDb25zaWRlciB0aGUgZm9sbG93aW5nIHByb2dyYW0uDQoNCiAgbW9kdWxlIHVuZGVm aW5lZA0KDQogICAgdHlwZSA6OiB0DQogICAgY29udGFpbnMNCiAgICAgIHByb2NlZHVyZSwgbm9w YXNzIDo6IG5vbmRlZmVycmVkX3Byb2MgPT4gc3ViDQogICAgZW5kIHR5cGUgdA0KICAgIHR5cGUs IGV4dGVuZHModCkgOjogdDINCiAgICBjb250YWlucw0KICAgICAgcHJvY2VkdXJlLCBub3Bhc3Mg Ojogbm9uZGVmZXJyZWRfcHJvYyA9PiBzdWIyDQogICAgZW5kIHR5cGUgdDINCg0KICBjb250YWlu cw0KICAgIHN1YnJvdXRpbmUgc3ViDQogICAgICB3cml0ZSAoKiwqKSAnSGVsbG8uJw0KICAgIGVu ZCBzdWJyb3V0aW5lIHN1Yg0KICAgIHN1YnJvdXRpbmUgc3ViMg0KICAgICAgd3JpdGUgKCosKikg J0dvb2RieWUuJw0KICAgIGVuZCBzdWJyb3V0aW5lIHN1YjINCiAgZW5kIG1vZHVsZSB1bmRlZmlu ZWQNCg0KICBwcm9ncmFtIHANCiAgICB1c2UgdW5kZWZpbmVkDQogICAgY2xhc3ModCksIHBvaW50 ZXIgOjogeA0KICAgIGNhbGwgeCVub25kZWZlcnJlZF9wcm9jDQogIGVuZCBwcm9ncmFtIHANCg0K SXMgdGhpcyBhIHZhbGlkIHByb2dyYW0/ICBJZiBub3QsIHdoYXQgcmVzdHJpY3Rpb24gb2YgdGhl DQpzdGFuZGFyZCBkb2VzIGl0IHZpb2xhdGU/ICBJZiBzbywgd2hhdCBkb2VzIGl0IHByaW50Lg0K DQpOb3RlIHRoYXQgeCVub25kZWZlcnJlZF9wcm9jIGRvZXMgbm90IHJlcXVpcmUgdGhlIHZhbHVl IG9mIHggKDQuNS43KQ0KYW5kIHRodXMgaXMgbm90IGEgcmVmZXJlbmNlIHRvIHggKDIuNS42KS4g IFRoZXJlZm9yZSwgWzgzOjIzLTI0XQ0KZG9lcyBub3QgcHJvaGliaXQgdGhpcy4NCg0KSWYgeCB3 ZXJlIGRpc2Fzc29jaWF0ZWQsIGl0cyBkeW5hbWljIHR5cGUgd291bGQgYmUgdCBhbmQgdGhlDQpp bnRlcnByZXRhdGlvbiBvZiB0aGlzIHdvdWxkIGJlIHJlYXNvbmFibHkgY2xlYXIuDQoNCkhvd2V2 ZXIsIHRoZSBzdGFuZGFyZCBkb2VzIG5vdCBhcHBlYXIgdG8gc3BlY2lmeSB0aGUgZHluYW1pYyB0 eXBlDQpvZiB4IHdoZW4gaXRzIGFzc29jaWF0aW9uIHN0YXR1cyBpcyB1bmRlZmluZWQuICBOb3Ig Y2FuIEkgZmluZA0KYW55IHByb2hpYml0aW9uIHRoYXQgYXBwbGllcyB0byB0aGlzIGNhc2UuDQoN CkFOU1dFUjoNCg0KTm8sIHRoZSBwcm9ncmFtIGlzIG5vdCB2YWxpZCwgYmVjYXVzZSB0aGUgc3Rh bmRhcmQgZG9lcyBub3QgZXN0YWJsaXNoDQphbiBpbnRlcnByZXRhdGlvbiBvZiBpdC4gIEFuIGVk aXQgaXMgc3VwcGxpZWQgdG8gY2xhcmlmeSB0aGlzLg0KDQpGdXJ0aGVybW9yZSwgdGhlIGNhc2Ug d2l0aCBhIGRpc2Fzc29jaWF0ZWQgcG9pbnRlciB3YXMgbm90IGludGVuZGVkIHRvDQpiZSB2YWxp ZC4gIEFuIGVkaXQgaXMgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4NCg0KRElT Q1VTU0lPTjoNCg0KQWNjZXNzIHRvIG9iamVjdC1ib3VuZCBwcm9jZWR1cmVzIChhLmsuYS4gcHJv Y2VkdXJlIHBvaW50ZXINCmNvbXBvbmVudHMpIGFsd2F5cyByZXF1aXJlIHRoZXJlIHRvIGJlIGFu IG9iamVjdC4gIEFjY2VzcyB0bw0KdHlwZS1ib3VuZCBwcm9jZWR1cmVzIG9mIGFuIG9iamVjdCB3 YXMgaW50ZW5kZWQgdG8gcmVxdWlyZSB0aGlzIHRvbywNCmJ1dCB0aGUgZWZmZWN0IG9mIHRoZSBO T1BBU1MgYXR0cmlidXRlIG9uIHRoaXMgd2FzIG92ZXJsb29rZWQuDQoNCkVESVRTOg0KDQpBbGwg ZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpJbnNlcnQgYWZ0ZXIgWzI2NjoyNF06DQoNCiJUaGUg PGRhdGEtcmVmPiBzaGFsbCBub3QgYmUgYW4gdW5kZWZpbmVkIHBvaW50ZXIsIGEgZGlzYXNzb2Np YXRlZA0KcG9pbnRlciwgb3IgYW4gdW5hbGxvY2F0ZWQgYWxsb2NhdGFibGUgdmFyaWFibGUuIg0K DQpOb3RlOiB0aGlzIGlzIHRoZSBzYW1lIGVkaXQgYXMgaW50ZXJwIEYwMy8wMDAzLg0KDQpTVUJN SVRURUQgQlk6IFJpY2hhcmQgTWFpbmUNCg0KSElTVE9SWTogMDQtMzIzICAgIG0xNjkgIEYwMy8w MDA0IFN1Ym1pdHRlZA0KICAgICAgICAgMDQtMzIzcjEgIG0xNjkgIFBhc3NlZCBieSBKMyBtZWV0 aW5nDQogICAgICAgICAwNC00MThyMSAgbTE3MCAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzkN CiAgICAgICAgIDA1LTE4MCAgICBtMTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYxNw0KICAgICAg ICAgMDctMzM3ICAgIG0xODIgIFBhc3NlZCBieSBKMyBtZWV0aW5nDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KTlVNQkVSOiBGMDMvMDAxNw0KVElUTEU6IER1bW15IHByb2NlZHVyZSBwb2ludGVycyBhbmQg UFJFU0VOVA0KS0VZV09SRFM6IER1bW15IHByb2NlZHVyZSBwb2ludGVycywgUFJFU0VOVA0KREVG RUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogSjMgY29uc2lkZXJhdGlvbiBpbiBwcm9ncmVzcw0K DQpRVUVTVElPTjoNCg0KRG9lcyB0aGUgZm9sbG93aW5nIHByb2dyYW0gY29uZm9ybSB0byB0aGUg MjAwMyBzdGFuZGFyZD8NCg0KICBwcm9jZWR1cmUocmVhbCksIHBvaW50ZXIgOjogRiA9PiBudWxs KCkNCiAgY2FsbCBzICggZiApDQogIGNvbnRhaW5zDQogICAgc3Vicm91dGluZSBTICggRiApDQog ICAgICBwcm9jZWR1cmUocmVhbCksIG9wdGlvbmFsLCBwb2ludGVyIDo6IEYNCiAgICAgIHByaW50 ICosIHByZXNlbnQoZikNCiAgICBlbmQgc3Vicm91dGluZSBTDQogIGVuZA0KDQpBTkFMWVNJUzoN Cg0KVGhlIHNlY29uZCBwYXJhZ3JhcGggb2YgMTIuNC4xLjMgcmVxdWlyZXMgdGhhdCBpZiB0aGUg ZHVtbXkgYXJndW1lbnQNCmRvZXMgbm90IGhhdmUgdGhlIFBPSU5URVIgYXR0cmlidXRlIGFuZCB0 aGUgYWN0dWFsIGFyZ3VtZW50IGRvZXMsIHRoZQ0KYWN0dWFsIGFyZ3VtZW50IHNoYWxsIGJlIGFz c29jaWF0ZWQuICBJdCBpcyBub3QgY2xlYXIgaW4gMTMuNy45MQ0Kd2hldGhlciB0aGUgYXJndW1l bnQgb2YgUFJFU0VOVCBoYXMgb3IgaGFzIG5vdCB0aGUgUE9JTlRFUiBhdHRyaWJ1dGUuDQoNCkFO U1dFUjoNCg0KVGhlIHByb2dyYW0gY29uZm9ybXMgdG8gdGhlIDIwMDMgc3RhbmRhcmQuICBBbiBl ZGl0IGlzIHN1cHBsaWVkIHRvDQpyZW1vdmUgYW55IHBvc3NpYmlsaXR5IG9mIGEgY29udHJhZGlj dG9yeSByZWFkaW5nIG9mIHRoZSByZWxhdGlvbg0KYmV0d2VlbiAxMi40LjEuMyBhbmQgMTMuNy45 MS4NCg0KRURJVFM6DQoNCkluIHRoZSBzZWNvbmQgcGFyYWdyYXBoIG9mIDEyLjQuMS4zIFsyNzE6 MTZdIHJlcGxhY2UgImFuIGFzc29jaWF0ZWQiDQpieSAiYSIuDQoNCkF0IHRoZSBlbmQgb2YgdGhh dCBwYXJhZ3JhcGgsIGluc2VydCBhIG5ldyBzZW50ZW5jZToNCg0KIkV4Y2VwdCBpbiByZWZlcmVu Y2VzIHRvIGludHJpbnNpYyBpbnF1aXJ5IGZ1bmN0aW9ucywgaWYgdGhlIGFjdHVhbA0KYXJndW1l bnQgaXMgYSBwb2ludGVyIGl0IHNoYWxsIGJlIGFzc29jaWF0ZWQuIg0KDQpTVUJNSVRURUQgQlk6 IFZhbiBTbnlkZXINCg0KSElTVE9SWTogMDQtNDAyICAgIG0xNzAgIEYwMy8wMDE3IFN1Ym1pdHRl ZA0KICAgICAgICAgMDQtNDAycjIgIG0xNzAgIFBhc3NlZCBKMyBtZWV0aW5nDQogICAgICAgICAw NS0xNDYgICAgbTE3MSAgRmFpbGVkIEozIGxldHRlciBiYWxsb3QgIzEwDQoNCiAgTWljaGFlbCBJ bmdyYXNzaWEncyBOTyBjb21tZW50IGZvciBGMDMvMDAxNzoNCg0KICAgIFRoZSBzdGF0ZW1lbnQg Ikl0IGlzIG5vdCBjbGVhciBpbiAxMy43LjkxIHdoZXRoZXIgdGhlIGFyZ3VtZW50IG9mDQogICAg UFJFU0VOVCBoYXMgb3IgaGFzIG5vdCB0aGUgUE9JTlRFUiBhdHRyaWJ1dGUiIHNlZW1zIHRvIG1l IHRvIGJlDQogICAgd3JvbmcuIEluIHRoZSBmcmFnbWVudA0KICAgICAgICBzdWJyb3V0aW5lIFMo SSkNCiAgICAgICAgaW50ZWdlciwgb3B0aW9uYWwgOjogSQ0KICAgICAgICBpZiAocHJlc2VudChJ KSkgdGhlbg0KICAgIHRoZSBhcmd1bWVudCBvZiBwcmVzZW50IGRvZXMgbm90IGhhdmUgdGhlIFBP SU5URVIgYXR0cmlidXRlLCBidXQgaW4NCiAgICB0aGUgZnJhZ21lbnQNCiAgICAgICAgc3Vicm91 dGluZSBTKEkpDQogICAgICAgIGludGVnZXIsIHBvaW50ZXIsIG9wdGlvbmFsIDo6IEkNCiAgICAg ICAgaWYgKHByZXNlbnQoSSkpIHRoZW4NCiAgICBpdCBkb2VzLCBhbmQgdGhlIGxhbmd1YWdlIG9m IDEzLjcuOTEgaXMgY2xlYXIgZW5vdWdoICJbdGhlIGFyZ3VtZW50DQogICAgdG8gUFJFU0VOVF0g bWF5IGJlIGEgcG9pbnRlciIuICBEZWxldGUgdGhlIHN0YXRlbWVudCAoIkl0IGlzIG5vdA0KICAg IGNsZWFyLi4uIikuICBTaW5jZSB0aGF0IHJlbW92ZXMganVzdGlmaWNhdGlvbiBmb3IgdGhlIGVk aXRzDQogICAgc3VibWl0dGVkLCBjaGFuZ2UgdGhlIGFuc3dlciB0byByZWFkICJUaGUgcHJvZ3Jh bSBkb2VzIG5vdCBjb25mb3JtDQogICAgdG8gdGhlIDIwMDMgc3RhbmRhcmQuICBUaGlzIGlzIGJl Y2F1c2UgdGhlIHBvaW50ZXIgRiBpcyBub3QNCiAgICBhc3NvY2lhdGVkIGluIHN1YnJvdXRpbmUg Uywgd2hpY2ggaXMgbm90IG9uZSBvZiB0aGUgcG9zc2liaWxpdGllcw0KICAgIHBlcm1pdHRlZCBi eSAxMi40LjEuMyBbMjcxOjE2XS4iDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDAx OA0KVElUTEU6IE11bHRpcGxlIGlkZW50aWNhbCBzcGVjaWZpYyBwcm9jZWR1cmVzIGluIHR5cGUt Ym91bmQgZ2VuZXJpYw0KICAgICAgIGludGVyZmFjZXMNCktFWVdPUkRTOiBUeXBlLWJvdW5kIGdl bmVyaWNzDQpERUZFQ1QgVFlQRTogQ2xhcmlmaWNhdGlvbg0KU1RBVFVTOiBKMyBjb25zaWRlcmF0 aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OIDE6DQoNCkRvZXMgdGhlIGZvbGxvd2luZyBwcm9n cmFtIHVuaXQgY29uZm9ybSB0byB0aGUgMjAwMyBzdGFuZGFyZD8NCg0KICBtb2R1bGUgTQ0KICAg IHR5cGUgVA0KICAgIGNvbnRhaW5zDQogICAgICBwcm9jZWR1cmUgTXlBZGQNCiAgICAgIGdlbmVy aWMgOjogb3BlcmF0b3IoKykgPT4gbXlBZGQNCiAgICBlbmQgdHlwZSBUDQogICAgdHlwZSBYDQog ICAgY29udGFpbnMNCiAgICAgIHByb2NlZHVyZSwgcGFzcyhiKSA6OiBNeUFkZA0KICAgICAgZ2Vu ZXJpYyA6OiBvcGVyYXRvcigrKSA9PiBteUFkZA0KICAgIGVuZCB0eXBlIFgNCiAgY29udGFpbnMN CiAgICBpbnRlZ2VyIGZ1bmN0aW9uIE15QWRkICggQSwgQiApDQogICAgICB0eXBlKHQpLCBpbnRl bnQoaW4pIDo6IEENCiAgICAgIHR5cGUoeCksIGludGVudChpbikgOjogQg0KICAgIGVuZCBmdW5j dGlvbiBNeUFkZA0KICBlbmQgbW9kdWxlIE0NCg0KUVVFU1RJT04gMjoNCg0KRG9lcyB0aGUgZm9s bG93aW5nIHByb2dyYW0gdW5pdCBjb25mb3JtIHRvIHRoZSAyMDAzIHN0YW5kYXJkPw0KDQogIG1v ZHVsZSBNDQogICAgaW50ZXJmYWNlIG9wZXJhdG9yKCspDQogICAgICBwcm9jZWR1cmUgTXlBZGQN CiAgICBlbmQgaW50ZXJmYWNlDQogICAgdHlwZSBUDQogICAgY29udGFpbnMNCiAgICAgIHByb2Nl ZHVyZSBNeUFkZA0KICAgICAgZ2VuZXJpYyA6OiBvcGVyYXRvcigrKSA9PiBteUFkZA0KICAgIGVu ZCB0eXBlIFQNCiAgY29udGFpbnMNCiAgICBpbnRlZ2VyIGZ1bmN0aW9uIE15QWRkICggQSwgQiAp DQogICAgICB0eXBlKHQpLCBpbnRlbnQoaW4pIDo6IEENCiAgICAgIHJlYWwsIGludGVudChpbikg OjogQg0KICAgIGVuZCBmdW5jdGlvbiBNeUFkZA0KICBlbmQgbW9kdWxlIE0NCg0KUVVFU1RJT04g MzoNCg0KSWYgdGhlIGludGVyZmFjZSBibG9jayBhbmQgdHlwZSBkZWZpbml0aW9uIGFyZSBleGNo YW5nZWQgaW4gUVVFU1RJT04NCjIsIGRvZXMgdGhlIHByb2dyYW0gdW5pdCBjb25mb3JtIHRvIHRo ZSAyMDAzIHN0YW5kYXJkPw0KDQpBTkFMWVNJUzoNCg0KVGhlIE9QRVJBVE9SKCspIGJpbmRpbmdz IHRvIHRoZSB0eXBlcyBUIGFuZCBYIGNvbnN0cnVjdCBhIHNpbmdsZQ0KZ2VuZXJpYyBPUEVSQVRP UigrKSBpbnRlcmZhY2UgdGhhdCBpcyBhIGxvY2FsIGVudGl0eSBvZiBtb2R1bGUgTS4NClRoZXkg ZG8gbm90IGNvbnN0cnVjdCBzZXBhcmF0ZSBPUEVSQVRPUigrKSBnZW5lcmljIGludGVyZmFjZXMg dGhhdA0KYXJlIHNlcGFyYXRlIGxvY2FsIGVudGl0aWVzIG9mIHRoZSB0eXBlcy4NCg0KMTYuMi4z IChSZXN0cmljdGlvbnMgb24gZ2VuZXJpYyBkZWNsYXJhdGlvbnMpIHNwZWNpZmllcyB0aGF0IGl0 DQoiY29udGFpbnMgdGhlIHJ1bGVzIHRoYXQgc2hhbGwgYmUgc2F0aXNmaWVkIGJ5IGV2ZXJ5IHBh aXIgb2Ygc3BlY2lmaWMNCnByb2NlZHVyZXMgdGhhdCBoYXZlIHRoZSBzYW1lIGdlbmVyaWMgaWRl bnRpZmllciB3aXRoaW4gYSBzY29waW5nDQp1bml0LiINCg0KSXQgaXMgY2xlYXIgdGhhdCBpZiBk aWZmZXJlbnQgZnVuY3Rpb25zIHdpdGggaWRlbnRpY2FsIGludGVyZmFjZXMNCndlcmUgYm91bmQg dG8gdGhlIHR5cGVzIHRoYXQgdGhleSB3b3VsZCBiZSBhICJwYWlyIG9mIHNwZWNpZmljDQpwcm9j ZWR1cmVzIiBhbmQgdGhlIHJlc3VsdGluZyBPUEVSQVRPUigrKSBpbnRlcmZhY2Ugd291bGQgdGhl cmVmb3JlDQpiZSBwcm9oaWJpdGVkIGJ5IDE2LjIuMy4NCg0KSXQgaXMgbm90IGNsZWFyIHdoZXRo ZXIgdGhlIGdlbmVyaWMgYmluZGluZ3MgYmluZCBzZXBhcmF0ZSBzcGVjaWZpYw0KcHJvY2VkdXJl cyB0byB0aGUgT1BFUkFUT1IoKykgZ2VuZXJpYywgb3Igb25seSByZWR1bmRhbnRseSBiaW5kIHRo ZQ0Kc2FtZSBwcm9jZWR1cmUuICBJZiB0aGUgZm9ybWVyLCB0aGUgcHJvZ3JhbSB1bml0cyBhcmUg bm90IHN0YW5kYXJkDQpjb25mb3JtaW5nIGJlY2F1c2UgdGhleSB2aW9sYXRlIHRoZSBwcm92aXNp b25zIG9mIDE2LjIuMy4gIElmIHRoZQ0KbGF0dGVyLCB0aGV5IGFwcGVhciB0byBiZSBzdGFuZGFy ZCBjb25mb3JtaW5nLg0KDQpDMTIwOSAoaW4gMTIuMy4yLjEpIHByb2hpYml0cyBhIHByb2NlZHVy ZSB0byBiZSBib3VuZCB0byBhIGdlbmVyaWMNCmludGVyZmFjZSBtb3JlIHRoYW4gb25jZSBpbiBh IHNjb3BpbmcgdW5pdCwgYnV0IG9ubHkgYnkgd2F5IG9mIGENClBST0NFRFVSRSBzdGF0ZW1lbnQg aW4gYSBnZW5lcmljIGludGVyZmFjZSBibG9jay4gIFRoZXJlIGlzIG5vdGhpbmcNCm9idmlvdXNs eSBlcXVpdmFsZW50IGluIDQuNS40LCBub3IgYW55dGhpbmcgdGhhdCBzcGVjaWZpZXMgdGhhdCBD MTIwOQ0KYXBwbGllcyB0byBnZW5lcmljIGJpbmRpbmdzIHRvIHR5cGVzLiAgSXQgYWxzbyBkb2Vz IG5vdCBhcHBseSBiZXR3ZWVuDQphIGdlbmVyaWMgaW50ZXJmYWNlIGJsb2NrIGFuZCBhIGdlbmVy aWMgaW50ZXJmYWNlIHByZXZpb3VzbHkNCnNwZWNpZmllZCBieSBhIGdlbmVyaWMgYmluZGluZyB0 byBhIHR5cGUgKHF1ZXN0aW9uIDMpLCBzaW5jZSB0aGUNCmxhdHRlciBzcGVjaWZpYyBiaW5kaW5n IGlzIGFjY29tcGxpc2hlZCBieSBhIGNvbnNwaXJhY3kgb2YgYQ0KPHByb2MtYmluZGluZy1zdG10 PiBhbmQgYSA8Z2VuZXJpYy0gYmluZGluZz4sIG5vdCBieSBhDQo8cHJvY2VkdXJlLXN0bXQ+Lg0K DQpBTlNXRVI6DQoNClRoZSBwcm9ncmFtIHVuaXRzIGNvbmZvcm0gdG8gdGhlIDIwMDMgc3RhbmRh cmQuICBNdWx0aXBsZSBiaW5kaW5ncyBvZg0KdGhlIHNhbWUgcHJvY2VkdXJlIHRvIGEgZ2VuZXJp YyBpZGVudGlmaWVyIHVzaW5nIGEgPGdlbmVyaWMtYmluZGluZz4NCmluIGEgdHlwZSBkZWZpbml0 aW9uIG9yIGJ5IGEgdHlwZSBkZWZpbml0aW9uIGFuZCBhIGdlbmVyaWMgaW50ZXJmYWNlDQpibG9j ayBkbyBub3QgYmluZCBhICJwYWlyIG9mIHNwZWNpZmljIHByb2NlZHVyZXMiIHRvIHRoZSBnZW5l cmljDQppbnRlcmZhY2UuIEluZGVlZCwgdGhlIGZvbGxvd2luZyB0eXBlIGRlZmluaXRpb24gaXMg bGVnYWw6DQoNCiAgdHlwZSBaDQogIGNvbnRhaW5zDQogICAgcHJvY2VkdXJlIDo6IE15QWRkDQog ICAgZ2VuZXJpYyA6OiBvcGVyYXRvcigrKSA9PiBteUFkZCwgb3BlcmF0b3IoKykgPT4gbXlBZGQN CiAgZW5kIHR5cGUgWg0KDQpFRElUUzogTm9uZS4NCg0KU1VCTUlUVEVEIEJZOiAgVmFuIFNueWRl cg0KDQpISVNUT1JZOiAgMDQtNDA1ICAgIG0xNzAgIEYwMy8wMDE4IFN1Ym1pdHRlZA0KICAgICAg ICAgIDA0LTQwNXIxICBtMTcwICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgIDA1LTE0 NiAgICBtMTcxICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTANCiAgICAgICAgICBOMTY1OCAg ICAgbTE3NiAgRmFpbGVkIFdHNSBiYWxsb3QgTjE2NTcNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpOVU1C RVI6IEYwMy8wMDE5DQpUSVRMRTogTXVsdGlwbGUgaWRlbnRpY2FsIHNwZWNpZmljIHByb2NlZHVy ZXMgaW4gZ2VuZXJpYyBpbnRlcmZhY2UNCiAgICAgICBibG9ja3MNCktFWVdPUkRTOiBUeXBlLWJv dW5kIGdlbmVyaWNzDQpERUZFQ1QgVFlQRTogRXJyYXR1bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0 aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OIDE6DQoNCkRvZXMgdGhlIGZvbGxvd2luZyBwcm9n cmFtIGNvbmZvcm0gdG8gdGhlIDIwMDMgc3RhbmRhcmQ/DQoNCiAgcHJvZ3JhbSBQDQogICAgaW50 ZXJmYWNlIFgNCiAgICAgIHN1YnJvdXRpbmUgUyAoIEEgKQ0KICAgICAgICBpbnRlZ2VyIDo6IEEN CiAgICAgIGVuZCBzdWJyb3V0aW5lIFMNCiAgICAgIHByb2NlZHVyZSBTDQogICAgZW5kIGludGVy ZmFjZSBYDQogIGVuZCBwcm9ncmFtIFANCg0KQU5BTFlTSVM6DQoNCjE2LjIuMyAoUmVzdHJpY3Rp b25zIG9uIGdlbmVyaWMgZGVjbGFyYXRpb25zKSBzcGVjaWZpZXMgdGhhdCBpdA0KImNvbnRhaW5z IHRoZSBydWxlcyB0aGF0IHNoYWxsIGJlIHNhdGlzZmllZCBieSBldmVyeSBwYWlyIG9mIHNwZWNp ZmljDQpwcm9jZWR1cmVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBnZW5lcmljIGlkZW50aWZpZXIgd2l0 aGluIGEgc2NvcGluZw0KdW5pdC4iDQoNCkl0IGlzIG5vdCBjbGVhciB3aGV0aGVyIHRoZSBpbnRl cmZhY2UgYm9keSBhbmQgdGhlIHByb2NlZHVyZQ0Kc3RhdGVtZW50IGJpbmQgc2VwYXJhdGUgc3Bl Y2lmaWMgcHJvY2VkdXJlcyB0byB0aGUgZ2VuZXJpYw0KaWRlbnRpZmllciwgb3Igb25seSByZWR1 bmRhbnRseSBiaW5kIHRoZSBzYW1lIHByb2NlZHVyZS4gIElmIHRoZQ0KZm9ybWVyLCB0aGUgcHJv Z3JhbSBpcyBub3Qgc3RhbmRhcmQgY29uZm9ybWluZyBiZWNhdXNlIGl0IHZpb2xhdGVzDQp0aGUg cHJvdmlzaW9ucyBvZiAxNi4yLjMuICBJZiB0aGUgbGF0dGVyLCBpdCBhcHBlYXJzIHRvIGJlIHN0 YW5kYXJkDQpjb25mb3JtaW5nLg0KDQpDMTIwOSAoaW4gMTIuMy4yLjEpIHByb2hpYml0cyBhIHBy b2NlZHVyZSB0byBiZSBib3VuZCB0byBhIGdlbmVyaWMNCmludGVyZmFjZSBtb3JlIHRoYW4gb25j ZSBpbiBhIHNjb3BpbmcgdW5pdCwgYnV0IG9ubHkgYnkgd2F5IG9mIGENClBST0NFRFVSRSBzdGF0 ZW1lbnQgaW4gYSBnZW5lcmljIGludGVyZmFjZSBibG9jay4NCg0KVGhlcmUgaXMgYSBnZW5lcmFs IHJ1bGUgdGhhdCBub3RoaW5nIHNoYWxsIGJlIGRlY2xhcmVkIG1vcmUgdGhhbg0Kb25jZS4gSXQg YXBwZWFycyB0aGF0IGEgcHJvY2VkdXJlIHN0YXRlbWVudCB3aXRoaW4gYW4gaW50ZXJmYWNlIGJs b2NrDQppcyBub3QgYSBkZWNsYXJhdGlvbjogIDUuMS4yLjYgKEV4dGVybmFsIGF0dHJpYnV0ZSkg c3BlY2lmaWVzIHRoYXQNCnRoZSBleHRlcm5hbCBhdHRyaWJ1dGUgbWF5IGJlIHNwZWNpZmllZCBi eSBhbiBFWFRFUk5BTCBzdGF0ZW1lbnQsIGENCjxwcm9jZWR1cmUtIGRlY2xhcmF0aW9uLXN0bXQ+ IG9yIGFuIGludGVyZmFjZSBib2R5IHRoYXQgaXMgbm90IGluIGFuDQphYnN0cmFjdCBpbnRlcmZh Y2UgYmxvY2suICBBIHByb2NlZHVyZSBzdGF0ZW1lbnQgaW4gYW4gaW50ZXJmYWNlDQpibG9jayBh cHBhcmVudGx5IGRvZXMgbm90IHNwZWNpZnkgdGhlIGV4dGVybmFsIGF0dHJpYnV0ZS4gIFRoZQ0K cHJvY2VkdXJlIHNwZWNpZmllZCBieSB0aGUgUFJPQ0VEVVJFIHN0YXRlbWVudCBpbiB0aGUgYWJv dmUgZXhhbXBsZQ0KaXMgY2xlYXJseSBhbiBleHRlcm5hbCBwcm9jZWR1cmUgd2l0aCBhbiBleHBs aWNpdCBpbnRlcmZhY2UsIHNvIGl0DQpzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50cyBvZiBDMTIw Ny4NCg0KQU5TV0VSOg0KDQpUaGUgcHJvZ3JhbSBjb25mb3JtcyB0byB0aGUgMjAwMyBzdGFuZGFy ZC4gIE11bHRpcGxlIGJpbmRpbmdzIG9mIHRoZQ0Kc2FtZSBwcm9jZWR1cmUgdG8gYSBnZW5lcmlj IGlkZW50aWZpZXIgdXNpbmcgYW4gaW50ZXJmYWNlIGJvZHkgYW5kIGENCnByb2NlZHVyZSBzdGF0 ZW1lbnQgZG8gbm90IGJpbmQgYSAicGFpciBvZiBzcGVjaWZpYyBwcm9jZWR1cmVzIiB0bw0KdGhl IGdlbmVyaWMgaW50ZXJmYWNlLg0KDQpFbmZvcmNpbmcgQzEyMDkgaXMgbW9yZSBib3RoZXIgZm9y IHByb2Nlc3NvcnMgdGhhbiBzaW1wbHkgYWxsb3dpbmcNCm11bHRpcGxlIGJpbmRpbmdzIG9mIGEg cGFydGljdWxhciBzcGVjaWZpYyBwcm9jZWR1cmUgdG8gYSBnZW5lcmljDQppbnRlcmZhY2UuICBJ dCBpcyB1bmhlbHBmdWwgdG8gdXNlcnMsIGFuZCBjYW4gYmUgaHVydGZ1bCBpZiB0aGUNCm11bHRp cGxlIGJpbmRpbmdzIGFyZSBzcGVjaWZpZWQgYnkgaW5kZXBlbmRlbnQgZ2VuZXJpYyBpbnRlcmZh Y2VzIGFuZA0KYnJvdWdodCBpbnRvIGEgc2NvcGluZyB1bml0IGJ5IHVzZSBhc3NvY2lhdGlvbiBm cm9tIGRpZmZlcmVudA0KbW9kdWxlcy4gIFRoZXJlIHdhcyBubyBlcXVpdmFsZW50IGNvbnN0cmFp bnQgaW4gRm9ydHJhbiA5MCwgYWx0aG91Z2gNCnNvbWV0aGluZyBsaWtlIGl0IHdhcyBhZGRlZCBi eSBpbnRlcnAgRjkwLzAwMDAwNy4gIFRoZSBjb25zdHJhaW50DQphZGRlZCB0aGVyZSBhcHBsaWVk IG9ubHkgdG8gYSBzaW5nbGUgc3BlY2lmaWNhdGlvbiBwYXJ0LiAgSXQncyBub3QNCmNsZWFyIHdo ZXRoZXIgdGhhdCBtZWFudCAiZGVjbGFyZWQgaW4gdGhlIHNhbWUgc3BlY2lmaWNhdGlvbiBwYXJ0 IiBvcg0KImFjY2Vzc2libGUgaW4gdGhlIHNhbWUgc3BlY2lmaWNhdGlvbiBwYXJ0LiIgIFdoZW4g aXQgd2FzIHB1dCBpbnRvDQpGb3J0cmFuIDk1LCBpdCBjbGVhcmx5IGFwcGxpZWQgdG8gYWxsIGFj Y2Vzc2libGUgZ2VuZXJpYyBpbnRlcmZhY2VzDQp3aXRoIGEgcGFydGljdWxhciA8Z2VuZXJpYy1z cGVjPi4gIEdpdmVuIHRoZSBtdWx0aXR1ZGUgb2YgbmV3IHdheXMgdG8NCmJyaW5nIHNwZWNpZmlj IHByb2NlZHVyZXMgaW50byBhIGdlbmVyaWMgaW50ZXJmYWNlIGluIEZvcnRyYW4gMjAwMywNCmFu ZCB0aGF0IG1hbnkgb2YgdGhvc2Ugd2F5cyBhbGxvdyBhIHNwZWNpZmljIHByb2NlZHVyZSB0byBi ZSBib3VuZCB0bw0KYSBnZW5lcmljIGlkZW50aWZpZXIgbW9yZSB0aGFuIG9uY2UsIHRoaXMgY29u c3BpY3VvdXNseSBsb25lbHkNCmNvbnN0cmFpbnQgc2hvdWxkIGJlIHJlbW92ZWQuICBFZGl0cyBh cmUgc3VwcGxpZWQgdG8gY29ycmVjdCB0aGlzDQpvdmVyc2lnaHQuDQoNCkVESVRTOg0KDQpSZW1v dmUgQzEyMDkgZnJvbSAxMi4zLjIuMS4NCg0KU1VCTUlUVEVEIEJZOiAgVmFuIFNueWRlcg0KDQpI SVNUT1JZOiAwNC00MDYgICAgbTE3MCAgRjAzLzAwMTkgU3VibWl0dGVkDQogICAgICAgICAwNC00 MDZyMSAgbTE3MCAgUGFzc2VkIEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE0NiAgICBtMTcxICBQ YXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTANCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBGYWls ZWQgV0c1IGJhbGxvdCBOMTY1Nw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwMjEN ClRJVExFOiBXaGF0IGtpbmQgb2YgdG9rZW4gaXMgYSBzdG9wIGNvZGU/DQpLRVlXT1JEUzogU1RP UCwgdG9rZW4NCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24g aW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNClRoZSA8c3RvcC1jb2RlPiwgd2hlbiBpdCBpcyBh IHN0cmluZyBvZiA8ZGlnaXQ+cywgZG9lcyBub3QgYXBwZWFyIHRvDQpiZSBzcGVjaWZpZWQgYnkg dGhlIHN0YW5kYXJkIHRvIGJlIGFueSBwYXJ0aWN1bGFyIGtpbmQgb2YgdG9rZW4uICBPcg0KaW5k ZWVkIHdoZXRoZXIgaXQgaXMgb25lIHRva2VuIHBlciA8ZGlnaXQ+IG9yIG9uZSBwZXIgPHN0b3At Y29kZT4uDQoNClRoZSBhbnN3ZXIgdG8gdGhlc2UgcXVlc3Rpb25zIGRldGVybWluZXMgd2hldGhl ciBibGFua3MgYXJlIGFsbG93ZWQsDQpkaXNhbGxvd2VkLCBvciBvcHRpb25hbCwgaW4gdGhlIG1p ZGRsZSBvZiBhIFNUT1Agc3RhdGVtZW50IGluIGZyZWUNCmZvcm0uDQoNCkNvbnNpZGVyIHRoZSBm b2xsb3dpbmcgc3RhdGVtZW50czoNCigxKSBTVE9QIDEyMw0KKDIpIFNUT1AxMjMNCigzKSBTVE9Q IDEgMiAzDQoNCldoaWNoLCBpZiBhbnksIG9mIHRoZXNlIHN0YXRlbWVudHMgYXJlIHN0YW5kYXJk LWNvbmZvcm1pbmc/DQoNCkFOU1dFUjoNCg0KT25seSBzdGF0ZW1lbnQgKDEpIHdhcyBpbnRlbmRl ZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nLg0KRWRpdHMgYXJlIHN1cHBsaWVkIHRvIGNsYXJp ZnkgdGhlIHNpdHVhdGlvbi4NCg0KRURJVFM6DQoNClsxNzA6MjNdIFJlcGxhY2Ugd2l0aCAiPDxv cj4+IDxpbnQtbGl0ZXJhbC1jb25zdGFudD4iDQoNClsxNzA6MjQrXSBJbnNlcnQgbmV3IGNvbnN0 cmFpbnQNCiAiQzgzNGEgKFI4NTApIFRoZSA8aW50LWxpdGVyYWwtY29uc3RhbnQ+IHNoYWxsIG5v dCBoYXZlIGENCiAgICAgICAgPGtpbmQtcGFyYW0+IGFuZCBzaGFsbCBub3QgaGF2ZSBtb3JlIHRo YW4gNSA8ZGlnaXQ+cy4iDQoNClsxNzA6MjddIEFmdGVyICJzaWduaWZpY2FudCIgaW5zZXJ0DQog ICJhbmQgYWxsIHN0b3AgY29kZXMgYXJlIHBlcm1pc3NpYmxlIGV2ZW4gaWYgbm90IHJlcHJlc2Vu dGFibGUgaW4gdGhlDQogICBkZWZhdWx0IGludGVnZXIgdHlwZSINCg0KU1VCTUlUVEVEIEJZOiBN YWxjb2xtIENvaGVuDQoNCkhJU1RPUlk6IDA0LTQxNiAgbTE3MCAgRjAzLzAwMjEgU3VibWl0dGVk IC0gUGFzc2VkIGJ5IEozIG1lZXRpbmcNCiAgICAgICAgIDA1LTE0NiAgbTE3MSAgRmFpbGVkIEoz IGxldHRlciBiYWxsb3QgIzEwDQoNCiAgUm9iIEphbWVzJyBOTyBjb21tZW50IGZvciBGMDMvMDAy MToNCg0KICAgIFRoZSBsYXN0IGVkaXQgZG9lcyBub3QgbWFrZSBzZW5zZSBmb3IgYW4gPGludC1s aXRlcmFsLWNvbnN0YW50PiB0aGF0DQogICAgZG9lcyBub3QgaGF2ZSBhIDxraW5kLXBhcmFtPi4g IFszNjozNy0zOF0gZXhwbGljaXRseSBzdGF0ZXMgdGhhdA0KICAgIHN1Y2ggYW4gPGludC1saXRl cmFsLWNvbnN0YW50PiBpcyBvZiB0eXBlIGRlZmF1bHQgaW50ZWdlci4gIFRoZQ0KICAgIGxhc3Qg ZWRpdCwgaG93ZXZlciwgc2F5cyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGlzIGNvbnN0YW50IGRvZXMg bm90DQogICAgaGF2ZSB0byBiZSByZXByZXNlbnRhYmxlIGluIHRoZSBkZWZhdWx0IGludGVnZXIg dHlwZS4gIEhvdyBjYW4gYQ0KICAgIGRlZmF1bHQgaW50ZWdlciBub3QgY29udGFpbiBhIHZhbHVl IHJlcHJlc2VudGFibGUgaW4gdGhlIGRlZmF1bHQNCiAgICBpbnRlZ2VyIHR5cGU/DQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCg0KTlVNQkVSOiBGMDMvMDAyMg0KVElUTEU6IENvZXhpc3RlbmNlIG9mIElFRUUg YW5kIG5vbi1JRUVFIGtpbmRzDQpLRVlXT1JEUzogSUVFRSwga2luZA0KREVGRUNUIFRZUEU6IElu dGVycHJldGF0aW9uDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVF U1RJT046DQoNCklzIGl0IGFsbG93ZWQgZm9yIGEgcHJvY2Vzc29yIHRvIGhhdmUgb25lIG9yIG1v cmUgcmVhbCBraW5kcyBmb3Igd2hpY2gNCnRoZXJlIGlzIG5vIElFRUUgc3VwcG9ydCwgd2hpbGUg YWxzbyBoYXZpbmcgcmVhbCBraW5kcyBmb3Igd2hpY2ggdGhlcmUNCmlzIElFRUUgc3VwcG9ydD8N Cg0KTXVjaCBvZiB0aGUgSUVFRSBtYXRlcmlhbCBhcHBlYXJzIHRvIGFzc3VtZSB0aGF0IGEgcHJv Y2Vzc29yIGNvdWxkDQpzaW11bHRhbmVvdXNseSBzdXBwb3J0IGJvdGggSUVFRSBhbmQgbm9uLUlF RUUga2luZHMuICBJIHRob3VnaHQgdGhpcw0Kd2FzIHRoZSBpbnRlbnQuICBIb3dldmVyLCB0aGUg Zmlyc3Qgc2VudGVuY2Ugb2YgdGhlIHNlY29uZCBwYXJhZ3JhcGgNCmluIHNlY3Rpb24gMTQgc2F5 cyB0aGF0IGlmIElFRUVfRVhDRVBUSU9OUyBvciBJRUVFX0FSSVRITUVUSUMgaXMNCmFjY2Vzc2li bGUgaW4gYSBzY29waW5nIHVuaXQsIHRoZW4gSUVFRV9PVkVSRkxPVyBhbmQNCklFRUVfRElWSURF X0JZX1pFUk8gYXJlIHN1cHBvcnRlZCBpbiB0aGUgc2NvcGluZyB1bml0IGZvciAqQUxMKg0KW2Vt cGhhc2lzIG1pbmVdIGtpbmRzIG9mIHJlYWwgYW5kIGNvbXBsZXggZGF0YS4gIFRoaXMgc2F5cyB0 byBtZQ0KdGhhdCBpZiB0aGVyZSBpcyBhbnkga2luZCBvZiByZWFsIGZvciB3aGljaCB0aGUgcHJv Y2Vzc29yIGNhbm5vdA0Kc3VwcG9ydCBJRUVFX09WRVJGTE9XIG9yIElFRUVfRElWSURFX0JZX1pF Uk8sIHRoZW4gcHJldHR5IG11Y2ggbm9uZQ0Kb2YgdGhlIElFRUUgc3R1ZmYgY2FuIGJlIHVzZWQg b24gdGhhdCBwcm9jZXNzb3IgYXQgYWxsOyB0aGVyZQ0KaXNuJ3QgbXVjaCBvZiB0aGUgSUVFRSBz dHVmZiB0aGF0IGNhbiBiZSB1c2VkIHdpdGhvdXQgSUVFRV9BUklUSE1FVElDDQpvciBJRUVFX0VY Q0VQVElPTlMuICBUaGlzIHNlZW1zIGRyYWNvbmlhbiBhbmQgdW5pbnRlbmRlZC4NCg0KSSBzcGVj dWxhdGUgdGhhdCB0aGlzIGNvbmRpdGlvbiBpcyBpbnRlbmRlZCB0byBhcHBseSB0byBhbGwgSUVF RQ0KcmVhbCBraW5kcyByYXRoZXIgdGhhbiB0byBhbGwgcmVhbCBraW5kcy4NCg0KQU5TV0VSOg0K DQpZZXMsIHRoaXMgaXMgYWxsb3dlZC4NCg0KVGhlIHJlcXVpcmVtZW50IHRoYXQgSUVFRV9PVkVS RkxPVyBhbmQgSUVFRV9ESVZJREVfQllfWkVSTyBiZQ0Kc3VwcG9ydGVkIGZvciBhbGwga2luZHMg b2YgcmVhbCBhbmQgY29tcGxleCBkYXRhIHdpdGhpbiB0aGF0DQpzY29waW5nIHVuaXQgd2FzIGlu dGVudGlvbmFsLg0KDQpTdXBwb3J0IG9mIHRoZXNlIHR3byBmbGFncyBtZWFucyB0aGF0IHRoZSBl eGNlcHRpb25zIGNhbiBiZSBkZXRlY3RlZCwNCmVpdGhlciBieSBhIHN1YnNlcXVlbnQgdXNlIG9m IElFRUVfR0VUX0ZMQUcgb3IgYnkgcHJvZ3JhbSB0ZXJtaW5hdGlvbg0KKHRoaXMgaXMgbm90IHVu ZGVyIHByb2dyYW0gY29udHJvbCB1bmxlc3MgSUVFRV9TVVBQT1JUX0hBTFRJTkcgaXMgdHJ1ZQ0K Zm9yIHRob3NlIGZsYWdzKS4NCg0KV2hldGhlciB0aGUgZmxhZ3MgYXJlIHN1cHBvcnRlZCBvdXRz aWRlIG9mIGEgcm91dGluZSB3aGljaCB1c2VzDQpJRUVFX0VYQ0VQVElPTlMgb3IgSUVFRV9BUklU SE1FVElDIGlzIHByb2Nlc3NvciBkZXBlbmRlbnQuDQoNCkVESVRTOg0KDQpOb25lLg0KDQpTVUJN SVRURUQgQlk6IFJpY2hhcmQgTWFpbmUNCg0KSElTVE9SWTogMDQtNDE5ICAgIG0xNzAgIEYwMy8w MDIyIFN1Ym1pdHRlZA0KICAgICAgICAgMDQtNDE5cjEgIG0xNzAgIFBhc3NlZCBieSBKMyBtZWV0 aW5nDQogICAgICAgICAwNS0xNDYgICAgbTE3MSAgRmFpbGVkIEozIGxldHRlciBiYWxsb3QgIzEw DQoNCiAgRGljayBIZW5kcmlja3NvbidzIE5PIGNvbW1lbnQgb24gRjAzLzAwMjI6DQoNCiAgICBU aGUgYW5zd2VyIGRvZXNuJ3QgYXBwZWFyIHRvIGFuc3dlciB0aGUgZGV0YWlscyBvZiB0aGUNCiAg ICBxdWVzdGlvbi4gIFNheWluZyB0aGF0IElFRUUgYW5kIG5vbi1JRUVFIHJlYWxzIGFyZSBib3Ro DQogICAgYWxsb3dlZCBpcyBub3QgYW4gYW5zd2VyIHRoZSBxdWVzdGlvbiBhYm91dCBSRVFVSVJJ TkcNCiAgICBvdmVyZmxvdyBhbmQgZGl2aWRlIGJ5IHplcm8gZm9yIHRoZSBOT04tSUVFRSByZWFs cyBpbiB0aGUNCiAgICBzZWNvbmQgcGFyYWdyYXBoLiAgV2hhdCBwcmFjdGljYWwgdXNlIGlzIHRo ZXJlIGluIHJlcXVpcmluZw0KICAgIGEgcHJvY2Vzc29yIHRvIHN1cHBvcnQgb3ZlcmZsb3cgYW5k IGRpdmlkZS1ieS16ZXJvIGZvcg0KICAgIE5PTi1JRUVFIHJlYWxzIGluIGEgc3Vicm91dGluZSB0 aGF0IHVzZXMgYm90aCBraW5kcyBvZg0KICAgIHJlYWxzPyAgU3VyZWx5IHRoZSBwdXJwb3NlIG9m IE5PTi1JRUVFIHJlYWxzIGlzIHRoYXQgdGhleQ0KICAgIGFyZSBub3QgYm91bmQgYnkgdGhlIHNh bWUgcnVsZXMgYXMgdGhlIElFRUUgcmVhbHMgYXJlLg0KICAgIFdoeSB3YXMgaXQgaW50ZW50aW9u YWwgdG8gYmluZCBhdCBsZWFzdCBzb21lIG9mIHRoZSBJRUVFDQogICAgcnVsZXMgdG8gdGhlbT8g ICBUaGUgYW5zd2VyIHNob3VsZCBiZSByZXZlcnNlZCB0byBzdGF0ZQ0KICAgIHRoYXQgdGhlIHNw ZWN1bGF0aW9uIGluIHRoZSBsYXN0IHBhcmFncnBhaCBvZiB0aGUgcXVlc3Rpb24NCiAgICBpcyBj b3JyZWN0LCBhbmQgZWRpdHMgcHJvdmlkZWQuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiAg RjAzLzAwMjQNClRJVExFOiBERUFMTE9DQVRFIGFuZCBhcnJheSBwb2ludGVycw0KS0VZV09SRFM6 IERFQUxMT0NBVEUsIGFycmF5IHBvaW50ZXJzDQpERUZFQ1QgVFlQRTogIEludGVycHJldGF0aW9u DQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNCldl IGN1cnJlbnRseSBzYXkgdGhhdCBvbmUgY2FuIGRlYWxsb2NhdGUgYW4gYXJyYXkgcG9pbnRlciBp ZiBpdA0KcG9pbnRzIHRvIHRoZSAid2hvbGUgb2YgYW4gb2JqZWN0IHRoYXQgd2FzIGNyZWF0ZWQg YnkgYWxsb2NhdGlvbiIuDQpXaGF0IGV4YWN0bHkgZG9lcyAid2hvbGUiIG1lYW4gaW4gdGhpcyBy dWxlPw0KDQpTcGVjaWZpY2FsbHksIGlzIHRoZSBmb2xsb3dpbmcgYWxsb3dlZDoNCg0KUkVBTCwg RElNRU5TSU9OKDopLCBQT0lOVEVSIDo6IGEsIGINCkFMTE9DQVRFKGEoMToxMCkpDQpiPT5hKDE6 MTApDQpERUFMTE9DQVRFKGIpDQoNCkFOU1dFUjoNCg0KWWVzLCB0aGlzIGlzIGFsbG93ZWQsIHNp bmNlICJ3aG9sZSIgbWVhbnMgdGhhdCBiIGlzDQpBU1NPQ0lBVEVEIHdpdGggYWxsIGVsZW1lbnRz IG9mIGFuIGFycmF5IHRoYXQgd2FzIEFMTE9DQVRFZC4NCkluIHRoZSBnaXZlbiBleGFtcGxlLCBB U1NPQ0lBVEVEKGEsYikgaXMgLlRSVUUuLCB0aGVyZWZvcmUgZWl0aGVyDQphIG9yIGIgY2FuIGJl IHVzZWQgdG8gREVBTExPQ0FURSB0aGUgbWVtb3J5Lg0KDQpFRElUUzogIE5vbmUNCg0KU1VCTUlU VEVEIEJZOiBBbGVrc2FuZGFyIERvbmV2DQoNCkhJU1RPUlk6IDA0LTM3OCAgICBtMTcwICBGMDMv MDAyNCBTdWJtaXR0ZWQNCiAgICAgICAgIDA0LTM3OHIxICBtMTcwICBQYXNzZWQgYnkgSjMgbWVl dGluZw0KICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIEZhaWxlZCBKMyBsZXR0ZXIgYmFsbG90ICMx MA0KDQogIERpY2sgSGVuZHJpY2tzb24ncyBOTyBjb21tZW50IGZvciBGMDMvMDAyNDoNCg0KICAg IFRoZSBhbnN3ZXIgYXBwZWFycyB0byBiZSBpbmNvbXBsZXRlLiAgVGhlIHF1ZXN0aW9uIGlzDQog ICAgIldoYXQgZXhhY3RseSBkb2VzICJ3aG9sZSIgbWVhbiBpbiB0aGlzIHJ1bGUiLCBidXQNCiAg ICB0aGUgYW5zd2VyIGFwcGVhcnMgdG8gYmUgbGltaXRlZCBqdXN0IHRvIHRoZSBzcGVjaWZpYw0K ICAgIGV4YW1wbGUgZ2l2ZW4uICBXZSBhbHNvIG5lZWQgdG8gY29uc2lkZXIgdGhpbmdzIGxpa2UN CiAgICAgICAgICAgYj0+YSgxMDoxOi0xKQ0KICAgIEFsc28sIHBpbmluZyB0aGUgYW5zd2VyIHRv IEFTU09DSUFURUQgaXMgcmlza3kgZm9yDQogICAgdW5kZXJzdGFuZGluZyBvdGhlciBjYXNlcy4g IEFTU09DSUFURUQgaXMgdHJ1ZSBmb3INCiAgICB6ZXJvIHNpemVkIHRoaW5ncy4gIEdpdmVuDQog ICAgICAgICAgIEFMTE9DQVRFKEEoMCksQygwKSkNCiAgICAgICAgICAgYj0+Qw0KICAgIHRoZW4g QVNTT0NJQVRFRChCLEEpIGlzIHRydWUsIHlldCBBIGlzbid0IGRlYWxsb2NhdGVkLg0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQoNCk5VTUJFUjogIEYwMy8wMDMwDQpUSVRMRTogIElFRUUgZGl2aWRlIGJ5IHpl cm8NCktFWVdPUkRTOiBJRUVFLTc1NCwgZGl2aWRlLWJ5LXplcm8NCkRFRkVDVCBUWVBFOiBFcnJh dHVtDQpTVEFUVVM6IEozIGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoN CklzIGluZmluaXR5IC8gMC4wIGEgZGl2aWRlIGJ5IHplcm8gZXhjZXB0aW9uPw0KSXMgTmFOIC8g MC4wIGEgZGl2aWRlIGJ5IHplcm8gZXhjZXB0aW9uPw0KDQpGb3J0cmFuIDIwMDMgZGVmaW5lcyAo aW4gMTQuMikgaW5maW5pdHkgLyB6ZXJvIGFuZCBOYU4gLyB6ZXJvDQpjYXNlcyBhcyBJRUVFX0RJ VklERV9CWV9aRVJPLiAgSUVFRS03NTQgZGVmaW5lcyAoaW4gNi4xIGFuZCA2LjIpDQp0aG9zZSB0 d28gYXMgdW5leGNlcHRpb25hbC4NCg0KQU5TV0VSOg0KDQpPbiBhbiBJRUVFLWNvbmZvcm1hbnQg cHJvY2Vzc29yLCB0aGVzZSBjYXNlcyBkbyBub3QgcmFpc2UgZXhjZXB0aW9ucw0KKHNlZSBjbGF1 c2VzIDYuMSBhbmQgNi4yIG9mIElFRUUtNzU0KS4NCg0KVGhlIGRlZmluaXRpb25zIGluIDE0LjIg d2VyZSBpbnRlbmRlZCB0byBkZXNjcmliZSBJRUVFIGV4Y2VwdGlvbnMgd2l0aA0Kc3VmZmljaWVu dCBsYXRpdHVkZSB0byBhbGxvdyB1c2Ugb24gbmVhci1JRUVFIGFuZCBub24tSUVFRSBtYWNoaW5l cy4NCkhvd2V2ZXIsIHRoZSBkZWZpbml0aW9uIG9mIElFRUVfRElWSURFX0JZX1pFUk8gaXMgbm90 IGNvbnNpc3RlbnQgd2l0aA0KdGhlIElFRUUgSW50ZXJuYXRpb25hbCBTdGFuZGFyZC4NCg0KRnVy dGhlcm1vcmUsIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBJRUVFX09WRVJGTE9XIGZsYWcgaXMgYWxz byBub3QNCmNvbnNpc3RlbnQgd2l0aCB0aGUgSUVFRSBzdGFuZGFyZCwgYmVjYXVzZSB0aGlzIGV4 Y2VwdGlvbiBpcyBub3QNCnJhaXNlZCBmb3Igb3BlcmF0aW9ucyBvbiBpbmZpbml0ZSBvcGVyYW5k cy4NCg0KRWRpdHMgYXJlIHByb3ZpZGVkIHRvIGZpeCB0aGVzZSBpbmNvbnNpc3RlbmNpZXMuDQoN CkVESVRTOg0KDQpQYWdlIGFuZCBsaW5lIG51bWJlcnMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbMzY1 OjEzLTE1XSBDbGF1c2UgMTQuMiwgbGluZXMgMyBhbmQgNS4gQWZ0ZXIgImFzc2lnbm1lbnQiIGFk ZA0KIndpdGggZmluaXRlIG9wZXJhbmRzIiwgdHdpY2UuDQoNClszNjU6MThdIENsYXVzZSAxNC4y LCBsaW5lIDguICBDaGFuZ2UgIm5vbnplcm8gbnVtZXJhdG9yIiB0bw0KImZpbml0ZSBub256ZXJv IG51bWVyYXRvciIuDQoNClNVQk1JVFRFRCBCWTogRnJlZCBUeWRlbWFuDQoNCkhJU1RPUlk6IDA1 LTEwOSAgICBtMTcxICBGMDMvMDAzMCBTdWJtaXR0ZWQNCiAgICAgICAgIDA1LTEwOXIxICBtMTcx ICBSZXZpc2VkIHRvIGluY2x1ZGUgSUVFRV9PVkVSRkxPVywNCiAgICAgICAgICAgICAgICAgICAg ICAgICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTcwICAgIG0xNzIgIFBhc3Nl ZCBKMyBsZXR0ZXIgYmFsbG90ICMxMQ0KICAgICAgICAgTjE2MjIgICAgIG0xNzIgIEZhaWxlZCBX RzUgYmFsbG90IE4xNjI5DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiAgRjAzLzAwMzQNClRJ VExFOiAgSUVFRV9MT0dCKCkNCktFWVdPUkRTOiBJRUVFLTc1NCwgbG9nYigpDQpERUZFQ1QgVFlQ RTogRXJyYXR1bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNU SU9OOg0KDQpXaGF0IGlzIGxvZ2IoZGVub3JtYWwpPyAgSXMgaXQgb2YgdGhlIGhhcmR3YXJlIHJl cHJlc2VudGF0aW9uLA0Kb3IgaXMgaXQgYXMgaWYgdGhlIGhhcmR3YXJlIGhhZCBhbiB1bmJvdW5k ZWQgZXhwb25lbnQgcmFuZ2U/DQoNCldoYXQgaXMgbG9nYihOYU4pPyAgbG9nYigtSU5GKT8gIGxv Z2IoK0lORik/DQoNCmxvZ2IoKSBzaG91bGQgYmUgZGVmaW5lZCBhcyBpZiB0aGUgaGFyZHdhcmUg cmVwcmVzZW50YXRpb24gaGFkDQphbiB1bmJvdW5kZWQgZXhwb25lbnQgcmFuZ2UuDQoNCmxvZ2Io TmFOKSBzaG91bGQgYmUgdGhlIHNhbWUgTmFOOyBzaGFsbCBiZSBhIE5hTi4NCg0KbG9nYigtSU5G KSBzaGFsbCBiZSArSU5GDQoNCmxvZ2IoK0lORikgc2hhbGwgYmUgK0lORg0KDQpBTlNXRVI6DQoN ClRoZSBmaXJzdCBwYXJhZ3JhcGggb2YgMTQuOCBzdGF0ZXMgIkNvbXBsZXRlIGNvbmZvcm1hbmNl IHdpdGggdGhlDQpJRUVFIEludGVybmF0aW9uYWwgU3RhbmRhcmQgaXMgbm90IHJlcXVpcmVkLCBi dXQgLi4uIHRoZSBmdW5jdGlvbnMNCmNvcHlzaWduLCBzY2FsYiwgbG9nYiwgbmV4dGFmdGVyLCBy ZW0sIGFuZCB1bm9yZGVyZWQgc2hhbGwgYmUNCnByb3ZpZGVkIGJ5IHRoZSBmdW5jdGlvbnMgSUVF RV9DT1BZX1NJR04sIElFRUVfU0NBTEIsIElFRUVfTE9HQiwNCklFRUVfTkVYVF9BRlRFUiwgSUVF RV9SRU0sIGFuZCBJRUVFX1VOT1JERVJFRC4iDQoNCkNhc2UgKGkpIG9mIDE0LjEwLjEyIGNvcnJl Y3RseSBzcGVjaWZpZXMgdGhhdCBpZiB0aGUgdmFsdWUgb2YgWCBpcw0KZGVub3JtYWwsIGl0cyB1 bmJpYXNlZCBleHBvbmVudCBpcyByZXR1cm5lZDsgaG93ZXZlciwgdGhlIG5vdGUgdGhlcmUNCmlz IHdyb25nIGluIHRoaXMgY2FzZS4gQW4gZWRpdCBpcyBzdXBwbGllZC4NCg0KRm9yIGNvbnNpc3Rl bmN5IHdpdGggdGhlIElFRUUgSW50ZXJuYXRpb25hbCBTdGFuZGFyZCwgYW4gZWRpdCBpcw0KYWxz byBzdXBwbGllZCBmb3IgdGhlIGNhc2Ugd2hlcmUgWCBpcyBpbmZpbml0ZS4NCg0KRURJVFM6DQoN ClBhZ2UgYW5kIGxpbmUgbnVtYmVycyByZWZlciB0byAwNC0wMDcuDQoNClszNzY6MTVdLiBTdWJj bGF1c2UgMTQuMTAuMTIsIFJlc3VsdCBWYWx1ZSwgbGluZSAyLiBBZnRlciAiTm90ZToiIGFkZA0K ImlmIFggaXMgbm9ybWFsLCIuDQoNClszNzY6MTcrXS4gU3ViY2xhdXNlIDE0LjEwLjEyLCBSZXN1 bHQgVmFsdWUuIEFkZCBleHRyYSBjYXNlOg0KIkNhc2UgKGlpaSkgSWYgSUVFRV9TVVBQT1JUX0lO RihYKSBpcyB0cnVlIGFuZCBYIGlzIGluZmluaXRlLCB0aGUNCiAgICAgICAgICAgIHJlc3VsdCBp cyAraW5maW5pdHkuIiAuDQoNClNVQk1JVFRFRCBCWTogRnJlZCBUeWRlbWFuDQoNCkhJU1RPUlk6 IDA1LTExMyAgICBtMTcxICBGMDMvMDAzNCBTdWJtaXR0ZWQNCiAgICAgICAgIDA1LTExM3IxICBt MTcxICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTcwICAgIG0xNzIgIFBhc3Nl ZCBKMyBsZXR0ZXIgYmFsbG90ICMxMQ0KICAgICAgICAgTjE2MjIgICAgIG0xNzIgIEZhaWxlZCBX RzUgYmFsbG90IE4xNjI5DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVSOiAgRjAzLzAwMzkNClRJ VExFOiAgSFlQT1QoKQ0KS0VZV09SRFM6IElFRUUtNzU0LCBoeXBvdCgpDQpERUZFQ1QgVFlQRTog RXJyYXR1bQ0KU1RBVFVTOiBKMyBjb25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9O Og0KDQpXaGF0IGlzIEhZUE9UKE5hTixpbmZpbml0eSk/IEhZUE9UKE5hTixmaW5pdGUpPw0KDQpI WVBPVChYLFkpIHdoZW4gWCBhbmQvb3IgWSBpcyBhbiBpbmZpbml0eSAoZXZlbiBpZiB0aGUgb3Ro ZXIgaXMNCmEgTmFOKSBzaGFsbCBiZSAraW5maW5pdHkuICBSZWFzb246IGh5cG90KCksIHdoZW4g b25lIG9mIHRoZQ0KYXJndW1lbnRzIGlzIGFuIGluZmluaXR5LCBpcyAraW5maW5pdHkgaW5kZXBl bmRlbnQgb2YgdGhlDQp2YWx1ZSBvZiB0aGUgb3RoZXIgYXJndW1lbnQuICBTbywgaWYgdGhlIE5h TiBhcmd1bWVudCBpcw0KcmVwbGFjZWQgYnkgemVybywgYW55IGZpbml0ZSBudW1iZXIsIG9yIGFu eSBpbmZpbml0eSwNCmh5cG90KGluZmluaXR5LE5hTikgaXMgc3RpbGwgaW5maW5pdHkuDQoNCkhZ UE9UKFgsWSkgd2hlbiBYIGFuZC9vciBZIGlzIGEgTmFOIChhbmQgbmVpdGhlciBpcyBpbmZpbml0 ZSkNCnNoYWxsIGJlIGEgTmFOLCBhbmQgc2hvdWxkIG9uZSBvZiB0aGUgTmFOIGFyZ3VtZW50cy4N Cg0KQU5TV0VSOg0KDQpUaGUgSFlQT1QgZXhhbXBsZSBpbiBub3RlIDE0LjE3IGlsbHVzdHJhdGVz IHRoZSB1c2Ugb2YgdGhlIGZlYXR1cmVzDQpvZiB0aGlzIHNlY3Rpb24gdG8gcHJvdmlkZSByZWxp YWJsZSBzb2Z0d2FyZSB0aGF0IGlzIGZhc3QgaW4gdGhlDQp1bmNvbXBsaWNhdGVkIGNhc2UuICBX ZSBkaWQgbm90IGNvbnNpZGVyIHdoYXQgd291bGQgaGFwcGVuIGlmIG9uZQ0Kb2YgdGhlIGFyZ3Vt ZW50cyBpcyBhIE5hTiBhbmQgaGF2ZSB0aGVyZWZvcmUgZWRpdGVkIHRoZSB0ZXh0IHNsaWdodGx5 Lg0KDQpESVNDVVNTSU9OOg0KDQpJbiBmYWN0LCBpZiBlaXRoZXIgWCBvciBZIGlzIGEgTmFOLCB0 aGUgZmlyc3QgZXhlY3V0YWJsZSBzdGF0ZW1lbnQNCndpbGwgc2V0IEhZUE9UIHRvIGEgTmFOIHdp dGhvdXQgc2lnbmFsaW5nIGFuIGV4Y2VwdGlvbi4gVGhlIHNsb3dlcg0KY29kZSBpbiB0aGUgSUYg Y29uc3RydWN0IHdpbGwgdGhlcmVmb3JlIG5vdCBiZSBleGVjdXRlZCBhbmQgYSBOYU4NCndpbGwg YmUgcmV0dXJuZWQsIHdoaWNoIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgd2F5IE5hTnMgYXJlIGhh bmRsZWQNCmJ5IGludHJpbnNpYyBvcGVyYXRvcnMsIHNlZSBwYXJhZ3JhcGggMyBvZiBzZWN0aW9u IDYuMiBvZiB0aGUNCklFRUUgSW50ZXJuYXRpb25hbCBTdGFuZGFyZC4NCg0KRURJVFM6DQoNClBh Z2UgYW5kIGxpbmUgbnVtYmVycyByZWZlciB0byAwNC0wMDcuDQoNClszODk6MTJdLiBTdWJjbGF1 c2UgMTQuMTEsIE5vdGUgMTQuMTcsIGZpbmFsIHBhcmFncmFwaCwgbGluZSAyLg0KQmVmb3JlICJl eGNlcHRpb24iIGFkZCAib3ZlcmZsb3cgb3IgdW5kZXJmbG93Ii4NCg0KWzM4OToxNitdLiBTdWJj bGF1c2UgMTQuMTEsIE5vdGUgMTQuMTcsIGF0IHRoZSBlbmQgb2YgdGhlIGZpbmFsDQpwYXJhZ3Jh cGgsIGFkZCAiVGhpcyBIWVBPVCBmdW5jdGlvbiBkb2VzIG5vdCBoYW5kbGUgaW5maW5pdGUgYXJn dW1lbnRzDQppbiB0aGUgc2FtZSB3YXkgdGhhdCB0aGUgaHlwb3QgZnVuY3Rpb24gaW4gdGhlIEMg SW50ZXJuYXRpb25hbA0KU3RhbmRhcmQgZG9lcy4iDQoNClNVQk1JVFRFRCBCWTogRnJlZCBUeWRl bWFuDQoNCkhJU1RPUlk6IDA1LTExOCAgICBtMTcxICBGMDMvMDAzOSBTdWJtaXR0ZWQNCiAgICAg ICAgIDA1LTExOHIzICBtMTcxICBQYXNzZWQgYnkgSjMgbWVldGluZw0KICAgICAgICAgMDUtMTcw ICAgIG0xNzIgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMQ0KICAgICAgICAgTjE2MjIgICAg IG0xNzIgIEZhaWxlZCBXRzUgYmFsbG90IE4xNjI5DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTlVNQkVS OiAgRjAzLzAwNDINClRJVExFOiAgSUVFRSBmdW5ueSB2YWx1ZXMgYW5kIFN0YW5kYXJkIHJlYWwg Z2VuZXJpYyBpbnRyaW5zaWMgDQogICAgICAgIHByb2NlZHVyZXMNCktFWVdPUkRTOiBJRUVFLTc1 NCwgcmVhbCBtYXRoIGxpYnJhcnkNCkRFRkVDVCBUWVBFOiBFcnJhdHVtIA0KU1RBVFVTOiBKMyBj b25zaWRlcmF0aW9uIGluIHByb2dyZXNzDQoNClFVRVNUSU9OOg0KDQpJcyBhbiBpbmZpbml0ZSBy ZXN1bHQgZnJvbSBhbiBpbmZpbml0ZSBhcmd1bWVudCB0byBhIHJlYWwgbWF0aA0KZnVuY3Rpb24g ZXhjZXB0aW9uYWwgKHJhaXNlcyBhbiBleGNlcHRpb24pPw0KDQpJcyBhIE5hTiByZXN1bHQgZnJv bSBhIE5hTiBhcmd1bWVudCB0byBhIHJlYWwgbWF0aCBmdW5jdGlvbg0KZXhjZXB0aW9uYWwgKHJh aXNlcyBhbiBleGNlcHRpb24pPw0KDQpXaGF0IGFyZSB0aGUgcmVzdWx0cyAodmFsdWUgYW5kIGV4 Y2VwdGlvbnMpIGZvciB0aGUgZm9sbG93aW5nDQooc2VjdGlvbiAxMy43LiopIHJlYWwgbWF0aCBs aWJyYXJ5IGZ1bmN0aW9ucyBbc3VnZ2VzdGVkIHJlc3VsdHMNCmZvciBtb3N0IGFyZSBpbmNsdWRl ZDsgbm8gZXhjZXB0aW9uIGhhcHBlbnMgdW5sZXNzIHNwZWNpZmllZF06DQoNCiBBQlMoLTAuMCkg cmV0dXJucyArMC4wDQogQUJTKCsvLWluZmluaXR5KSByZXR1cm5zICtpbmZpbml0eQ0KIEFCUyhO YU4pIHJldHVybnMgYSBOYU4NCg0KIEFDT1MoeCksIHdoZXJlIHx4fD4xLCByZXR1cm5zIGEgTmFO IGFuZCByYWlzZXMgaW52YWxpZA0KIEFDT1MoTmFOKSByZXR1cm5zIGEgTmFODQoNCiBBSU5UKC0w LjApIHJldHVybnMgLTAuMA0KIEFJTlQoTmFOKSByZXR1cm5zIGEgTmFODQogQUlOVCgraW5maW5p dHkpIHJldHVybnMgK2luZmluaXR5DQogQUlOVCgtaW5maW5pdHkpIHJldHVybnMgLWluZmluaXR5 DQoNCiBBTklOVCgtMC4wKSByZXR1cm5zIC0wLjANCiBBTklOVChOYU4pIHJldHVybnMgYSBOYU4N CiBBTklOVCgraW5maW5pdHkpIHJldHVybnMgK2luZmluaXR5DQogQU5JTlQoLWluZmluaXR5KSBy ZXR1cm5zIC1pbmZpbml0eQ0KDQogQVNJTih4KSwgd2hlcmUgfHh8PjEsIHJldHVybnMgYSBOYU4g YW5kIHJhaXNlcyBpbnZhbGlkDQogQVNJTihOYU4pIHJldHVybnMgYSBOYU4NCg0KIEFUQU4oLTAu MCkgcmV0dXJucyAtMC4wDQogQVRBTigraW5maW5pdHkpIHJldHVybnMgK3BpLzINCiBBVEFOKC1p bmZpbml0eSkgcmV0dXJucyAtcGkvMg0KIEFUQU4oTmFOKSByZXR1cm5zIGEgTmFODQogQVRBTjIo TmFOLHgpIHJldHVybnMgYSBOYU4NCiBBVEFOMih5LE5hTikgcmV0dXJucyBhIE5hTg0KIEFUQU4y KCsvLTAuMCwgLTAuMCkgcmV0dXJucyArLy1waSAoYW5kIG5vdCByYWlzZSBpbnZhbGlkKQ0KIEFU QU4yKCsvLTAuMCwgKzAuMCkgcmV0dXJucyArLy0wLjAgKGFuZCBub3QgcmFpc2UgaW52YWxpZCkN CiBBVEFOMigrLy0wLjAsIHgpIHJldHVybnMgKy8tcGkgZm9yIHggPCAwLjANCiBBVEFOMigrLy0w LjAsIHgpIHJldHVybnMgKy8tMC4wIGZvciB4ID4gMC4wDQogQVRBTjIoeSwgKy8tMC4wKSByZXR1 cm5zIC1waS8yIGZvciB5IDwgMC4wIA0KICAgICAgKGFuZCBub3QgcmFpc2UgZGl2aWRlIGJ5IHpl cm8pDQogQVRBTjIoeSwgKy8tMC4wKSByZXR1cm5zICtwaS8yIGZvciB5ID4gMC4wIA0KICAgICAg KGFuZCBub3QgcmFpc2UgZGl2aWRlIGJ5IHplcm8pDQogQVRBTjIoKy8teSwgLWluZmluaXR5KSBy ZXR1cm5zICsvLXBpIGZvciBmaW5pdGUgeSA+IDAuMA0KIEFUQU4yKCsvLXksICtpbmZpbml0eSkg cmV0dXJucyArLy0wLjAgZm9yIGZpbml0ZSB5IDwgMC4wDQogQVRBTjIoKy8taW5maW5pdHksIHgp IHJldHVybnMgKy8tcGkvMiBmb3IgZmluaXRlIHgNCiBBVEFOMigrLy1pbmZpbml0eSwgLWluZmlu aXR5KSByZXR1cm5zICsvLTNwaS80IA0KICAgICAgKGFuZCBub3QgcmFpc2UgaW52YWxpZCkNCiBB VEFOMigrLy1pbmZpbml0eSwgK2luZmluaXR5KSByZXR1cm5zICsvLXBpLzQgDQogICAgICAoYW5k IG5vdCByYWlzZSBpbnZhbGlkKQ0KDQogQ0VJTElORygrLy1pbmZpbml0eSkgcmV0dXJucyArLy1p bmZpbml0eQ0KIENFSUxJTkcoLTAuMCkgcmV0dXJucyAtMC4wDQogQ0VJTElORyhOYU4pIHJldHVy bnMgYSBOYU4NCg0KIENPUygrLy0wLjApIHJldHVybnMgMQ0KIENPUyhOYU4pIHJldHVybnMgYSBO YU4NCiBDT1MoKy8taW5maW5pdHkpIHJldHVybnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkDQoN CiBDT1NIKCsvLTAuMCkgcmV0dXJucyAxDQogQ09TSChOYU4pIHJldHVybnMgYSBOYU4NCiBDT1NI KCsvLWluZmluaXR5KSByZXR1cm5zIGEgK2luZmluaXR5IERJTShOYU4seSkgcmV0dXJucyBhIE5h Tg0KDQogRElNKHgsTmFOKSByZXR1cm5zIGEgTmFODQogRElNKCsvLTAuMCwgKy8tMC4wKSByZXR1 cm5zIGEgKzAuMA0KIERJTSgraW5maW5pdHksIC1pbmZpbml0eSkgcmV0dXJucyBhIE5hTiBhbmQg cmFpc2VzIGludmFsaWQNCiBESU0oK2luZmluaXR5LCAraW5maW5pdHkpIHJldHVybnMgKzAuMA0K IERJTSgtaW5maW5pdHksIC1pbmZpbml0eSkgcmV0dXJucyArMC4wDQogRElNKC1pbmZpbml0eSwg K2luZmluaXR5KSByZXR1cm5zICswLjANCg0KIERQUk9EKE5hTix5KSByZXR1cm5zIGEgTmFODQog RFBST0QoeCxOYU4pIHJldHVybnMgYSBOYU4NCiBEUFJPRCgrLy0wLjAsICsvLWluZmluaXR5KSBy ZXR1cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZA0KIERQUk9EKCsvLWluZmluaXR5LCArLy0w LjApIHJldHVybnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogRFBST0QoKy8taW5maW5pdHks ICsvLWluZmluaXR5KSByZXR1cm5zIGFuIGluZmluaXR5IHdpdGggaXRzIHNpZ24NCiBiZWluZyB0 aGUgWE9SIG9mIHRoZSBhcmd1bWVudHMsIGFuZCByYWlzZXMgbm8gZXhjZXB0aW9ucy4NCiBEUFJP RCgrLy0wLjAsICsvLTAuMCkgcmV0dXJucyBhIHplcm8gd2l0aCBpdHMgc2lnbg0KIGJlaW5nIHRo ZSBYT1Igb2YgdGhlIGFyZ3VtZW50cywgYW5kIHJhaXNlcyBubyBleGNlcHRpb25zLg0KDQogRVhQ KE5hTikgcmV0dXJucyBhIE5hTg0KIEVYUCgrLy0wLjApIHJldHVybnMgMQ0KIEVYUCgtaW5maW5p dHkpIHJldHVybnMgKzAuMA0KIEVYUCgraW5maW5pdHkpIHJldHVybnMgK2luZmluaXR5DQoNCiBF WFBPTkVOVCgrLy0wLjApIHJldHVybnMgMCBbc2hvdWxkIGJlIC1IVUdFKDApXSBhbmQgcmFpc2Vz IGludmFsaWQNCiBFWFBPTkVOVChOYU4pIHJldHVybnMgSFVHRSgwKSBhbmQgcmFpc2VzIGludmFs aWQNCiBFWFBPTkVOVCgrLy1JTkYpIHJldHVybnMgSFVHRSgwKSBhbmQgcmFpc2VzIGludmFsaWQN CiBFWFBPTkVOVChkZW5vcm1hbCkgcmV0dXJucyB0aGUgdmFsdWUgYXMgaWYgdGhlIG51bWJlciB3 ZXJlDQogICAgICAgICBub3JtYWxpemVkIGFuZCB0aGUgZXhwb25lbnQgcmFuZ2Ugd2VyZSB1bmJv dW5kZWQNCiBJZiAvZS8gaXMgbm90IHJlcHJlc2VudGFibGUgYXMgYSBkZWZhdWx0IGludGVnZXIs IGludmFsaWQgaXMgcmFpc2VkDQogICBhbmQgc2lnbigvZS8pKkhVR0UoMCkgc2hvdWxkIGJlIHJl dHVybmVkLg0KDQogRkxPT1IoTmFOKSByZXR1cm5zIGEgTmFODQogRkxPT1IoLTAuMCkgcmV0dXJu cyAtMC4wDQogRkxPT1IoKy8taW5maW5pdHkpIHJldHVybnMgKy8tIGluZmluaXR5DQoNCiBGUkFD VElPTigtMC4wKSByZXR1cm5zIC0wLjANCiBGUkFDVElPTihOYU4pIHJldHVybnMgYSBOYU4NCiBG UkFDVElPTihkZW5vcm1hbCkgcmV0dXJucyB0aGUgdmFsdWUgYXMgaWYgdGhlIG51bWJlciB3ZXJl DQogICAgICAgICBub3JtYWxpemVkIGFuZCB0aGUgZXhwb25lbnQgcmFuZ2Ugd2VyZSB1bmJvdW5k ZWQNCiBGUkFDVElPTigrLy1pbmZpbml0eSkgcmV0dXJucyArLy0gaW5maW5pdHkNCg0KIElOVChO YU4pIHJldHVybnMgYW4gdW5zcGVjaWZpZWQgdmFsdWUgYW5kIHJhaXNlcyBpbnZhbGlkDQogSU5U KCsvLWluZmluaXR5KSByZXR1cm5zIGFuIHVuc3BlY2lmaWVkIHZhbHVlIGFuZCByYWlzZXMNCiAg ICBpbnZhbGlkDQogSU5UKCsvLWxhcmdlKSwgd2hlcmUgbGFyZ2UgY2Fubm90IGJlIHJlcHJlc2Vu dGVkIGFzIGFuIGludGVnZXIsDQogICAgcmV0dXJucyBhbiB1bnNwZWNpZmllZCB2YWx1ZSBhbmQg cmFpc2VzIGludmFsaWQNCg0KIExPRygrLy0wLjApIHJldHVybnMgLWluZmluaXR5IGFuZCByYWlz ZXMgZGl2aWRlLWJ5LXplcm8NCiBMT0coTmFOKSByZXR1cm5zIGEgTmFODQogTE9HKDEuMCkgcmV0 dXJucyArMC4wDQogTE9HKHgpLCBmb3IgeCA8IDAsIHJldHVybnMgYSBOYU4gYW5kIHJhaXNlcyBp bnZhbGlkDQogTE9CKCtpbmZpbml0eSkgcmV0dXJucyAraW5maW5pdHkNCg0KIExPRzEwKCsvLTAu MCkgcmV0dXJucyAtaW5maW5pdHkgYW5kIHJhaXNlcyBkaXZpZGUtYnktemVybw0KIExPRzEwKE5h TikgcmV0dXJucyBhIE5hTg0KIExPRzEwKDEuMCkgcmV0dXJucyArMC4wDQogTE9HMTAoeCksIGZv ciB4IDwgMCwgcmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCiBMT0cxMCgraW5maW5p dHkpIHJldHVybnMgK2luZmluaXR5DQoNCiBNQVgoTmFOLE5hTikgcmV0dXJucyBhIE5hTg0KIE1B WChOYU4seSkgcmV0dXJucyB5IFtzb21lIHNheSBpdCBzaG91bGQgYmUgTmFOXQ0KIE1BWCh4LE5h TikgcmV0dXJucyB4IFtzb21lIHNheSBpdCBzaG91bGQgYmUgTmFOXQ0KIE1BWCgtMC4wLCswLjAp IHJldHVybnMgKzAuMA0KIE1BWCgtMC4wLC0wLjApIHJldHVybnMgLTAuMA0KIE1BWCgraW5maW5p dHkseSkgcmV0dXJucyAraW5maW5pdHkNCiBNQVgoLWluZmluaXR5LHkpIHJldHVybnMgeQ0KDQog TUlOKE5hTixOYU4pIHJldHVybnMgYSBOYU4NCiBNSU4oTmFOLHkpIHJldHVybnMgeSBbc29tZSBz YXkgaXQgc2hvdWxkIGJlIE5hTl0NCiBNSU4oeCxOYU4pIHJldHVybnMgeCBbc29tZSBzYXkgaXQg c2hvdWxkIGJlIE5hTl0NCiBNSU4oLTAuMCwrMC4wKSByZXR1cm5zIC0wLjANCiBNSU4oLTAuMCwt MC4wKSByZXR1cm5zIC0wLjANCiBNSU4oLWluZmluaXR5LHkpIHJldHVybnMgLWluZmluaXR5DQog TUlOKCtpbmZpbml0eSx5KSByZXR1cm5zIHkNCg0KIE1PRChOYU4seSkgcmV0dXJucyBhIE5hTg0K IE1PRCh4LE5hTikgcmV0dXJucyBhIE5hTg0KIE1PRCgrLy1pbmZpbml0eSx5KSByZXR1cm5zIGEg TmFOIGFuZCByYWlzZXMgaW52YWxpZA0KIE1PRCgrLy1pbmZpbml0eSwrLy1pbmZpbml0eSkgcmV0 dXJucyBhIE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCiBNT0QoeCwrLy0wLjApIHJldHVybnMgYSBO YU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogTU9EKCsvLTAuMCwrLy0wLjApIHJldHVybnMgYSBOYU4g YW5kIHJhaXNlcyBpbnZhbGlkDQoNCiBNT0RVTE8oTmFOLHkpIHJldHVybnMgYSBOYU4NCiBNT0RV TE8oeCxOYU4pIHJldHVybnMgYSBOYU4NCiBNT0RVTE8oKy8taW5maW5pdHkseSkgcmV0dXJucyBh IE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCiBNT0RVTE8oKy8taW5maW5pdHksKy8taW5maW5pdHkp IHJldHVybnMgYSBOYU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogTU9EVUxPKHgsKy8tMC4wKSByZXR1 cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZA0KIE1PRFVMTygrLy0wLjAsKy8tMC4wKSByZXR1 cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZA0KDQogTkVBUkVTVChOYU4seSkgcmV0dXJucyBh IE5hTg0KIE5FQVJFU1QoeCxOYU4pIHJldHVybnMgYSBOYU4NCiBORUFSRVNUKHgsKy8tMC4wKSBy ZXR1cm5zIGEgTmFOIGFuZCByYWlzZXMgaW52YWxpZCAgW3doeT8/P10NCiBORUFSRVNUKCtpbmZp bml0eSwrbnVtKSByZXR1cm5zICtpbmZpbml0eSA/Pz8NCiBORUFSRVNUKCtpbmZpbml0eSwtbnVt KSByZXR1cm5zICttYXhpbXVtIGZpbml0ZSBudW1iZXINCiBORUFSRVNUKC1pbmZpbml0eSwrbnVt KSByZXR1cm5zIC1tYXhpbXVtIGZpbml0ZSBudW1iZXINCiBORUFSRVNUKC1pbmZpbml0eSwtbnVt KSByZXR1cm5zIC1pbmZpbml0eSA/Pz8NCg0KIE5JTlQoTmFOKSByZXR1cm5zIGFuIHVuc3BlY2lm aWVkIHZhbHVlIGFuZCByYWlzZXMgaW52YWxpZA0KIE5JTlQoKy8taW5maW5pdHkpIHJldHVybnMg YW4gdW5zcGVjaWZpZWQgdmFsdWUgYW5kIHJhaXNlcw0KICAgICBpbnZhbGlkDQogTklOVCgrLy1s YXJnZSksIHdoZXJlIGxhcmdlIGNhbm5vdCBiZSByZXByZXNlbnRlZCBhcyBhbg0KICAgICBpbnRl Z2VyLCByZXR1cm5zIGFuIHVuc3BlY2lmaWVkIHZhbHVlIGFuZCByYWlzZXMgaW52YWxpZA0KDQog UlJTUEFDSU5HKE5hTikgcmV0dXJucyBhIE5hTg0KIFJSU1BBQ0lORygrLy1pbmZpbml0eSkgcmV0 dXJucyArLy1pbmZpbml0eSANCiAgICAgICAgICBbZGlmZmVycyBmcm9tIGN1cnJlbnQgRjIwMDNd DQogUlJTUEFDSU5HKCsvLTAuMCkgcmV0dXJucyArMC4wDQogUlJTUEFDSU5HKCsvLWRlbm9ybWFs KSByZXR1cm5zID8/Pw0KDQogU0NBTEUoTmFOLHkpIHJldHVybnMgYSBOYU4NCiBTQ0FMRSgrLy1p bmZpbml0eSx5KSByZXR1cm5zICsvLWluZmluaXR5DQogU0NBTEUoLTAuMCx5KSByZXR1cm5zIC0w LjANCg0KIFNFVF9FWFBPTkVOVChOYU4seSkgcmV0dXJucyBhIE5hTg0KIFNFVF9FWFBPTkVOVCgr Ly1pbmZpbml0eSx5KSByZXR1cm5zICsvLWluZmluaXR5DQogU0VUX0VYUE9ORU5UKC0wLjAseSkg cmV0dXJucyAtMC4wDQogU0VUX0VYUE9ORU5UKGRlbm9ybWFsLHkpIHJldHVybnMgPz8/DQoNCiBT SUdOKE5hTix5KSwgd2hlcmUgMCA8IHksIHJldHVybnMgdGhlIHNhbWUgTmFOLCANCiAgICAgIGJ1 dCB3aXRoIHRoZSBzaWduIGJpdCBjbGVhcmVkLg0KIFNJR04oTmFOLHkpLCB3aGVyZSB5IDwgMCwg cmV0dXJucyB0aGUgc2FtZSBOYU4sIA0KICAgICAgYnV0IHdpdGggdGhlIHNpZ24gYml0IHNldC4N Cg0KIFNJTihOYU4pIHJldHVybnMgYSBOYU4NCiBTSU4oKy8taW5maW5pdHkpIHJldHVybnMgYSBO YU4gYW5kIHJhaXNlcyBpbnZhbGlkDQogU0lOKC0wLjApIHJldHVybnMgLTAuMA0KDQogU0lOSChO YU4pIHJldHVybnMgYSBOYU4NCiBTSU5IKCsvLWluZmluaXR5KSByZXR1cm5zICsvLSBpbmZpbml0 eQ0KIFNJTkgoLTAuMCkgcmV0dXJucyAtMC4wDQoNCiBTUEFDSU5HKE5hTikgcmV0dXJucyBhIE5h Tg0KIFNQQUNJTkcoKy8taW5maW5pdHkpIHJldHVybnMgK2luZmluaXR5DQogU1BBQ0lORygtMC4w KSByZXR1cm5zIFRJTlkoKzAuMCkNCiBTUEFDSU5HKGRlbm9ybWFsKSByZXR1cm5zIFRJTlkoKzAu MCkgPz8/DQoNCiBTUVJUKE5hTikgcmV0dXJucyBhIE5hTg0KIFNRUlQoK2luZmluaXR5KSByZXR1 cm5zICtpbmZpbml0eQ0KIFNRUlQoLTAuMCkgcmV0dXJucyAtMC4wDQogU1FSVCh4KSwgd2hlcmUg eCA8IDAuMCwgcmV0dXJucyBhIE5hTiBhbmQgcmFpc2VzIGludmFsaWQNCg0KIFRBTihOYU4pIHJl dHVybnMgYSBOYU4NCiBUQU4oKy8taW5maW5pdHkpIHJldHVybnMgYSBOYU4gYW5kIHJhaXNlcyBp bnZhbGlkDQogVEFOKC0wLjApIHJldHVybnMgLTAuMA0KDQogVEFOSChOYU4pIHJldHVybnMgYSBO YU4NCiBUQU5IKCsvLWluZmluaXR5KSByZXR1cm5zICsvLTEuMA0KIFRBTkgoLTAuMCkgcmV0dXJu cyAtMC4wDQoNCg0KMTMuNyBbMzAwOjEzLTE1XSBpbmNvcnJlY3RseSByZXF1aXJlcyBhbiBpbmZp bml0ZSByZXN1bHQgb3IgYQ0KTmFOIHJlc3VsdCB0byBhbHdheXMgc2lnbmFsIHNvbWUgSUVFRSBl eGNlcHRpb24uDQoNCkNvbnNpZGVyIGNoYW5naW5nIFszMDA6MTNdICJpbmZpbml0ZSByZXN1bHQi IHRvICJpbmZpbml0ZSByZXN1bHQNCihmcm9tIGZpbml0ZSBhcmd1bWVudHMpIi4gIFJlYXNvbjog SUVFRS03NTQgbWF0aGVtYXRpY2FsDQpvcGVyYXRpb25zIG9uIGluZmluaXR5IHRoYXQgcHJvZHVj ZSBhbiBpbmZpbml0eSBhcmUNCnVuZXhjZXB0aW9uYWwuDQoNCkNvbnNpZGVyIGNoYW5naW5nIFsz MDA6MTRdICJOYU4gcmVzdWx0IiB0byAiTmFOIHJlc3VsdCAoZnJvbQ0Kbm9uLU5hTiBhcmd1bWVu dHMpIi4gIFJlYXNvbjogSUVFRS03NTQgbWF0aGVtYXRpY2FsIG9wZXJhdGlvbnMNCm9uIHF1aWV0 IE5hTiBvcGVyYW5kcyB0aGF0IHByb2R1Y2UgYSBxdWlldCBOYU4gcmVzdWx0IGFyZQ0KdW5leGNl cHRpb25hbC4NCg0KQ29uc2lkZXIgYWRkaW5nIHRvIDEzLjcgWzMwMDoxNStdIHNvbWV0aGluZyBh bG9uZyB0aGUgbGluZXMgb2Y6DQoiVW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UsIGEgbWF0aCBm dW5jdGlvbiB3aXRoIE5hTg0KYXJndW1lbnQocykgc2hhbGwgcmV0dXJuIGEgTmFOLCB3aGljaCBz aG91bGQgYmUgb25lIG9mIHRoZSBOYU4NCmFyZ3VtZW50cy4iICBUaGlzIGFsbG93cyBub3QgaGF2 aW5nIHRvIHNwZWNpZnkgdGhlIHJlc3VsdHMgZm9yDQplYWNoIHNwZWNpZmljIG1hdGggZnVuY3Rp b24uDQoNCkNvbnNpZGVyIGFkZGluZyB0aGUgYWJvdmUgc3VnZ2VzdGVkIGNhc2VzIHRvIGVhY2gg b2YgdGhlIDEzLjcuKg0KZnVuY3Rpb25zLCBwZXJoYXBzLCB3aXRoIGEgYm9sZCBmYWNlIElFRUUg c3ViLWhlYWRpbmcuDQoNCkFOU1dFUjoNCg0KVGhlIHBlbnVsdGltYXRlIHNlbnRlbmNlcyBvZiAx My43IHdhcyBpbnRlbmRlZCBmb3IgdGhlIGNhc2UNCndoZXJlIGFsbCBhcmd1bWVudHMgb24gZW50 cnkgaGF2ZSBub3JtYWwgb3IgZGVub3JtYWwgdmFsdWVzICANCmFuZCBlZGl0cyBhcmUgc3VwcGxp ZWQgdG8gY29ycmVjdCB0aGlzLiANCg0KVG8gc3BlY2lmeSB0aGUgcmVzdWx0cyBvZiBhbGwgdGhl IGludHJpbnNpY3MgZm9yIG5vbi1ub3JtYWwNCnZhbHVlcyBpcyBiZXlvbmQgdGhlIHNjb3BlIG9m IGFuIGludGVycHJldGF0aW9uLiBQZXJoYXBzIHRoaXMgDQpzaG91bGQgYmUgY29uc2lkZXJlZCBm b3IgYW4gZXh0ZW5zaW9uIHRoYXQgaXMgYWRvcHRlZCBmb3IgdGhlIA0KbmV4dCByZXZpc2lvbiBv ZiB0aGUgc3RhbmRhcmQuIE1lYW53aGlsZSwgZ3VpZGFuY2UgaXMgcHJvdmlkZWQNCmJ5IHRoZSBz ZWNvbmQgYW5kIHRoaXJkIHBhcmFncmFwaHMgb2YgMTQuOCwgd2hpY2ggc3RhdGUNCg0KIlRoZSBp bnF1aXJ5IGZ1bmN0aW9uIElFRUVfU1VQUE9SVF9OQU4gaXMgcHJvdmlkZWQgdG8gaW5xdWlyZSAN CndoZXRoZXIgdGhlIHByb2Nlc3NvciBzdXBwb3J0cyBJRUVFIE5hTnMuIFdoZXJlIHRoZXNlIGFy ZSBzdXBwb3J0ZWQsIA0KdGhlaXIgYmVoYXZpb3IgZm9yIHVuYXJ5IGFuZCBiaW5hcnkgb3BlcmF0 aW9ucywgaW5jbHVkaW5nDQp0aG9zZSBkZWZpbmVkIGJ5IGludHJpbnNpYyBmdW5jdGlvbnMgYW5k IGJ5IGZ1bmN0aW9ucyBpbiBpbnRyaW5zaWMgDQptb2R1bGVzLCBzaGFsbCBiZSBjb25zaXN0ZW50 IHdpdGggdGhlIHNwZWNpZmljYXRpb25zIGluIHRoZSBJRUVFDQpJbnRlcm5hdGlvbmFsIFN0YW5k YXJkLg0KDQpUaGUgaW5xdWlyeSBmdW5jdGlvbiBJRUVFX1NVUFBPUlRfSU5GIGlzIHByb3ZpZGVk IHRvIGlucXVpcmUgd2hldGhlciANCnRoZSBwcm9jZXNzb3Igc3VwcG9ydHMgSUVFRSBpbmZpbml0 aWVzLiBXaGVyZSB0aGVzZSBhcmUgc3VwcG9ydGVkLCANCnRoZWlyIGJlaGF2aW9yIGZvciB1bmFy eSBhbmQgYmluYXJ5IG9wZXJhdGlvbnMsIGluY2x1ZGluZw0KdGhvc2UgZGVmaW5lZCBieSBpbnRy aW5zaWMgZnVuY3Rpb25zIGFuZCBieSBmdW5jdGlvbnMgaW4gaW50cmluc2ljIA0KbW9kdWxlcywg c2hhbGwgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBzcGVjaWZpY2F0aW9ucyBpbiB0aGUgSUVFRQ0K SW50ZXJuYXRpb25hbCBTdGFuZGFyZC4gIg0KDQoNCkVESVRTOg0KDQpQYWdlIGFuZCBsaW5lIG51 bWJlcnMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbMzAwOjEzJjE0XSBTdWJjbGF1c2UgMTMuNy4gSW4g dGhlIHBlbnVsdGltYXRlIHNlbnRlbmNlLCByZXBsYWNlDQoiSWYiIGJ5ICJJZiB0aGUgdmFsdWVz IG9mIGFsbCBpbnB1dCBhcmd1bWVudHMgYXJlIG5vcm1hbCBvcg0KZGVub3JtYWwgYW5kIiBhbmQg cmVwbGFjZSAiaWYiIGJ5ICJpZiB0aGUgdmFsdWVzIG9mIGFsbCBpbnB1dCANCmFyZ3VtZW50cyBh cmUgbm9ybWFsIG9yIGRlbm9ybWFsIGFuZCINCg0KU1VCTUlUVEVEIEJZOiBGcmVkIFR5ZGVtYW4N Cg0KSElTVE9SWTogMDUtMTIxcjEgIG0xNzEgIEYwMy8wMDQyIFN1Ym1pdHRlZA0KDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCk5VTUJFUjogRjAzLzAwNDYNClRJVExFOiBVbmxpbWl0ZWQgcG9seW1vcnBoaWMg cG9pbnRlcnMgaW4gY29tbW9uIGJsb2Nrcw0KS0VZV09SRFM6IFVubGltaXRlZCBwb2x5bW9ycGhp YyBwb2ludGVyLCBjb21tb24gYmxvY2sNCkRFRkVDVCBUWVBFOiBFcnJhdHVtDQpTVEFUVVM6IEoz IGNvbnNpZGVyYXRpb24gaW4gcHJvZ3Jlc3MNCg0KUVVFU1RJT046DQoNCkNvbnNpZGVyIHRoZSBm b2xsb3dpbmcgcHJvZ3JhbToNCg0KICAgICAgUFJPR1JBTSBmb28NCiAgICAgICAgQ09NTU9OIC9i bGsxLyB4DQogICAgICAgIENMQVNTKCopLCBQT0lOVEVSIDo6IHgNCiAgICAgICAgQ0FMTCBzdWIN CiAgICAgIEVORCBQUk9HUkFNDQoNCiAgICAgIFNVQlJPVVRJTkUgc3ViDQogICAgICAgIENPTU1P TiAvYmxrMS8geA0KICAgICAgICBDTEFTUygqKSwgUE9JTlRFUiA6OiB4DQogICAgICBFTkQgU1VC Uk9VVElORQ0KDQpUaGVyZSBhcHBlYXJzIHRvIGJlIG5vdGhpbmcgcHJvaGliaXRpbmcgYW4gdW5s aW1pdGVkIHBvbHltb3JwaGljDQpwb2ludGVyIGZyb20gYXBwZWFyaW5nIGluIGEgY29tbW9uIGJs b2NrLCBidXQgdGhlIGZvbGxvd2luZyBhcHBlYXJzIGluDQpGb3J0cmFuIDIwMDMgYXQgWzEwMDox MF06DQogICAgQSBkYXRhIHBvaW50ZXIgc2hhbGwgYmUgc3RvcmFnZSBhc3NvY2lhdGVkIG9ubHkg d2l0aCBkYXRhIHBvaW50ZXJzDQogICAgb2YgdGhlIHNhbWUgdHlwZSBhbmQgcmFuay4NCg0KQW5k IGF0IFs3NToyMy0yNV06DQogICAgQW4gb2JqZWN0IGRlY2xhcmVkIHdpdGggdGhlIENMQVNTKCop IHNwZWNpZmllciBpcyBhbiB1bmxpbWl0ZWQNCiAgICBwb2x5bW9ycGhpYyBvYmplY3QuICBBbiB1 bmxpbWl0ZWQgcG9seW1vcnBoaWMgZW50aXR5IGlzIG5vdA0KICAgIGRlY2xhcmVkIHRvIGhhdmUg YSB0eXBlLiAgSXQgaXMgbm90IGNvbnNpZGVyZWQgdG8gaGF2ZSB0aGUgc2FtZQ0KICAgIGRlY2xh cmVkIHR5cGUgYXMgYW55IG90aGVyIGVudGl0eSwgaW5jbHVkaW5nIGFub3RoZXIgdW5saW1pdGVk DQogICAgcG9seW1vcnBoaWMgZW50aXR5Lg0KDQpJdCBhcHBlYXJzIHRoYXQgaXQgaXMgbm90IHN0 YW5kYXJkIGNvbmZvcm1pbmcgdG8gaGF2ZSBhbiB1bmxpbWl0ZWQNCnBvbHltb3JwaGljIHBvaW50 ZXIgdGhhdCBpcyBzdG9yYWdlIGFzc29jaWF0ZWQgd2l0aCBhbnl0aGluZyBlbHNlLA0KaW5jbHVk aW5nIGFub3RoZXIgdW5saW1pdGVkIHBvbHltb3JwaGljIHBvaW50ZXIuICBTbywgd2hpbGUgaXQg aXMNCmFwcGFyZW50bHkgc3RhbmRhcmQtY29uZm9ybWluZyB0byBoYXZlIGFuIHVubGltaXRlZCBw b2x5bW9ycGhpYw0KcG9pbnRlciBpbiBhIGNvbW1vbiBibG9jaywgYSBjb21tb24gYmxvY2sgd2l0 aCB0aGUgc2FtZSBuYW1lIGNhbm5vdCBiZQ0KYWNjZXNzZWQgaW4gYW55IG90aGVyIHNjb3Bpbmcg dW5pdC4NCg0KVGhpcyBpbnRlcnByZXRhdGlvbiBhbHNvIHNlZW1zIHRvIGJlIHN1cHBvcnRlZCBi eSBwYXJ0cyBvZiBzZWN0aW9uIDE2DQpvZiB0aGUgc3RhbmRhcmQuDQoNCkF0IFs0MTY6Ny0yNF06 DQogICAgSW4gYSBzdG9yYWdlIGFzc29jaWF0aW9uIGNvbnRleHQNCiAgICAuLi4NCiAgICAgICg4 KSBBIHBvaW50ZXIgb2NjdXBpZXMgYSBzaW5nbGUgdW5zcGVjaWZpZWQgc3RvcmFnZSB1bml0IHRo YXQgaXMNCiAgICAgICAgICBkaWZmZXJlbnQgZnJvbSB0aGF0IG9mIGFueSBub25wb2ludGVyIG9i amVjdCBhbmQgaXMNCiAgICAgICAgICBkaWZmZXJlbnQgZm9yIGVhY2ggY29tYmluYXRpb24gb2Yg dHlwZSwgdHlwZSBwYXJhbWV0ZXJzLCBhbmQNCiAgICAgICAgICByYW5rLg0KDQpBdCBbNDE3OjEy LTEzXToNCiAgICBBbGwgc2NvcGluZyB1bml0cyB0aGF0IGFjY2VzcyBuYW1lZCBjb21tb24gYmxv Y2tzIHdpdGggdGhlIHNhbWUNCiAgICBuYW1lIHNoYWxsIHNwZWNpZnkgYW4gaWRlbnRpY2FsIHNl cXVlbmNlIG9mIHN0b3JhZ2UgdW5pdHMuDQoNCkFuZCBhdCBbNDE3OjE0LTE3XToNCiAgICBGb3Ig YW55IHR3byBibGFuayBjb21tb24gYmxvY2tzLCB0aGUgaW5pdGlhbCBzZXF1ZW5jZSBvZiBzdG9y YWdlDQogICAgdW5pdHMgb2YgdGhlIGxvbmdlciBibGFuayBjb21tb24gYmxvY2sgc2hhbGwgYmUg aWRlbnRpY2FsIHRvIHRoZQ0KICAgIHNlcXVlbmNlIG9mIHN0b3JhZ2UgdW5pdHMgb2YgdGhlIHNo b3J0ZXIgY29tbW9uIGJsb2NrLiAgSWYgdHdvDQogICAgYmxhbmsgY29tbW9uIGJsb2NrcyBhcmUg dGhlIHNhbWUgbGVuZ3RoLCB0aGV5IHNoYWxsIGhhdmUgdGhlIHNhbWUNCiAgICBzZXF1ZW5jZSBv ZiBzdG9yYWdlIHVuaXRzLg0KDQpXYXMgaXQgaW50ZW5kZWQgdGhhdCBhbiB1bmxpbWl0ZWQgcG9s eW1vcnBoaWMgcG9pbnRlciBzaG91bGQgYmUNCmFsbG93ZWQgaW4gYSBjb21tb24gYmxvY2s/ICBJ ZiB5ZXMsIHRoZW4gd2FzIGl0IGludGVuZGVkIHRoYXQgc3VjaCBhDQpjb21tb24gYmxvY2sgc2hv dWxkIGJlIGFjY2Vzc2libGUgaW4gbW9yZSB0aGFuIG9uZSBzY29waW5nIHVuaXQ/DQoNCkFOU1dF UjoNCg0KTm8uICBBbiBlZGl0IGlzIHByb3ZpZGVkIHRvIGNvcnJlY3QgdGhpcyBvdmVyc2lnaHQu DQoNCkVESVRTOg0KDQpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3Lg0KDQpbOTg6MjBdICBCZWZv cmUgImFuIGFsbG9jYXRhYmxlIHZhcmlhYmxlIiwgaW5zZXJ0DQogICAgICAgICAiYSBwb2x5bW9y cGhpYyBwb2ludGVyLCIuDQoNClNVQk1JVFRFRCBCWTogUm9iIEphbWVzDQoNCkhJU1RPUlk6IDA1 LTEzNyAgICBtMTcxICBGMDMvMDA0NiBTdWJtaXR0ZWQsIHBhc3NlZCBieSBKMyBtZWV0aW5nDQog ICAgICAgICAwNS0xNzAgICAgbTE3MiAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzExDQogICAg ICAgICBOMTYyMiAgICAgbTE3MiAgRmFpbGVkIFdHNSBiYWxsb3QgTjE2MjkNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KDQpOVU1CRVI6IEYwMy8wMDQ3DQpUSVRMRTogUG9seW1vcnBoaWMgYXJndW1lbnRzIHRv IGludHJpbnNpYyBwcm9jZWR1cmVzDQpLRVlXT1JEUzogcG9seW1vcnBoaXNtLCBpbnRyaW5zaWMg cHJvY2VkdXJlcw0KREVGRUNUIFRZUEU6IEVycmF0dW0NClNUQVRVUzogSjMgY29uc2lkZXJhdGlv biBpbiBwcm9ncmVzcw0KDQpRVUVTVElPTjoNCg0KVGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgaW50 cmluc2ljIHByb2NlZHVyZXMgb2Z0ZW4gdXNlIHRoZSB0ZXJtICJ0eXBlIg0Kd2l0aG91dCBxdWFs aWZpY2F0aW9uLiAgSXQgaXMgdW5jbGVhciB3aGV0aGVyIHRoZXkgbWVhbiAiZGVjbGFyZWQNCnR5 cGUiIG9yICJkeW5hbWljIHR5cGUiLiAgSWYgdGhleSBtZWFuICJkeW5hbWljIHR5cGUiLCB0aGVu IHRoaXMgd291bGQNCmFwcGVhciB0byBhbGxvdyB1bmxpbWl0ZWQgcG9seW1vcnBoaWMgYXJndW1l bnRzIHRvIGludHJpbnNpYw0KcHJvY2VkdXJlcyBsaWtlIEFCUyBhbmQgU0lOLiAgUmVzb2x1dGlv biBvZiBnZW5lcmljIGludHJpbnNpYw0KcHJvY2VkdXJlcyBpbiB0aGlzIGNhc2Ugd291bGQgY3Jl YXRlIGFuIHVuZHVlIChhbmQgbGlrZWx5IHVuaW50ZW5kZWQpDQpidXJkZW4gb24gdGhlIHByb2Nl c3NvciwgYW5kIHRoZSBkZWNsYXJlZCB0eXBlIG9mIHRoZSByZXN1bHQgb2Ygc3VjaCBhDQpmdW5j dGlvbiBjYWxsIHdvdWxkIGJlIHVuY2xlYXIgYXMgd2VsbC4NCg0KUXVlc3Rpb24gMToNCkFyZSB0 aGUgYXJndW1lbnRzIG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb25zIEFMTE9DQVRFRCwgQVNTT0NJ QVRFRCwNCkxCT1VORCwgU0hBUEUsIFNJWkUsIGFuZCBVQk9VTkQgcGVybWl0dGVkIHRvIGJlIHBv bHltb3JwaGljPw0KDQpRdWVzdGlvbiAyOg0KKGEpIElzIHRoZSBBUlJBWSBhcmd1bWVudCBvZiB0 aGUgaW50cmluc2ljIGZ1bmN0aW9uIENTSElGVCBwZXJtaXR0ZWQNCiAgICB0byBiZSBwb2x5bW9y cGhpYz8NCklmIHNvOg0KKGIpIElmIHRoZSBhcmd1bWVudCBpcyBwb2x5bW9ycGhpYywgaXMgdGhl IHJlc3VsdCBwb2x5bW9ycGhpYz8gIFdoYXQNCiAgICBhcmUgdGhlIGRlY2xhcmVkIGFuZCBkeW5h bWljIHR5cGVzIG9mIHRoZSByZXN1bHQ/DQoNClF1ZXN0aW9uIDM6DQooYSkgQXJlIHRoZSBBUlJB WSBhbmQgQk9VTkRBUlkgYXJndW1lbnRzIG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb24NCiAgICBF T1NISUZUIHBlcm1pdHRlZCB0byBiZSBwb2x5bW9ycGhpYz8NCklmIHNvOg0KKGIpIElmIG9uZSBv ZiB0aGVzZSBhcmd1bWVudHMgaXMgcG9seW1vcnBoaWMsIHRoZW4gbXVzdCB0aGUgb3RoZXIgYmUN CiAgICBwb2x5bW9ycGhpYz8NCihjKSBEbyB0aGUgcmVxdWlyZW1lbnRzIG9uIHRoZWlyIHR5cGVz IHJlZmVyIHRvIHRoZWlyIGRlY2xhcmVkIHR5cGVzDQogICAgb3IgZHluYW1pYyB0eXBlcz8NCihk KSBJZiBlaXRoZXIgYXJndW1lbnQgaXMgcG9seW1vcnBoaWMsIGlzIHRoZSByZXN1bHQgcG9seW1v cnBoaWM/IFdoYXQNCiAgICBhcmUgdGhlIGRlY2xhcmVkIGFuZCBkeW5hbWljIHR5cGVzIG9mIHRo ZSByZXN1bHQ/DQoNClF1ZXN0aW9uIDQ6DQooYSkgQXJlIHRoZSBBIGFuZCBNT0xEIGFyZ3VtZW50 cyBvZiB0aGUgaW50cmluc2ljIGZ1bmN0aW9uDQogICAgRVhURU5EU19UWVBFX09GIHBlcm1pdHRl ZCB0byBiZSBwb2x5bW9ycGhpYz8NCklmIHNvOg0KKGIpIElmIG9uZSBvZiB0aGVzZSBhcmd1bWVu dHMgaXMgcG9seW1vcnBoaWMsIG11c3QgdGhlIG90aGVyIGJlDQogICAgcG9seW1vcnBoaWM/DQoo YykgRG8gdGhlIHJlcXVpcmVtZW50cyBvbiB0aGVpciB0eXBlcyByZWZlciB0byB0aGVpciBkZWNs YXJlZCB0eXBlcw0KICAgIG9yIGR5bmFtaWMgdHlwZXM/DQoNClF1ZXN0aW9uIDU6DQooYSkgQXJl IHRoZSBUU09VUkNFIGFuZCBGU09VUkNFIGFyZ3VtZW50cyBvZiB0aGUgaW50cmluc2ljIGZ1bmN0 aW9uDQogICAgTUVSR0UgcGVybWl0dGVkIHRvIGJlIHBvbHltb3JwaGljPw0KSWYgc286DQooYikg SWYgb25lIG9mIHRoZXNlIGFyZ3VtZW50cyBpcyBwb2x5bW9ycGhpYywgbXVzdCB0aGUgb3RoZXIg YmUNCiAgICBwb2x5bW9ycGhpYz8NCihjKSBEbyB0aGUgcmVxdWlyZW1lbnRzIG9uIHRoZSB0eXBl cyBvZiB0aGUgYXJndW1lbnRzIHJlZmVyIHRvIHRoZWlyDQogICAgZGVjbGFyZWQgdHlwZXMgb3Ig ZHluYW1pYyB0eXBlcz8NCihkKSBJZiBlaXRoZXIgYXJndW1lbnQgaXMgcG9seW1vcnBoaWMsIGlz IHRoZSByZXN1bHQgcG9seW1vcnBoaWM/DQogICAgV2hhdCBhcmUgdGhlIGRlY2xhcmVkIGFuZCBk eW5hbWljIHR5cGVzIG9mIHRoZSByZXN1bHQ/DQoNClF1ZXN0aW9uIDY6DQpBcmUgdGhlIEZST00g YW5kIFRPIGFyZ3VtZW50cyBvZiB0aGUgaW50cmluc2ljIGZ1bmN0aW9uIE1PVkVfQUxMT0MNCnBl cm1pdHRlZCB0byBiZSBwb2x5bW9ycGhpYz8NCg0KUXVlc3Rpb24gNzoNCihhKSBBcmUgdGhlIEFS UkFZIGFuZCBWRUNUT1IgYXJndW1lbnRzIG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb24gUEFDSw0K ICAgIHBlcm1pdHRlZCB0byBiZSBwb2x5bW9ycGhpYz8NCklmIHNvOg0KKGIpIElmIG9uZSBvZiB0 aGVzZSBhcmd1bWVudHMgaXMgcG9seW1vcnBoaWMsIG11c3QgdGhlIG90aGVyIGJlDQogICAgcG9s eW1vcnBoaWM/DQooYykgRG8gdGhlIHJlcXVpcmVtZW50cyBvbiB0aGUgdHlwZXMgb2YgdGhlIGFy Z3VtZW50cyByZWZlciB0byB0aGVpcg0KICAgIGRlY2xhcmVkIHR5cGVzIG9yIGR5bmFtaWMgdHlw ZXM/DQooZCkgSWYgZWl0aGVyIGFyZ3VtZW50IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0 IHBvbHltb3JwaGljPw0KICAgIFdoYXQgYXJlIHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBl cyBvZiB0aGUgcmVzdWx0Pw0KDQpRdWVzdGlvbiA4Og0KKGEpIEFyZSB0aGUgU09VUkNFIGFuZCBQ QUQgYXJndW1lbnRzIG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb24gUkVTSEFQRQ0KICAgIHBlcm1p dHRlZCB0byBiZSBwb2x5bW9ycGhpYz8NCklmIHNvOg0KKGIpIElmIG9uZSBvZiB0aGVzZSBhcmd1 bWVudHMgaXMgcG9seW1vcnBoaWMsIG11c3QgdGhlIG90aGVyIGJlDQogICAgcG9seW1vcnBoaWM/ DQooYykgRG8gdGhlIHJlcXVpcmVtZW50cyBvbiB0aGUgdHlwZXMgb2YgdGhlIGFyZ3VtZW50cyBy ZWZlciB0byB0aGVpcg0KICAgIGRlY2xhcmVkIHR5cGVzIG9yIGR5bmFtaWMgdHlwZXM/DQooZCkg SWYgZWl0aGVyIGFyZ3VtZW50IGlzIHBvbHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3Jw aGljPw0KICAgIFdoYXQgYXJlIHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUg cmVzdWx0Pw0KDQpRdWVzdGlvbiA5Og0KKGEpIEFyZSB0aGUgQSBhbmQgQiBhcmd1bWVudHMgb2Yg dGhlIGludHJpbnNpYyBmdW5jdGlvbiBTQU1FX1RZUEVfQVMNCiAgICBwZXJtaXR0ZWQgdG8gYmUg cG9seW1vcnBoaWM/DQpJZiBzbzoNCihiKSBJZiBvbmUgb2YgdGhlc2UgYXJndW1lbnRzIGlzIHBv bHltb3JwaGljLCBtdXN0IHRoZSBvdGhlciBiZQ0KICAgIHBvbHltb3JwaGljPw0KKGMpIERvIHRo ZSByZXF1aXJlbWVudHMgb24gdGhlaXIgdHlwZXMgcmVmZXIgdG8gdGhlaXIgZGVjbGFyZWQgdHlw ZXMNCiAgICBvciBkeW5hbWljIHR5cGVzPw0KDQpRdWVzdGlvbiAxMDoNCihhKSBJcyB0aGUgU09V UkNFIGFyZ3VtZW50IG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb24gU1BSRUFEIHBlcm1pdHRlZA0K ICAgIHRvIGJlIHBvbHltb3JwaGljPw0KSWYgc286DQooYikgSWYgdGhlIGFyZ3VtZW50IGlzIHBv bHltb3JwaGljLCBpcyB0aGUgcmVzdWx0IHBvbHltb3JwaGljPyAgV2hhdA0KICAgIGFyZSB0aGUg ZGVjbGFyZWQgYW5kIGR5bmFtaWMgdHlwZXMgb2YgdGhlIHJlc3VsdD8NCg0KUXVlc3Rpb24gMTE6 DQooYSkgSXMgdGhlIFNPVVJDRSBhcmd1bWVudCBvZiB0aGUgaW50cmluc2ljIGZ1bmN0aW9uIFRS QU5TRkVSDQogICAgcGVybWl0dGVkIHRvIGJlIHBvbHltb3JwaGljPw0KKGIpIElzIHRoZSBNT0xE IGFyZ3VtZW50IG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb24gVFJBTlNGRVIgcGVybWl0dGVkDQog ICAgdG8gYmUgcG9seW1vcnBoaWM/DQpJZiB0aGUgYW5zd2VyIHRvIChiKSBpcyB5ZXM6DQooYykg SWYgdGhlIE1PTEQgYXJndW1lbnQgaXMgcG9seW1vcnBoaWMsIGlzIHRoZSByZXN1bHQgcG9seW1v cnBoaWM/DQogICAgV2hhdCBhcmUgdGhlIGRlY2xhcmVkIGFuZCBkeW5hbWljIHR5cGVzIG9mIHRo ZSByZXN1bHQ/DQoNClF1ZXN0aW9uIDEyOg0KKGEpIElzIHRoZSBNQVRSSVggYXJndW1lbnQgb2Yg dGhlIGludHJpbnNpYyBmdW5jdGlvbiBUUkFOU1BPU0UNCiAgICBwZXJtaXR0ZWQgdG8gYmUgcG9s eW1vcnBoaWM/DQpJZiBzbzoNCihiKSBJZiB0aGUgYXJndW1lbnQgaXMgcG9seW1vcnBoaWMsIGlz IHRoZSByZXN1bHQgcG9seW1vcnBoaWM/ICBXaGF0DQogICAgYXJlIHRoZSBkZWNsYXJlZCBhbmQg ZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVzdWx0Pw0KDQpRdWVzdGlvbiAxMzoNCihhKSBBcmUgdGhl IFZFQ1RPUiBhbmQgRklFTEQgYXJndW1lbnRzIG9mIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb24NCiAg ICBVTlBBQ0sgcGVybWl0dGVkIHRvIGJlIHBvbHltb3JwaGljPw0KSWYgc286DQooYikgSWYgb25l IG9mIHRoZXNlIGFyZ3VtZW50cyBpcyBwb2x5bW9ycGhpYywgbXVzdCB0aGUgb3RoZXIgYmUNCiAg ICBwb2x5bW9ycGhpYz8NCihjKSBEbyB0aGUgcmVxdWlyZW1lbnRzIG9uIHRoZSB0eXBlcyBvZiB0 aGUgYXJndW1lbnRzIHJlZmVyIHRvIHRoZWlyDQogICAgZGVjbGFyZWQgdHlwZXMgb3IgZHluYW1p YyB0eXBlcz8NCihkKSBJZiBlaXRoZXIgYXJndW1lbnQgaXMgcG9seW1vcnBoaWMsIGlzIHRoZSBy ZXN1bHQgcG9seW1vcnBoaWM/DQogICAgV2hhdCBhcmUgdGhlIGRlY2xhcmVkIGFuZCBkeW5hbWlj IHR5cGVzIG9mIHRoZSByZXN1bHQ/DQoNClF1ZXN0aW9uIDE0Og0KQXJlIGFueSBvZiB0aGUgb3Ro ZXIgYXJndW1lbnRzIG9mIGFueSBpbnRyaW5zaWMgcHJvY2VkdXJlIHBlcm1pdHRlZCB0bw0KYmUg cG9seW1vcnBoaWM/DQoNCkFOU1dFUjoNCg0KQW5zd2VyIDE6DQpZZXMuDQoNCkFuc3dlciAyOg0K KGEpIFllcy4NCihiKSBJbiB0aGlzIGNhc2UsIHRoZSByZXN1bHQgaXMgcG9seW1vcnBoaWMuICBJ ZiB0aGUgYXJndW1lbnQgaXMNCiAgICB1bmxpbWl0ZWQgcG9seW1vcnBoaWMsIHRoZW4gdGhlIHJl c3VsdCBpcyB1bmxpbWl0ZWQgcG9seW1vcnBoaWMNCiAgICBhbmQgaXRzIGR5bmFtaWMgdHlwZSBp cyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBhcmd1bWVudC4NCiAgICBPdGhlcndpc2UsIHRoZSBk ZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVzdWx0IGFyZSB0aGUNCiAgICBzYW1l IGFzIHRob3NlIG9mIHRoZSBhcmd1bWVudC4NCg0KQW5zd2VyIDM6DQooYSkgWWVzLg0KKGIpIFll cy4NCihjKSBUaGUgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIGJvdGggdGhlIGRlY2xhcmVkIHR5cGUg YW5kIHRoZSBkeW5hbWljDQogICAgdHlwZS4NCihkKSBJbiB0aGlzIGNhc2UsIHRoZSByZXN1bHQg aXMgcG9seW1vcnBoaWMuICBJZiB0aGUgYXJndW1lbnRzIGFyZQ0KICAgIHVubGltaXRlZCBwb2x5 bW9ycGhpYywgdGhlbiB0aGUgcmVzdWx0IGlzIHVubGltaXRlZCBwb2x5bW9ycGhpYw0KICAgIGFu ZCBpdHMgZHluYW1pYyB0eXBlIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGFyZ3VtZW50cy4N CiAgICBPdGhlcndpc2UsIHRoZSBkZWNsYXJlZCBhbmQgZHluYW1pYyB0eXBlcyBvZiB0aGUgcmVz dWx0IGFyZSB0aGUNCiAgICBzYW1lIGFzIHRob3NlIG9mIHRoZSBhcmd1bWVudHMuDQoNCkFuc3dl ciA0Og0KKGEpIFllcy4NCihiKSBOby4NCihjKSBUaGUgcmVxdWlyZW1lbnRzIHJlZmVyIHRvIHRo ZSBkeW5hbWljIHR5cGUuDQoNCkFuc3dlciA1Og0KKGEpIFllcy4NCihiKSBZZXMuDQooYykgVGhl IHJlcXVpcmVtZW50cyByZWZlciB0byBib3RoIHRoZSBkZWNsYXJlZCB0eXBlIGFuZCB0aGUgZHlu YW1pYw0KICAgIHR5cGUuDQooZCkgSW4gdGhpcyBjYXNlLCB0aGUgcmVzdWx0IGlzIHBvbHltb3Jw aGljLiAgSWYgdGhlIGFyZ3VtZW50cyBhcmUNCiAgICB1bmxpbWl0ZWQgcG9seW1vcnBoaWMsIHRo ZW4gdGhlIHJlc3VsdCBpcyB1bmxpbWl0ZWQgcG9seW1vcnBoaWMNCiAgICBhbmQgaXRzIGR5bmFt aWMgdHlwZSBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBhcm