From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id D3A677803CD for ; Mon, 1 Apr 2024 14:25:23 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=FQhmr5r7Cls+CK88oR+hlZ9jtg83bI2+eWbxJFchiRQ=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20240206; t=1711981522; v=1; b=mySiqGxicP/bGpHtTu18dVFzIXDy3k/PDVYUqDSlN37xJX0y8vVRgFejzOamKeayzSw9Dayf LM3QHDkPtLfWi/t6WH7xxJv1MI3lNLGjFqpTUP5bcm4F55dTqPa1edXko7BY+5Pew1kRhTzrzWr 8f4HIEmSVJNrvg7YPOpG2Pmi3vSGAvcfHPzHMA/gps0lZ1x5GbnerYPYfzjgPSAUlVuzISo2kE8 9gvf1qEKNMNq1/FrXakgo2Vgjp5vUMCdIQga5V0FP7w4SSWVZus7TZQvYf/zib/HleYbr3eoXf5 rhDNWtLiBq9w98l5MTlaZcvkgyXRCmXDj8aFHGtiuSWHw== X-Received: by 127.0.0.2 with SMTP id PxZfYY7687511xmelWI1gdBm; Mon, 01 Apr 2024 07:25:22 -0700 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.114]) by mx.groups.io with SMTP id smtpd.web11.38624.1711981521114196980 for ; Mon, 01 Apr 2024 07:25:21 -0700 X-Received: from MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6) by DM4PR12MB6326.namprd12.prod.outlook.com (2603:10b6:8:a3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 1 Apr 2024 14:25:15 +0000 X-Received: from MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::fef9:2c9c:21b5:6f50]) by MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::fef9:2c9c:21b5:6f50%2]) with mapi id 15.20.7409.042; Mon, 1 Apr 2024 14:25:15 +0000 From: "Nickle Wang via groups.io" To: Mike Maslenkin CC: "devel@edk2.groups.io" , Abner Chang , Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH 1/2] RedfishClientPkg/Features: support Redfish Secure Boot Thread-Topic: [edk2-devel] [edk2-redfish-client][PATCH 1/2] RedfishClientPkg/Features: support Redfish Secure Boot Thread-Index: AQHadkczGthP6T46l0yZ9fRTb5QF9rFKHa/AgACXh4CACN0RQA== Date: Mon, 1 Apr 2024 14:25:15 +0000 Message-ID: References: <20240314145300.153086-1-nicklew@nvidia.com> <517B1BB3-9433-4C68-80F3-46BBC1627671@gmail.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7031:EE_|DM4PR12MB6326:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: iCwaKETrpiwJ0J9H8Wzl5NJdAyW5BZ8wj68GIWnPBQhQQe9UEmee0KV3nJFWHx+gzXVv+/V1WZhGVUHRB8w58In98B51UXROVqmmWcmHcfNerhVCjB9lz2G72gh7XI4XFDfQsaxFB2dpSizDj6feagFjgBGSIRFwqgK6dd6B12dSM6U3O7g7Hx8vXIWNwY3I43qSljMLN1hV7G5uJ2hQgzNY+2wrxqAb5KSBz6ARnom5Ch4xQwMx5XX2piiF/tLWjtA6xn3IWWBhJswtdyJtmjefHr3S7r4H6Mjie90Kada+qzrONxwp/W2T+oNWFPHGhQCXV5ScJtJMZZg2oY+4f23/BOuzicrrMt9MiP/tzVqoJFsaN5f2ndE8A1ddqVSU6kpr4YxZJcuZkRkQfU4+AnOiXi51DN303ljrF1LNtt6lUxRSuYND3v+Irm4ZiUPfa7vGqdULOjuEWSzRk7HcTVXsOkO9FWyWL+Gk/7D7FB78pH5rSf5CCXACGBHQzd36dmyAD3P56B6IxRzV4MQan2T/yqVMkxSLO71OHunZl/3Mggeafo0o2bBnf7CtvwxkBSPVQl+eBxkpScHy/AGDIfDDxqCOEjEyxHLoELWonxI= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T2RTSzluU2NTUkdWVHNxdkRUYTRJcThQbmxoRW13Z3FpQnpaN1hmdzdUSjJY?= =?utf-8?B?UnRKTGNZejNsMU5FRUxscndFT283VUJZZmJSTmcwcW02anExNjhvUzdGVUpa?= =?utf-8?B?U1pkZkhOcFhQald4UTJaY2NKeVBQQnJ1VldYNXRqY0QxY2lHa3FrVlJuNjhn?= =?utf-8?B?V1YvU1FNcWpyMzh3NDZDY2Myck14bzdwa2RLT1RCL2ozWFpDcHZOdHovek90?= =?utf-8?B?MUZnMWhDMnZKdlA5WlZUTnlrZUUwVlhZRTloZmw3SE1SSnpVek0rVWJVSkYz?= =?utf-8?B?OG5Kb3dyekhEV2w0RVhSK0VnRk5ndXQwSk5Zc3B1cXhzM0R2eTFJeDd6TmZ4?= =?utf-8?B?UDFiOUlGMUZWNmE0V3cvTFI4R0NNRzFNSVl6Nkd3VGdPN292VjVkM015ZmFJ?= =?utf-8?B?dDBNaGptR2VMWWlIUGI5WFN4bkpVaTl1bnJ5TWNzNDRpRUQ1RStqdWNmWXJk?= =?utf-8?B?VGlBcTh4NG4vbTF3aGZEalRmcks0ZzFtd0w4YVk0UHFSTlVwMFUzcWg0NDkv?= =?utf-8?B?b1VtMW9vZmtKVktHYVFjdStVZW5tWDArelBtT1A0bkJqQW84N21uTGxhNm1Y?= =?utf-8?B?c1Y2cXdkVjBEWjMwd21OZXZlbHp4a0tYVFNrNENvYnRRNmc3eUo2bTJER0cw?= =?utf-8?B?bWtTTm5XUTZsT2FKVURvZFJjbkh5MkNOZFlrQTJURnFWOEE2bVBXcHoyTlFT?= =?utf-8?B?OTRvVnR6M0NkaVJySFhyT1oyL0xHM3Y1ejMwNDFnQ29NOExYYmhyRkorNEht?= =?utf-8?B?VE9GVFQ3dGp6OHJJZXFweHZVSWptbzNqem90d0dybm5BRG90d3ZCbURuQnJq?= =?utf-8?B?Vmt2RkpxRnFvMmlNdlJDa0VmZmNKZzl4SllnOHlZM2wxTGhXUDJ4M2FUSE5Y?= =?utf-8?B?M0xQeGk5UHExZTIrUEVuRlcwQ3piM3U3OGZ6TWszRW54amZzOUYrcXRLNTFr?= =?utf-8?B?UDA2ODF5b0RER2diZzF4dENZR2orYWI3VGR1SEpUSjhKS1ZRQlY4Z3ViYkNH?= =?utf-8?B?Z2tnSHBvUEpHYkZER25YK0dqS2RHWTNua1BCWnBsU1FQZ1ZtME42OWZ6Zzl5?= =?utf-8?B?MHF3OFVDd2VZdUsxNDRZdU1MSGRjOFF0MkFjWExyUk1vdmZOZU0zNmpnb0Nn?= =?utf-8?B?ZWdJUmJKc2ZEQU8yN3Q3T3NtQmNLckhKNTAyRmQ0bmtkQ0JiS1NET2pONi92?= =?utf-8?B?T05Ta2NCZDBUY1JFdG43UGlPWkZoTWg5Sk01MVJ0MVRzVEJmb0RocnpSUmp1?= =?utf-8?B?dkI4OGZydTBwaHFtYzcvblh5NW9JVVhaV25xTkRsbDIrWUJBT1ZKQ3M0YXdI?= =?utf-8?B?UW5BT0NvWWgzWG43S0RUaEtUWkRHZFY2akJxcEdYQ0xxb05LRU5mTDFZd1M4?= =?utf-8?B?eGpQK2ZhNzc5VnJUSUNxLytDaFRQSnJETmc3VTJoYmFMUE4rcmtQbDV4OGRN?= =?utf-8?B?REorZm5ENks3VlBsbkNmb2d3NWt2Rk8waGlmbXB6cTF1NHM2eCsyQi9uVGJE?= =?utf-8?B?R2Q1WndndmRUY2tzSzJLckk2eEF4QlJoS01lWnR2eFI0Qy9sblBuODhrZCtC?= =?utf-8?B?MFcyV0tVbHRINVJUR1VEVGxRL2JsUDZ2VXUrN2R2alBQYVJCK3EyOGkwM05X?= =?utf-8?B?NGFRR0U0clFYaThJY3NZRTlUWFQ2c1JidkVYdkkxcmhTcnQxTTFBZzQ5NzhF?= =?utf-8?B?dmtUbFBUUkZjQUxKNlUzNjdjUXdBTktjSlFYUXZJRDUrQVdISml2VGx3aEQv?= =?utf-8?B?dXMvV2NiV0dtMVVWV2t3WlVtT2ZWVHFGTnZIL3NLbHo5QndmcEVQaHFNbHJr?= =?utf-8?B?MEhGSUlQSFA3cFhWbUl3MTg3Y1JjOVh0MEc4TysvYUdESmQ2WE9jSnA3NGdy?= =?utf-8?B?a3VkYmtPZHBHdDFPWXJDTzNrOUc3NVh3QXJtNXFCT2dTTW5MN0VlamhISmxO?= =?utf-8?B?MVI2YmZ0WFlEL3dvcWc4QXhpL1ZYcHcyN0FVWFhJdVNHVUwzRms4QXhxL2FM?= =?utf-8?B?cHJZbVlPdXZUMW9PQXgxZVowTXVHblN3VjNONXl3TytYUndJdFhnMy9BNmNa?= =?utf-8?B?Z05RVE1oeThLSnNicmRtZWpXY01IdEZtdlQ1OXRnNCswZ29EVk1zcG94dGcx?= =?utf-8?Q?T2sQ=3D?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7031.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 785429c9-efdb-40e4-7389-08dc52578cc9 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Apr 2024 14:25:15.7043 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xgnKSZxyrI+2fFFOm+4FcvrpNMLhli1k6OYRuQJSue/oAEh4EQ86DsJKG+xZvHxYQ4/5AeGA6aOCaJzk2xqkzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6326 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Mon, 01 Apr 2024 07:25:21 -0700 Reply-To: devel@edk2.groups.io,nicklew@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: EaxotueVYPlSI3h7VX0eprmCx7686176AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MW4PR12MB7031A683D18933F7F384D50DD93F2MW4PR12MB7031namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=mySiqGxi; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io --_000_MW4PR12MB7031A683D18933F7F384D50DD93F2MW4PR12MB7031namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWlrZSwNCg0KPiBGb3IgdGhlIGNhc2Ugd2hlbiBQcm9wZXJ0eUNoYW5nZWQgbGVmdCBGQUxT RSwgYWxsb2NhdGVkIHZhbHVlcyBBc2NpaVN0cmluZ1ZhbHVlIGFuZCBJbnRlZ2VyVmFsdWUgYXJl IGxlYWtlZC4NCg0KVGhhbmtzIGZvciBjYXRjaGluZyB0aGlzIG1lbW9yeSBpc3N1ZS4NCg0KPiBN YXRjaFByb3BlcnR5V2l0aEpzb25Db250ZXh0KCkgc2VlbXMgdG8gYmUgYSBoZWF2eSBjYWxsLg0K PiBUaGUgb25seSB1c2VmdWwgdGhpbmcgdGhpcyBsb29wIGRvZXMgaW4gdGhhdCBjYXNlIGlzIHBy aW50aW5nIG1pc3NlZCBwcm9wZXJ0eSBpZiBlbmFibGVkLg0KDQpZZXMsIGl0IG1ha2VzIHNlbnNl IHRvIGJyZWFrIGxvb3Agd2hlbiB3ZSBoYXZlIEVGSV9OT1RfRk9VTkQgY2FzZS4gSSBndWVzcyBJ IGRvbuKAmXQgZG8gdGhpcyBpcyBqdXN0IGJlY2F1c2UgSSBsaWtlIHRvIGtub3cgaG93IG1hbnkg cHJvcGVydGllcyBhcmUgbWlzc2luZyBvbiBCTUMgYXMgeW91IHN1Z2dlc3RlZC4NCg0KSSBhZGRy ZXNzZWQgYWJvdmUgY29tbWVudHMgaW4gdmVyc2lvbjIgcGF0aCBzZXQgaGVyZTogaHR0cHM6Ly9l ZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTE3MjkyICBBbmQgd2UgYWxzbyBuZWVkIHNh bWUgY2hhbmdlcyBmb3Igb3RoZXIgZmVhdHVyZSBkcml2ZXJzLiBJIHdpbGwgc2VuZCBvdXQgYW5v dGhlciBwYXRjaCBmb3IgdGhlbSBsYXRlci4NCg0KUmVnYXJkcywNCk5pY2tsZQ0KDQpGcm9tOiBN aWtlIE1hc2xlbmtpbiA8bWlrZS5tYXNsZW5raW5AZ21haWwuY29tPg0KU2VudDogV2VkbmVzZGF5 LCBNYXJjaCAyNywgMjAyNCA2OjU3IEFNDQpUbzogTmlja2xlIFdhbmcgPG5pY2tsZXdAbnZpZGlh LmNvbT4NCkNjOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQWJuZXIgQ2hhbmcgPGFibmVyLmNoYW5n QGFtZC5jb20+OyBJZ29yIEt1bGNoeXRza3l5IDxpZ29ya0BhbWkuY29tPjsgTmljayBSYW1pcmV6 IDxucmFtaXJlekBudmlkaWEuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1y ZWRmaXNoLWNsaWVudF1bUEFUQ0ggMS8yXSBSZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzOiBzdXBw b3J0IFJlZGZpc2ggU2VjdXJlIEJvb3QNCg0KRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9w ZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCg0KSGkgTmlja2xlLA0KDQpPbiBUdWUsIE1hciAy NiwgMjAyNCBhdCA0OjU34oCvUE0gTmlja2xlIFdhbmcgPG5pY2tsZXdAbnZpZGlhLmNvbTxtYWls dG86bmlja2xld0BudmlkaWEuY29tPj4gd3JvdGU6DQpIaSBNaWtlLA0KDQpUaGFua3MgZm9yIHlv dXIgcmV2aWV3LiBJIGFkZHJlc3NlZCB5b3VyIHJldmlldyBjb21tZW50cyBpbiBwdWxsIHJlcXVl c3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1yZWRmaXNoLWNsaWVudC9wdWxs LzgzDQoNCkkgYW0gd2FpdGluZyBmb3IgQWJuZXLigJlzIHBhdGNoIChQUiM4NCkgYmVjYXVzZSBJ IHBsYW4gdG8gaW5jb3Jwb3JhdGUgQWJuZXLigJlzIGNoYW5nZXMgaW50byB0aGlzIGRyaXZlci4g SSB3aWxsIHNlbmQgdmVyc2lvbiAyIHBhdGNoIHNlcmllcyBoZXJlIGZvciByZXZpZXcgbGF0ZXIu DQoNClJlZ2FyZHMsDQpOaWNrbGUNCg0KDQoNCkkgc2VlIG15IGNvbW1lbnRzIHdlcmUgYWRkcmVz c2VkLCBhbmQgSSBhZ3JlZSB3aXRoIHRoYXQuDQoNCkJ1dCBJIHRoaW5rIEkgZm91bmQgYW5vdGhl ciBtaW5vciBsZWFrcyBpbiBhIGNvbW1vbiBwYXR0ZXJuOg0KKyAgaWYgKFByb3BlcnR5Q2hlY2tl ciAoU2VjdXJlQm9vdENzLT5TZWN1cmVCb290TW9kZSwgUHJvdmlzaW9uTW9kZSkpIHsNCisgICAg U3RhdHVzID0gR2V0U2V0dXBNb2RlICgmU2V0dXBNb2RlKTsNCisgICAgaWYgKCFFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgICBBc2NpaVN0cmluZ1ZhbHVlID0gQWxsb2NhdGVaZXJvUG9vbCAo U0VDVVJFX0JPT1RfTU9ERV9TVFJfTEVOICpzaXplb2YgKENIQVI4KSk7DQorICAgICAgaWYgKEFz Y2lpU3RyaW5nVmFsdWUgIT0gTlVMTCkgew0KKyAgICAgICAgQXNjaWlTUHJpbnQgKEFzY2lpU3Ry aW5nVmFsdWUsIFNFQ1VSRV9CT09UX01PREVfU1RSX0xFTiAqc2l6ZW9mIChDSEFSOCksICIlYSIs IChTZXR1cE1vZGUgPT0gVVNFUl9NT0RFID8gU0VDVVJFX0JPT1RfVVNFUl9NT0RFIDogU0VDVVJF X0JPT1RfU0VUVVBfTU9ERSkpOw0KKyAgICAgICAgaWYgKFByb3Zpc2lvbk1vZGUgfHwgKEFzY2lp U3RyQ21wIChTZWN1cmVCb290Q3MtPlNlY3VyZUJvb3RNb2RlLCBBc2NpaVN0cmluZ1ZhbHVlKSAh PSAwKSkgew0KKyAgICAgICAgICBTZWN1cmVCb290Q3MtPlNlY3VyZUJvb3RNb2RlID0gQXNjaWlT dHJpbmdWYWx1ZTsNCisgICAgICAgICAgUHJvcGVydHlDaGFuZ2VkICAgICAgICAgICAgICA9IFRS VUU7DQorICAgICAgICB9DQorICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAgICAgIERFQlVHICgo REVCVUdfRVJST1IsICIlYTogY2Fubm90IHJlYWQgc2V0dXAgbW9kZTogJXJcbiIsIF9fZnVuY19f LCBTdGF0dXMpKTsNCisgICAgfQ0KKyAgfQ0KDQpGb3IgdGhlIGNhc2Ugd2hlbiBQcm9wZXJ0eUNo YW5nZWQgbGVmdCBGQUxTRSwgYWxsb2NhdGVkIHZhbHVlcyBBc2NpaVN0cmluZ1ZhbHVlIGFuZCBJ bnRlZ2VyVmFsdWUgYXJlIGxlYWtlZC4NCg0KQWxzbyB0aGVyZSBpcyBhIG9uZSBuZXcgcXVlc3Rp b24gYmVsb3c6DQoNCkZyb206IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5j b208bWFpbHRvOm1pa2UubWFzbGVua2luQGdtYWlsLmNvbT4+DQpTZW50OiBGcmlkYXksIE1hcmNo IDE1LCAyMDI0IDM6MzggQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxA ZWRrMi5ncm91cHMuaW8+OyBOaWNrbGUgV2FuZyA8bmlja2xld0BudmlkaWEuY29tPG1haWx0bzpu aWNrbGV3QG52aWRpYS5jb20+Pg0KQ2M6IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BhbWQuY29t PG1haWx0bzphYm5lci5jaGFuZ0BhbWQuY29tPj47IElnb3IgS3VsY2h5dHNreXkgPGlnb3JrQGFt aS5jb208bWFpbHRvOmlnb3JrQGFtaS5jb20+PjsgTmljayBSYW1pcmV6IDxucmFtaXJlekBudmlk aWEuY29tPG1haWx0bzpucmFtaXJlekBudmlkaWEuY29tPj4NClN1YmplY3Q6IFJlOiBbZWRrMi1k ZXZlbF0gW2VkazItcmVkZmlzaC1jbGllbnRdW1BBVENIIDEvMl0gUmVkZmlzaENsaWVudFBrZy9G ZWF0dXJlczogc3VwcG9ydCBSZWRmaXNoIFNlY3VyZSBCb290DQoNCkV4dGVybmFsIGVtYWlsOiBV c2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQoNCkhpIE5pY2tsZSwNCg0K cGxlYXNlIGZpbmQgbXkgY29tbWVudHMgYmVsb3cNCg0KT24gMTQuIDMuIDIwMjQuLCBhdCAxNzo1 MywgTmlja2xlIFdhbmcgdmlhIGdyb3Vwcy5pbzxodHRwOi8vZ3JvdXBzLmlvLz4gPG5pY2tsZXc9 bnZpZGlhLmNvbUBncm91cHMuaW88bWFpbHRvOm52aWRpYS5jb21AZ3JvdXBzLmlvPj4gd3JvdGU6 DQoNCkludHJvZHVjZSBTZWN1cmVCb290IGRyaXZlciB0byBzdXBwb3J0DQovcmVkZmlzaC92MS9T eXN0ZW1zL1NZUy9TZWN1cmVCb290IHJlc291cmNlLg0KDQpTaWduZWQtb2ZmLWJ5OiBOaWNrbGUg V2FuZyA8bmlja2xld0BudmlkaWEuY29tPG1haWx0bzpuaWNrbGV3QG52aWRpYS5jb20+Pg0KQ2M6 IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BhbWQuY29tPG1haWx0bzphYm5lci5jaGFuZ0BhbWQu Y29tPj4NCkNjOiBJZ29yIEt1bGNoeXRza3l5IDxpZ29ya0BhbWkuY29tPG1haWx0bzppZ29ya0Bh bWkuY29tPj4NCkNjOiBOaWNrIFJhbWlyZXogPG5yYW1pcmV6QG52aWRpYS5jb208bWFpbHRvOm5y YW1pcmV6QG52aWRpYS5jb20+Pg0KLS0tDQouLi4vUmVkZmlzaENsaWVudENvbXBvbmVudHMuZHNj LmluYyAgICAgICAgICAgfCAgIDIgKw0KUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50TGli cy5kc2MuaW5jICAgIHwgICA0ICsNCi4uLi9TZWN1cmVCb290L3YxXzFfMC9EeGUvU2VjdXJlQm9v dER4ZS5pbmYgICB8ICA2MCArKw0KLi4uL3YxXzFfMC9Db21tb24vU2VjdXJlQm9vdENvbW1vbi5o ICAgICAgICAgIHwgIDQwICsNCi4uLi92MV8xXzAvQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uYyAg ICAgICAgICB8IDc1NiArKysrKysrKysrKysrKysrDQouLi4vU2VjdXJlQm9vdC92MV8xXzAvRHhl L1NlY3VyZUJvb3REeGUuYyAgICAgfCA4MDggKysrKysrKysrKysrKysrKysrDQpSZWRmaXNoQ2xp ZW50UGtnL1JlZGZpc2hDbGllbnQuZmRmLmluYyAgICAgICAgfCAgIDEgKw0KNyBmaWxlcyBjaGFu Z2VkLCAxNjcxIGluc2VydGlvbnMoKykNCmNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRmaXNoQ2xpZW50 UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmluZg0KY3Jl YXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9vdC92MV8x XzAvQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uaA0KY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hD bGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9vdC92MV8xXzAvQ29tbW9uL1NlY3VyZUJvb3RDb21t b24uYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IFJlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJl Qm9vdC92MV8xXzAvRHhlL1NlY3VyZUJvb3REeGUuYw0KDQpkaWZmIC0tZ2l0IGEvUmVkZmlzaENs aWVudFBrZy9SZWRmaXNoQ2xpZW50Q29tcG9uZW50cy5kc2MuaW5jIGIvUmVkZmlzaENsaWVudFBr Zy9SZWRmaXNoQ2xpZW50Q29tcG9uZW50cy5kc2MuaW5jDQppbmRleCBhZTJhNGIwMjUuLjQyZmMw YzI5OSAxMDA2NDQNCi0tLSBhL1JlZGZpc2hDbGllbnRQa2cvUmVkZmlzaENsaWVudENvbXBvbmVu dHMuZHNjLmluYw0KKysrIGIvUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50Q29tcG9uZW50 cy5kc2MuaW5jDQpAQCAtMzQsNiArMzQsNyBAQA0KICBSZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVz L0Jpb3MvdjFfMF85L0R4ZS9CaW9zRHhlLmluZg0KICBSZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVz L0Jvb3RPcHRpb25Db2xsZWN0aW9uL0Jvb3RPcHRpb25Db2xsZWN0aW9uRHhlLmluZg0KICBSZWRm aXNoQ2xpZW50UGtnL0ZlYXR1cmVzL0Jvb3RPcHRpb24vdjFfMF80L0R4ZS9Cb290T3B0aW9uRHhl LmluZg0KKyAgUmVkZmlzaENsaWVudFBrZy9GZWF0dXJlcy9TZWN1cmVCb290L3YxXzFfMC9EeGUv U2VjdXJlQm9vdER4ZS5pbmYNCg0KICAhaW5jbHVkZSBSZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hK c29uU3RydWN0dXJlRHhlLmRzYy5pbmMNCg0KQEAgLTQ3LDMgKzQ4LDQgQEANCiAgUmVkZmlzaENs aWVudFBrZy9Db252ZXJ0ZXIvQmlvcy92MV8wXzkvUmVkZmlzaEJpb3NfVjFfMF85X0R4ZS5pbmYN CiAgUmVkZmlzaENsaWVudFBrZy9Db252ZXJ0ZXIvQm9vdE9wdGlvbkNvbGxlY3Rpb24vUmVkZmlz aEJvb3RPcHRpb25Db2xsZWN0aW9uX0R4ZS5pbmYNCiAgUmVkZmlzaENsaWVudFBrZy9Db252ZXJ0 ZXIvQm9vdE9wdGlvbi92MV8wXzQvUmVkZmlzaEJvb3RPcHRpb25fVjFfMF80X0R4ZS5pbmYNCisg IFJlZGZpc2hDbGllbnRQa2cvQ29udmVydGVyL1NlY3VyZUJvb3QvdjFfMV8wL1JlZGZpc2hTZWN1 cmVCb290X1YxXzFfMF9EeGUuaW5mDQpkaWZmIC0tZ2l0IGEvUmVkZmlzaENsaWVudFBrZy9SZWRm aXNoQ2xpZW50TGlicy5kc2MuaW5jIGIvUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50TGli cy5kc2MuaW5jDQppbmRleCA2NTk5OTI2YWIuLjkxMjY0NjVkZiAxMDA2NDQNCi0tLSBhL1JlZGZp c2hDbGllbnRQa2cvUmVkZmlzaENsaWVudExpYnMuZHNjLmluYw0KKysrIGIvUmVkZmlzaENsaWVu dFBrZy9SZWRmaXNoQ2xpZW50TGlicy5kc2MuaW5jDQpAQCAtMjUsNiArMjUsOCBAQA0KICBCaW9z VjFfMF85TGlifFJlZGZpc2hDbGllbnRQa2cvQ29udmVydGVyTGliL2VkazJsaWJyYXJ5L0Jpb3Mv djFfMF85L0xpYi5pbmYNCiAgQm9vdE9wdGlvbkNvbGxlY3Rpb25MaWJ8UmVkZmlzaENsaWVudFBr Zy9Db252ZXJ0ZXJMaWIvZWRrMmxpYnJhcnkvQm9vdE9wdGlvbkNvbGxlY3Rpb24vTGliLmluZg0K ICBCb290T3B0aW9uVjFfMF80TGlifFJlZGZpc2hDbGllbnRQa2cvQ29udmVydGVyTGliL2VkazJs aWJyYXJ5L0Jvb3RPcHRpb24vdjFfMF80L0xpYi5pbmYNCisgIFNlY3VyZUJvb3RWMV8xXzBMaWJ8 UmVkZmlzaENsaWVudFBrZy9Db252ZXJ0ZXJMaWIvZWRrMmxpYnJhcnkvU2VjdXJlQm9vdC92MV8x XzAvTGliLmluZg0KKw0KICAjDQogICMgQWJvdmUgbW9kdWxlcyBzaG91bGQgYmUgcHVsbGVkIGlu IGJ5IGJ1aWxkIHRvb2wuDQogICMNCkBAIC00MiwzICs0NCw1IEBADQogIFJlZGZpc2hBZGRlbmR1 bUxpYnxSZWRmaXNoQ2xpZW50UGtnL0xpYnJhcnkvUmVkZmlzaEFkZGVuZHVtTGliL1JlZGZpc2hB ZGRlbmR1bUxpYi5pbmYNCiAgUmVkZmlzaERlYnVnTGlifFJlZGZpc2hQa2cvTGlicmFyeS9SZWRm aXNoRGVidWdMaWIvUmVkZmlzaERlYnVnTGliLmluZg0KICBSZWRmaXNoSHR0cExpYnxSZWRmaXNo UGtnL0xpYnJhcnkvUmVkZmlzaEh0dHBMaWIvUmVkZmlzaEh0dHBMaWIuaW5mDQorICBTZWN1cmVC b290VmFyaWFibGVMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9TZWN1cmVCb290VmFyaWFibGVMaWIv U2VjdXJlQm9vdFZhcmlhYmxlTGliLmluZg0KKyAgUGxhdGZvcm1QS1Byb3RlY3Rpb25MaWJ8U2Vj dXJpdHlQa2cvTGlicmFyeS9QbGF0Zm9ybVBLUHJvdGVjdGlvbkxpYlZhclBvbGljeS9QbGF0Zm9y bVBLUHJvdGVjdGlvbkxpYlZhclBvbGljeS5pbmYNCmRpZmYgLS1naXQgYS9SZWRmaXNoQ2xpZW50 UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmluZiBiL1Jl ZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9vdC92MV8xXzAvRHhlL1NlY3VyZUJvb3RE eGUuaW5mDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwLi4xYWQ4YzYyM2YN Ci0tLSAvZGV2L251bGwNCisrKyBiL1JlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9v dC92MV8xXzAvRHhlL1NlY3VyZUJvb3REeGUuaW5mDQpAQCAtMCwwICsxLDYwIEBADQorIyMgQGZp bGUNCisjDQorIyAgKEMpIENvcHlyaWdodCAyMDIwLTIwMjIgSGV3bGV0dCBQYWNrYXJkIEVudGVy cHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQorIyAgQ29weXJpZ2h0IChjKSAyMDIyLTIwMjQsIE5W SURJQSBDT1JQT1JBVElPTiAmIEFGRklMSUFURVMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorIw0K KyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQorIw0KKyMj DQorDQorDQorW0RlZmluZXNdDQorICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgID0gMHgwMDAx MDAwNQ0KKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICA9IFNlY3VyZUJvb3REeGUNCisgIEZJ TEVfR1VJRCAgICAgICAgICAgICAgICAgPSA1RTQwMjVGOC1EQTQyLTQ2OEEtODUzRS02QTEwOTFE MzUwNTINCisgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgPSBEWEVfRFJJVkVSDQorICBWRVJT SU9OX1NUUklORyAgICAgICAgICAgID0gMS4wDQorICBFTlRSWV9QT0lOVCAgICAgICAgICAgICAg ID0gUmVkZmlzaFJlc291cmNlRW50cnlQb2ludA0KKyAgVU5MT0FEX0lNQUdFICAgICAgICAgICAg ICA9IFJlZGZpc2hSZXNvdXJjZVVubG9hZA0KKw0KK1tQYWNrYWdlc10NCisgIE1kZVBrZy9NZGVQ a2cuZGVjDQorICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KKyAgU2VjdXJpdHlQa2cv U2VjdXJpdHlQa2cuZGVjDQorICBSZWRmaXNoUGtnL1JlZGZpc2hQa2cuZGVjDQorICBSZWRmaXNo Q2xpZW50UGtnL1JlZGZpc2hDbGllbnRQa2cuZGVjDQorDQorW1NvdXJjZXNdDQorICAuLi9Db21t b24vU2VjdXJlQm9vdENvbW1vbi5oDQorICAuLi9Db21tb24vU2VjdXJlQm9vdENvbW1vbi5jDQor ICBTZWN1cmVCb290RHhlLmMNCisNCitbTGlicmFyeUNsYXNzZXNdDQorICBCYXNlTWVtb3J5TGli DQorICBEZWJ1Z0xpYg0KKyAgRWRrSUlSZWRmaXNoUmVzb3VyY2VDb25maWdMaWINCisgIFJlZGZp c2hGZWF0dXJlVXRpbGl0eUxpYg0KKyAgUmVkZmlzaFZlcnNpb25MaWINCisgIFJlZGZpc2hSZXNv dXJjZUlkZW50aWZ5TGliDQorICBTZWN1cmVCb290VmFyaWFibGVMaWINCisgIFVlZmlMaWINCisg IFVlZmlEcml2ZXJFbnRyeVBvaW50DQorICBSZWRmaXNoQWRkZW5kdW1MaWINCisgIFVlZmlSdW50 aW1lU2VydmljZXNUYWJsZUxpYg0KKw0KK1tQcm90b2NvbHNdDQorICBnRWRrSUlSZWRmaXNoQ29u ZmlnSGFuZGxlclByb3RvY29sR3VpZCAgICAgICAgICAjIyBQUk9EVUNFRA0KKyAgZ0VmaVJlc3RK c29uU3RydWN0dXJlUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgIyMgQ09OU1VNRUQNCisgIGdF ZGtJSVJlZGZpc2hSZXNvdXJjZUNvbmZpZ1Byb3RvY29sR3VpZCAgICAgICAgICMjIFBST0RVQ0VE DQorICBnRWRrSUlSZWRmaXNoRmVhdHVyZVByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAjIyBD T05TVU1FRA0KKw0KK1tHdWlkc10NCisgIGdFZmlTZWN1cmVCb290RW5hYmxlRGlzYWJsZUd1aWQg ICAgICAgICAgICAgICAgICMjIENPTlNVTUVEDQorDQorW1BjZF0NCisgIGdFZmlSZWRmaXNoQ2xp ZW50UGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4UmVkZmlzaFNjaGVtYVN0cmluZ1NpemUNCisgIGdF ZmlSZWRmaXNoQ2xpZW50UGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4UmVkZmlzaFNjaGVtYVZlcnNp b25TaXplDQorICBnRWZpUmVkZmlzaENsaWVudFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlZGZpc2hT eXN0ZW1SZWJvb3RSZXF1aXJlZA0KKw0KK1tEZXBleF0NCisgIFRSVUUNCmRpZmYgLS1naXQgYS9S ZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0NvbW1vbi9TZWN1cmVC b290Q29tbW9uLmggYi9SZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8w L0NvbW1vbi9TZWN1cmVCb290Q29tbW9uLmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwMDAuLjBkMTgyNDE2MA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvUmVkZmlzaENsaWVudFBr Zy9GZWF0dXJlcy9TZWN1cmVCb290L3YxXzFfMC9Db21tb24vU2VjdXJlQm9vdENvbW1vbi5oDQpA QCAtMCwwICsxLDQwIEBADQorLyoqIEBmaWxlDQorDQorICBSZWRmaXNoIGZlYXR1cmUgZHJpdmVy IGltcGxlbWVudGF0aW9uIC0gaW50ZXJuYWwgaGVhZGVyIGZpbGUNCisgIChDKSBDb3B5cmlnaHQg MjAyMC0yMDIyIEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQPEJSPg0K KyAgQ29weXJpZ2h0IChjKSAyMDIyLTIwMjQsIE5WSURJQSBDT1JQT1JBVElPTiAmIEFGRklMSUFU RVMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorDQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KKw0KKyoqLw0KKw0KKyNpZm5kZWYgRUZJX1JFREZJU0hfU0VD VVJFQk9PVF9DT01NT05fSF8NCisjZGVmaW5lIEVGSV9SRURGSVNIX1NFQ1VSRUJPT1RfQ09NTU9O X0hfDQorDQorI2luY2x1ZGUgPEd1aWQvSW1hZ2VBdXRoZW50aWNhdGlvbi5oPg0KKyNpbmNsdWRl IDxHdWlkL0dsb2JhbFZhcmlhYmxlLmg+DQorI2luY2x1ZGUgPEd1aWQvQXV0aGVudGljYXRlZFZh cmlhYmxlRm9ybWF0Lmg+DQorI2luY2x1ZGUgPFJlZGZpc2hKc29uU3RydWN0dXJlL1NlY3VyZUJv b3QvdjFfMV8wL0VmaVNlY3VyZUJvb3RWMV8xXzAuaD4NCisjaW5jbHVkZSA8UmVkZmlzaFJlc291 cmNlQ29tbW9uLmg+DQorI2luY2x1ZGUgPFVlZmlTZWN1cmVCb290Lmg+DQorI2luY2x1ZGUgPExp YnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmg+DQorI2luY2x1ZGUgPExpYnJhcnkv U2VjdXJlQm9vdFZhcmlhYmxlTGliLmg+DQorDQorLy8NCisvLyBTY2hlbWEgaW5mb3JtYXRpb24u DQorLy8NCisjZGVmaW5lIFJFREZJU0hfTUFOQUdFRF9VUkkgICAgICAgIEwiU3lzdGVtcy97fS9T ZWN1cmVCb290Ig0KKyNkZWZpbmUgUkVERklTSF9EVU1NWV9DT05GSUdfTEFORyAgTCJTeXN0ZW1z L3sxfS9TZWN1cmVCb290Ig0KKyNkZWZpbmUgTUFYX1VSSV9MRU5HVEggICAgICAgICAgICAgMjU2 DQorI2RlZmluZSBSRVNPVVJDRV9TQ0hFTUEgICAgICAgICAgICAiU2VjdXJlQm9vdCINCisjZGVm aW5lIFJFU09VUkNFX1NDSEVNQV9NQUpPUiAgICAgICIxIg0KKyNkZWZpbmUgUkVTT1VSQ0VfU0NI RU1BX01JTk9SICAgICAgIjEiDQorI2RlZmluZSBSRVNPVVJDRV9TQ0hFTUFfRVJSQVRBICAgICAi MCINCisjZGVmaW5lIFJFU09VUkNFX1NDSEVNQV9WRVJTSU9OICAgICJ2MV8xXzAiDQorI2RlZmlu ZSBTRUNVUkVfQk9PVF9TRVRVUF9NT0RFICAgICAiU2V0dXBNb2RlIg0KKyNkZWZpbmUgU0VDVVJF X0JPT1RfVVNFUl9NT0RFICAgICAgIlVzZXJNb2RlIg0KKyNkZWZpbmUgU0VDVVJFX0JPT1RfRU5B QkxFRCAgICAgICAgIkVuYWJsZWQiDQorI2RlZmluZSBTRUNVUkVfQk9PVF9ESVNBQkxFRCAgICAg ICAiRGlzYWJsZWQiDQorI2RlZmluZSBTRUNVUkVfQk9PVF9NT0RFX1NUUl9MRU4gICAxNg0KKw0K KyNlbmRpZg0KZGlmZiAtLWdpdCBhL1JlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9v dC92MV8xXzAvQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uYyBiL1JlZGZpc2hDbGllbnRQa2cvRmVh dHVyZXMvU2VjdXJlQm9vdC92MV8xXzAvQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMC4uNTZhNDVlZTcyDQotLS0gL2Rldi9udWxs DQorKysgYi9SZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0NvbW1v bi9TZWN1cmVCb290Q29tbW9uLmMNCkBAIC0wLDAgKzEsNzU2IEBADQorLyoqIEBmaWxlDQorICBS ZWRmaXNoIGZlYXR1cmUgZHJpdmVyIGltcGxlbWVudGF0aW9uIC0gY29tbW9uIGZ1bmN0aW9ucw0K Kw0KKyAgKEMpIENvcHlyaWdodCAyMDIwLTIwMjIgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2Ug RGV2ZWxvcG1lbnQgTFA8QlI+DQorICBDb3B5cmlnaHQgKGMpIDIwMjMtMjAyNCwgTlZJRElBIENP UlBPUkFUSU9OICYgQUZGSUxJQVRFUy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisNCisgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQorDQorKiovDQorDQorI2lu Y2x1ZGUgIlNlY3VyZUJvb3RDb21tb24uaCINCisNCitDSEFSOCAgU2VjdXJlQm9vdEVtcHR5SnNv bltdID0gIntcIkBvZGF0YS5pZDxodHRwOi8vb2RhdGEuaWQvPlwiOiBcIlwiLCBcIkBvZGF0YS50 eXBlXCI6IFwiI1NlY3VyZUJvb3QudjFfMV8wLlNlY3VyZUJvb3RcIiwgXCJJZFwiOiBcIlwiLCBc Ik5hbWVcIjogXCJcIiwgXCJBdHRyaWJ1dGVzXCI6e319IjsNCisNCitSRURGSVNIX1JFU09VUkNF X0NPTU1PTl9QUklWQVRFICAqbVJlZGZpc2hSZXNvdXJjZVByaXZhdGUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPSBOVUxMOw0KK0VGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAg ICAgIG1SZWRmaXNoUmVzb3VyY2VDb25maWdQcm90b2NvbEhhbmRsZSAgICAgICAgICAgICAgICAg ICAgICA9IE5VTEw7DQorQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgKm1TZWN1cmVC b290U3VwcG9ydGVkQXR0cmlidXRlc1tTRUNVUkVfQk9PVF9NT0RFX1NUUl9MRU5dID0gew0KKyAg TCJTZWN1cmVCb290Q3VycmVudEJvb3QiLA0KKyAgTCJTZWN1cmVCb290RW5hYmxlIiwNCisgIEwi U2VjdXJlQm9vdE1vZGUiDQorfTsNCisNCisvKioNCisgIFJlYWQgRUZJX1NFQ1VSRV9CT09UX0VO QUJMRV9OQU1FIHZhcmlhYmxlIGFuZCByZXR1cm4gaXRzIHZhbHVlIHRvIGNhbGxlci4NCisNCisg IEByZXR2YWwgQk9PTEVBTiAgICBUUlVFIHdoZW4gRUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1F IHZhbHVlIGlzIFNFQ1VSRV9CT09UX0VOQUJMRQ0KKyAgICAgICAgICAgICAgICAgICAgIEZBTFNF IHdoZW4gRUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FIHZhbHVlIGlzIFNFQ1VSRV9CT09UX0RJ U0FCTEUNCisqKi8NCitCT09MRUFODQorUmVkZmlzaFJlYWRTZWN1cmVCb290RW5hYmxlICgNCisg IFZPSUQNCisgICkNCit7DQorICBVSU5UOCAgICAqQnVmZmVyOw0KKyAgQk9PTEVBTiAgU2VjdXJl Qm9vdEVuYWJsZVZhbHVlOw0KKw0KKyAgQnVmZmVyICAgICAgICAgICAgICAgID0gTlVMTDsNCisg IFNlY3VyZUJvb3RFbmFibGVWYWx1ZSA9IEZBTFNFOw0KKw0KKyAgR2V0VmFyaWFibGUyICgNCisg ICAgRUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FLA0KKyAgICAmZ0VmaVNlY3VyZUJvb3RFbmFi bGVEaXNhYmxlR3VpZCwNCisgICAgKFZPSUQgKiopJkJ1ZmZlciwNCisgICAgTlVMTA0KKyAgICAp Ow0KKw0KKyAgaWYgKEJ1ZmZlciAhPSBOVUxMKSB7DQorICAgIGlmICgqQnVmZmVyID09IFNFQ1VS RV9CT09UX0VOQUJMRSkgew0KKyAgICAgIFNlY3VyZUJvb3RFbmFibGVWYWx1ZSA9IFRSVUU7DQor ICAgIH0NCisNCisgICAgRnJlZVBvb2wgKEJ1ZmZlcik7DQorICB9DQorDQorICByZXR1cm4gU2Vj dXJlQm9vdEVuYWJsZVZhbHVlOw0KK30NCisNCisvKioNCisgIFdyaXRlIEVGSV9TRUNVUkVfQk9P VF9FTkFCTEVfTkFNRSB2YXJpYWJsZSB3aXRoIGdpdmVuIHZhbHVlLg0KKw0KKyAgQHBhcmFtW2lu XSAgIFNlY3VyZUJvb3RFbmFibGVWYWx1ZSAgICBWYWx1ZSB0byB3cml0ZS4gVFJVRSBpcyBTRUNV UkVfQk9PVF9FTkFCTEUuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEZBTFNFIGlzIFNFQ1VSRV9CT09UX0RJU0FCTEUuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgICBXcml0ZSB2YWx1ZSBzdWNjZXNzZnVsbHkuDQorICBAcmV0dmFsIE90aGVy cyAgICAgICAgICAgICAgICAgICBTb21lIGVycm9yIGhhcHBlbmVkLg0KKyoqLw0KK0VGSV9TVEFU VVMNCitSZWRmaXNoV3JpdGVTZWN1cmVCb290RW5hYmxlICgNCisgIEJPT0xFQU4gIFNlY3VyZUJv b3RFbmFibGVWYWx1ZQ0KKyAgKQ0KK3sNCisgIEVGSV9TVEFUVVMgIFN0YXR1czsNCisgIFVJTlQ4 ICAgICAgIFZhclZhbHVlOw0KKw0KKyAgVmFyVmFsdWUgPSAoU2VjdXJlQm9vdEVuYWJsZVZhbHVl ID8gU0VDVVJFX0JPT1RfRU5BQkxFIDogU0VDVVJFX0JPT1RfRElTQUJMRSk7DQorICBTdGF0dXMg ICA9IGdSVC0+U2V0VmFyaWFibGUgKA0KKyAgICAgICAgICAgICAgICAgICAgRUZJX1NFQ1VSRV9C T09UX0VOQUJMRV9OQU1FLA0KKyAgICAgICAgICAgICAgICAgICAgJmdFZmlTZWN1cmVCb290RW5h YmxlRGlzYWJsZUd1aWQsDQorICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfTk9OX1ZP TEFUSUxFIHwgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUywNCisgICAgICAgICAgICAg ICAgICAgIHNpemVvZiAoVmFyVmFsdWUpLA0KKyAgICAgICAgICAgICAgICAgICAgJlZhclZhbHVl DQorICAgICAgICAgICAgICAgICAgICApOw0KKw0KKyAgcmV0dXJuIFN0YXR1czsNCit9DQorDQor LyoqDQorICBDb25zdW1lIFJlZGZpc2ggcmVzb3VyY2UgaW4gZ2l2ZW4gSnNvbiBkYXRhLg0KKw0K KyAgQHBhcmFtW2luXSAgIFRoaXMgICAgICAgICAgICAgICAgUG9pbnRlciB0byBSRURGSVNIX1JF U09VUkNFX0NPTU1PTl9QUklWQVRFIGluc3RhbmNlLg0KKyAgQHBhcmFtW2luXSAgIEpzb24gICAg ICAgICAgICAgICAgVGhlIEpTT04gdG8gY29uc3VtZS4NCisgIEBwYXJhbVtpbl0gICBIZWFkZXJF dGFnICAgICAgICAgIFRoZSBFdGFnIHN0cmluZyByZXR1cm5lZCBpbiBIVFRQIGhlYWRlci4NCisN CisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgIENvbnN1bWUgUmVkZmlzaCBhdHRy aWJ1dGUgc3VjY2Vzc2Z1bGx5Lg0KKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAg U29tZSBlcnJvciBoYXBwZW5lZC4NCisNCisqKi8NCitFRklfU1RBVFVTDQorUmVkZmlzaENvbnN1 bWVSZXNvdXJjZUNvbW1vbiAoDQorICBJTiAgUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFU RSAgKlByaXZhdGUsDQorICBJTiAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgKkpz b24sDQorICBJTiAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgKkhlYWRlckV0YWcg T1BUSU9OQUwNCisgICkNCit7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAg U3RhdHVzOw0KKyAgRUZJX1JFREZJU0hfU0VDVVJFQk9PVF9WMV8xXzAgICAgICpTZWN1cmVCb290 Ow0KKyAgRUZJX1JFREZJU0hfU0VDVVJFQk9PVF9WMV8xXzBfQ1MgICpTZWN1cmVCb290Q3M7DQor ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjdXJlQm9vdEVuYWJsZURpc2Fi bGU7DQorDQorICBpZiAoKFByaXZhdGUgPT0gTlVMTCkgfHwgSVNfRU1QVFlfU1RSSU5HIChKc29u KSkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgU2Vj dXJlQm9vdCAgICAgICAgICAgICAgPSBOVUxMOw0KKyAgU2VjdXJlQm9vdENzICAgICAgICAgICAg PSBOVUxMOw0KKyAgU2VjdXJlQm9vdEVuYWJsZURpc2FibGUgPSBSZWRmaXNoUmVhZFNlY3VyZUJv b3RFbmFibGUgKCk7DQorDQorICBTdGF0dXMgPSBQcml2YXRlLT5Kc29uU3RydWN0UHJvdG9jb2wt PlRvU3RydWN0dXJlICgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQcml2YXRlLT5Kc29uU3RydWN0UHJvdG9jb2wsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBKc29uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9IRUFERVIgKiopJlNlY3VyZUJvb3QNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IFRvU3RydWN0dXJl KCkgZmFpbGVkOiAlclxuIiwgX19mdW5jX18sIFN0YXR1cykpOw0KKyAgICByZXR1cm4gU3RhdHVz Ow0KKyAgfQ0KKw0KKyAgU2VjdXJlQm9vdENzID0gU2VjdXJlQm9vdC0+U2VjdXJlQm9vdDsNCisN CisgIC8vDQorICAvLyBDaGVjayBFVEFHIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIGNvbnN1bWUgaXQN CisgIC8vDQorICBpZiAoQ2hlY2tFdGFnIChQcml2YXRlLT5VcmksIEhlYWRlckV0YWcsIFNlY3Vy ZUJvb3RDcy0+b2RhdGFfZXRhZykpIHsNCisgICAgLy8NCisgICAgLy8gTm8gY2hhbmdlDQorICAg IC8vDQorICAgIERFQlVHICgoUkVERklTSF9ERUJVR19UUkFDRSwgIiVhOiBFVEFHOiAlcyBoYXMg bm8gY2hhbmdlLCBpZ25vcmUgY29uc3VtZSBhY3Rpb25cbiIsIF9fZnVuY19fLCBQcml2YXRlLT5V cmkpKTsNCisgICAgU3RhdHVzID0gRUZJX0FMUkVBRFlfU1RBUlRFRDsNCisgICAgZ290byBPTl9S RUxFQVNFOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIFNlY3VyZSBib290IGVuYWJsZQ0KKyAgLy8N CisgIGlmIChTZWN1cmVCb290Q3MtPlNlY3VyZUJvb3RFbmFibGUgIT0gTlVMTCkgew0KKyAgICBp ZiAoU2VjdXJlQm9vdEVuYWJsZURpc2FibGUgIT0gKlNlY3VyZUJvb3RDcy0+U2VjdXJlQm9vdEVu YWJsZSkgew0KKyAgICAgIC8vDQorICAgICAgLy8gV3JpdGUgdmFsdWUgdG8gIlNlY3VyZUJvb3RF bmFibGUiIHZhcmlhYmxlLiBBdXRoVmFyaWFibGVMaWIgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSBz ZWN1cmUgYm9vdA0KKyAgICAgIC8vIGJhc2VkIG9uICJTZWN1cmVCb290RW5hYmxlIiB2YWx1ZS4N CisgICAgICAvLw0KKyAgICAgIFN0YXR1cyA9IFJlZGZpc2hXcml0ZVNlY3VyZUJvb3RFbmFibGUg KCpTZWN1cmVCb290Q3MtPlNlY3VyZUJvb3RFbmFibGUpOw0KKyAgICAgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCisgICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogd3JpdGUgc2Vj dXJlIGJvb3QgZW5hYmxlIGRpc2FibGUgZmFpbGVkOiAlclxuIiwgX19mdW5jX18sIFN0YXR1cykp Ow0KKyAgICAgIH0gZWxzZSB7DQorICAgICAgICBSRURGSVNIX0VOQUJMRV9TWVNURU1fUkVCT09U ICgpOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBERUJVRyAoKFJFREZJU0hfREVC VUdfVFJBQ0UsICIlYTogc2VjdXJlIGJvb3QgbW9kZSBpcyBub3QgY2hhbmdlZFxuIiwgX19mdW5j X18pKTsNCisgICAgfQ0KKyAgfQ0KKw0KK09OX1JFTEVBU0U6DQorDQorICAvLw0KKyAgLy8gUmVs ZWFzZSByZXNvdXJjZS4NCisgIC8vDQorICBQcml2YXRlLT5Kc29uU3RydWN0UHJvdG9jb2wtPkRl c3RvcnlTdHJ1Y3R1cmUgKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaXZh dGUtPkpzb25TdHJ1Y3RQcm90b2NvbCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfSEVBREVSICopU2VjdXJlQm9vdA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICk7DQorDQorICByZXR1cm4gRUZJX1NVQ0NFU1M7DQor fQ0KKw0KKy8qKg0KKyAgUHJvdmlzaW9uIFJlZGZpc2ggcmVzb3VyY2UuIFRoaXMgZnVuY3Rpb24g cmVhZHMgc2VjdXJlIGJvb3QgdmFyaWFibGUgYW5kIGNvbnZlcnQgaXQNCisgIHRvIFJlZGZpc2gg YXR0cmlidXRlLg0KKw0KKyAgQHBhcmFtW2luXSAgIEpzb25TdHJ1Y3RQcm90b2NvbCAgUG9pbnRl ciB0byBKc29uIHN0cnVjdHVyZSBwcm90b2NvbC4NCisgIEBwYXJhbVtpbl0gICBJbnB1dEpzb24g ICAgICAgICAgIEphc29uIGRhdGEgb24gaW5wdXQuDQorICBAcGFyYW1baW5dICAgUmVzb3VyY2VJ ZCAgICAgICAgICBSZXNvdXJjZSBJRC4gVGhpcyBpcyBvcHRpb25hbC4NCisgIEBwYXJhbVtpbl0g ICBDb25maWd1cmVMYW5nICAgICAgIENvbmZpZ3VyZSBsYW5ndWFnZSBmb3IgdGhpcyBSZWRmaXNo IHJlc291cmNlLg0KKyAgQHBhcmFtW2luXSAgIFByb3Zpc2lvbk1vZGUgICAgICAgVFJVRSB3aGVu IHRoaXMgaXMgdG8gcHJvdmlzaW9uIFJlZGZpc2ggYXR0cmlidXRlIHRvDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWRmaXNoIHNlcnZpY2UuIEZBTFNFIGlzIHRvIHVwZGF0 ZSBSZWRmaXNoIGF0dHJpYnV0ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dG8gUmVkZmlzaCBzZXJ2aWNlLg0KKyAgQHBhcmFtW291dF0gIFJlc3VsdEpzb24gICAgICAgICAg SnNvbiBkYXRhIG9uIG91dHB1dC4NCisNCisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICAgIFByb3Zpc2lvbiBSZWRmaXNoIGF0dHJpYnV0ZSBzdWNjZXNzZnVsbHkuDQorICBAcmV0dmFs IE90aGVycyAgICAgICAgICAgICAgICAgICBTb21lIGVycm9yIGhhcHBlbmVkLg0KKw0KKyoqLw0K K0VGSV9TVEFUVVMNCitQcm92aXNpb25pbmdTZWN1cmVCb290UHJvcGVydGllcyAoDQorICBJTiAg RUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUFJPVE9DT0wgICpKc29uU3RydWN0UHJvdG9jb2wsDQor ICBJTiAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICpJbnB1dEpzb24sDQorICBJ TiAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICpSZXNvdXJjZUlkIE9QVElPTkFM LA0KKyAgSU4gIEVGSV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICBDb25maWd1cmVMYW5n LA0KKyAgSU4gIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICBQcm92aXNpb25Nb2Rl LA0KKyAgT1VUIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKlJlc3VsdEpzb24N CisgICkNCit7DQorICBFRklfUkVERklTSF9TRUNVUkVCT09UX1YxXzFfMCAgICAgKlNlY3VyZUJv b3Q7DQorICBFRklfUkVERklTSF9TRUNVUkVCT09UX1YxXzFfMF9DUyAgKlNlY3VyZUJvb3RDczsN CisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBCT09MRUFO ICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlDaGFuZ2VkOw0KKyAgQ0hBUjggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICpBc2NpaVN0cmluZ1ZhbHVlOw0KKyAgSU5UMzIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICpJbnRlZ2VyVmFsdWU7DQorICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU2V0dXBNb2RlOw0KKyAgQk9PTEVBTiAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNlY3VyZUJvb3RFbmFibGVkOw0KKyAgQk9PTEVBTiAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNlY3VyZUJvb3RFbmFibGVEaXNhYmxlOw0KKw0KKyAgaWYgKChKc29uU3Ry dWN0UHJvdG9jb2wgPT0gTlVMTCkgfHwgKFJlc3VsdEpzb24gPT0gTlVMTCkgfHwgSVNfRU1QVFlf U1RSSU5HIChJbnB1dEpzb24pIHx8IElTX0VNUFRZX1NUUklORyAoQ29uZmlndXJlTGFuZykpIHsN CisgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCisgIH0NCisNCisgIERFQlVHICgo UkVERklTSF9ERUJVR19UUkFDRSwgIiVhIHByb3Zpc2lvbiBmb3IgJXMgd2l0aDogJXNcbiIsIF9f ZnVuY19fLCBDb25maWd1cmVMYW5nLCAoUHJvdmlzaW9uTW9kZSA/IEwiUHJvdmlzaW9uIHJlc291 cmNlIiA6IEwiVXBkYXRlIHJlc291cmNlIikpKTsNCisNCisgICpSZXN1bHRKc29uICAgICAgICAg ICAgID0gTlVMTDsNCisgIFByb3BlcnR5Q2hhbmdlZCAgICAgICAgID0gRkFMU0U7DQorICBBc2Np aVN0cmluZ1ZhbHVlICAgICAgICA9IE5VTEw7DQorICBTZWN1cmVCb290RW5hYmxlRGlzYWJsZSA9 IFJlZGZpc2hSZWFkU2VjdXJlQm9vdEVuYWJsZSAoKTsNCisgIFNlY3VyZUJvb3RFbmFibGVkICAg ICAgID0gSXNTZWN1cmVCb290RW5hYmxlZCAoKTsNCisNCisgIFNlY3VyZUJvb3QgPSBOVUxMOw0K KyAgU3RhdHVzICAgICA9IEpzb25TdHJ1Y3RQcm90b2NvbC0+VG9TdHJ1Y3R1cmUgKA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKc29uU3RydWN0UHJvdG9jb2wsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElucHV0SnNvbiwNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURFUiAqKikmU2VjdXJl Qm9vdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IFRvU3Ry dWN0dXJlIGZhaWx1cmU6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAgIHJldHVybiBT dGF0dXM7DQorICB9DQorDQorICBTZWN1cmVCb290Q3MgPSBTZWN1cmVCb290LT5TZWN1cmVCb290 Ow0KKw0KKyAgLy8NCisgIC8vIElEDQorICAvLw0KKyAgaWYgKFNlY3VyZUJvb3RDcy0+SWQgIT0g TlVMTCkgew0KKyAgICBTZWN1cmVCb290Q3MtPklkID0gTlVMTDsNCisgIH0NCisNCisgIC8vDQor ICAvLyBOYW1lDQorICAvLw0KKyAgaWYgKFNlY3VyZUJvb3RDcy0+TmFtZSAhPSBOVUxMKSB7DQor ICAgIFNlY3VyZUJvb3RDcy0+TmFtZSA9IE5VTEw7DQorICB9DQorDQorICAvLw0KKyAgLy8gU2Vj dXJlIGJvb3QgdmFyaWFibGVzIHRoYXQgd2Ugd2lsbCBoYW5kbGUgaGVyZQ0KKyAgLy8NCisgIC8v IEVGSV9TRVRVUF9NT0RFX05BTUUgKGdFZmlHbG9iYWxWYXJpYWJsZUd1aWQpDQorICAvLyBFRklf U0VDVVJFX0JPT1RfTU9ERV9OQU1FIChnRWZpR2xvYmFsVmFyaWFibGVHdWlkKQ0KKyAgLy8gRUZJ X1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FIChnRWZpU2VjdXJlQm9vdEVuYWJsZURpc2FibGVHdWlk KQ0KKyAgLy8NCisNCisgIC8vDQorICAvLyBDdXJyZW50IEJvb3QNCisgIC8vDQorICBpZiAoUHJv cGVydHlDaGVja2VyIChTZWN1cmVCb290Q3MtPlNlY3VyZUJvb3RDdXJyZW50Qm9vdCwgUHJvdmlz aW9uTW9kZSkpIHsNCisgICAgQXNjaWlTdHJpbmdWYWx1ZSA9IEFsbG9jYXRlWmVyb1Bvb2wgKFNF Q1VSRV9CT09UX01PREVfU1RSX0xFTiAqIHNpemVvZiAoQ0hBUjgpKTsNCisgICAgaWYgKEFzY2lp U3RyaW5nVmFsdWUgIT0gTlVMTCkgew0KKyAgICAgIEFzY2lpU1ByaW50IChBc2NpaVN0cmluZ1Zh bHVlLCBTRUNVUkVfQk9PVF9NT0RFX1NUUl9MRU4sICIlYSIsIChTZWN1cmVCb290RW5hYmxlZCA/ IFNFQ1VSRV9CT09UX0VOQUJMRUQgOiBTRUNVUkVfQk9PVF9ESVNBQkxFRCkpOw0KKyAgICAgIGlm IChQcm92aXNpb25Nb2RlIHx8IChBc2NpaVN0ckNtcCAoU2VjdXJlQm9vdENzLT5TZWN1cmVCb290 Q3VycmVudEJvb3QsIEFzY2lpU3RyaW5nVmFsdWUpICE9IDApKSB7DQorICAgICAgICBTZWN1cmVC b290Q3MtPlNlY3VyZUJvb3RDdXJyZW50Qm9vdCA9IEFzY2lpU3RyaW5nVmFsdWU7DQorICAgICAg ICBQcm9wZXJ0eUNoYW5nZWQgICAgICAgICAgICAgICAgICAgICA9IFRSVUU7DQorICAgICAgfQ0K KyAgICB9IGVsc2Ugew0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogb3V0IG9mIHJl c291cmNlXG4iLCBfX2Z1bmNfXykpOw0KKyAgICB9DQorICB9DQorDQorICAvLw0KKyAgLy8gU2Vj dXJlIGJvb3QgZW5hYmxlDQorICAvLw0KKyAgaWYgKFByb3BlcnR5Q2hlY2tlciAoU2VjdXJlQm9v dENzLT5TZWN1cmVCb290RW5hYmxlLCBQcm92aXNpb25Nb2RlKSkgew0KKyAgICBpZiAoUHJvdmlz aW9uTW9kZSB8fCAoKlNlY3VyZUJvb3RDcy0+U2VjdXJlQm9vdEVuYWJsZSAhPSBTZWN1cmVCb290 RW5hYmxlRGlzYWJsZSkpIHsNCisgICAgICBJbnRlZ2VyVmFsdWUgPSBBbGxvY2F0ZVBvb2wgKHNp emVvZiAoKkludGVnZXJWYWx1ZSkpOw0KKyAgICAgIGlmIChJbnRlZ2VyVmFsdWUgIT0gTlVMTCkg ew0KKyAgICAgICAgKkludGVnZXJWYWx1ZSAgICAgICAgICAgICAgICAgID0gKFNlY3VyZUJvb3RF bmFibGVEaXNhYmxlID8gMHgwMSA6IDB4MDApOw0KKyAgICAgICAgU2VjdXJlQm9vdENzLT5TZWN1 cmVCb290RW5hYmxlID0gSW50ZWdlclZhbHVlOw0KKyAgICAgICAgUHJvcGVydHlDaGFuZ2VkICAg ICAgICAgICAgICAgID0gVFJVRTsNCisgICAgICB9IGVsc2Ugew0KKyAgICAgICAgREVCVUcgKChE RUJVR19FUlJPUiwgIiVhOiBvdXQgb2YgcmVzb3VyY2VcbiIsIF9fZnVuY19fKSk7DQorICAgICAg fQ0KKyAgICB9DQorICB9DQorDQorICAvLw0KKyAgLy8gU2VjdXJlIGJvb3QgbW9kZQ0KKyAgLy8N CisgIGlmIChQcm9wZXJ0eUNoZWNrZXIgKFNlY3VyZUJvb3RDcy0+U2VjdXJlQm9vdE1vZGUsIFBy b3Zpc2lvbk1vZGUpKSB7DQorICAgIFN0YXR1cyA9IEdldFNldHVwTW9kZSAoJlNldHVwTW9kZSk7 DQorICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgQXNjaWlTdHJpbmdWYWx1 ZSA9IEFsbG9jYXRlWmVyb1Bvb2wgKFNFQ1VSRV9CT09UX01PREVfU1RSX0xFTiAqc2l6ZW9mIChD SEFSOCkpOw0KKyAgICAgIGlmIChBc2NpaVN0cmluZ1ZhbHVlICE9IE5VTEwpIHsNCisgICAgICAg IEFzY2lpU1ByaW50IChBc2NpaVN0cmluZ1ZhbHVlLCBTRUNVUkVfQk9PVF9NT0RFX1NUUl9MRU4g KnNpemVvZiAoQ0hBUjgpLCAiJWEiLCAoU2V0dXBNb2RlID09IFVTRVJfTU9ERSA/IFNFQ1VSRV9C T09UX1VTRVJfTU9ERSA6IFNFQ1VSRV9CT09UX1NFVFVQX01PREUpKTsNCisgICAgICAgIGlmIChQ cm92aXNpb25Nb2RlIHx8IChBc2NpaVN0ckNtcCAoU2VjdXJlQm9vdENzLT5TZWN1cmVCb290TW9k ZSwgQXNjaWlTdHJpbmdWYWx1ZSkgIT0gMCkpIHsNCisgICAgICAgICAgU2VjdXJlQm9vdENzLT5T ZWN1cmVCb290TW9kZSA9IEFzY2lpU3RyaW5nVmFsdWU7DQorICAgICAgICAgIFByb3BlcnR5Q2hh bmdlZCAgICAgICAgICAgICAgPSBUUlVFOw0KKyAgICAgICAgfQ0KKyAgICAgIH0NCisgICAgfSBl bHNlIHsNCisgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGNhbm5vdCByZWFkIHNldHVw IG1vZGU6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAgIH0NCisgIH0NCisNCisgIC8v DQorICAvLyBDb252ZXJ0IEMgc3RydWN0dXJlIGJhY2sgdG8gSlNPTiB0ZXh0Lg0KKyAgLy8NCisg IFN0YXR1cyA9IEpzb25TdHJ1Y3RQcm90b2NvbC0+VG9Kc29uICgNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBKc29uU3RydWN0UHJvdG9jb2wsDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURFUiAqKVNlY3VyZUJv b3QsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdWx0SnNvbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogVG9Kc29uKCkgZmFpbGVkOiAlclxu IiwgX19mdW5jX18sIFN0YXR1cykpOw0KKyAgICByZXR1cm4gU3RhdHVzOw0KDQoNCg0KICBTZWN1 cmVCb290IHN0cnVjdHVyZSBsZWFrLiBJdCBpcyByZWxlYXNlZCBiZWxvdy4NCg0KKyAgfQ0KKw0K KyAgLy8NCisgIC8vIFJlbGVhc2UgcmVzb3VyY2UuDQorICAvLw0KKyAgSnNvblN0cnVjdFByb3Rv Y29sLT5EZXN0b3J5U3RydWN0dXJlICgNCisgICAgICAgICAgICAgICAgICAgICAgICBKc29uU3Ry dWN0UHJvdG9jb2wsDQorICAgICAgICAgICAgICAgICAgICAgICAgKEVGSV9SRVNUX0pTT05fU1RS VUNUVVJFX0hFQURFUiAqKVNlY3VyZUJvb3QNCisgICAgICAgICAgICAgICAgICAgICAgICApOw0K Kw0KKyAgcmV0dXJuIChQcm9wZXJ0eUNoYW5nZWQgPyBFRklfU1VDQ0VTUyA6IEVGSV9OT1RfRk9V TkQpOw0KK30NCisNCisvKioNCisgIFByb3Zpc2lvbiBSZWRmaXNoIHJlc291cmNlIGFuZCB1cGxv YWQgZGF0YSB0byBSZWRmaXNoIHNlcnZpY2UuIFRoaXMgZnVuY3Rpb24NCisgIGNoZWNrcyBPRU0g ZGF0YSBhbmQgcGxhdGZvcm0gYWRkZW5kdW0gZGF0YSBiZWZvcmUgc2VuZGluZyBkYXRhIHRvIFJl ZGZpc2ggc2VydmljZS4NCisNCisgIEBwYXJhbVtpbl0gICBQcml2YXRlICAgUG9pbnRlciB0byBw cml2YXRlIGRhdGEuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBQcm92 aXNpb24gUmVkZmlzaCByZXNvdXJjZSBzdWNjZXNzZnVsbHkuDQorICBAcmV0dmFsIE90aGVycyAg ICAgICAgICAgICAgICAgICBTb21lIGVycm9yIGhhcHBlbmVkLg0KKw0KKyoqLw0KK0VGSV9TVEFU VVMNCitQcm92aXNpb25pbmdTZWN1cmVCb290UmVzb3VyY2UgKA0KKyAgSU4gIFJFREZJU0hfUkVT T1VSQ0VfQ09NTU9OX1BSSVZBVEUgICpQcml2YXRlDQorICApDQorew0KKyAgRUZJX1NUQVRVUyAg ICAgICAgU3RhdHVzOw0KKyAgQ0hBUjggICAgICAgICAgICAgKkpzb247DQorICBDSEFSOCAgICAg ICAgICAgICAqSnNvbldpdGhBZGRlbmR1bTsNCisgIFJFREZJU0hfUkVTUE9OU0UgIFJlc3BvbnNl Ow0KKw0KKyAgaWYgKFByaXZhdGUgPT0gTlVMTCkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURf UEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgWmVyb01lbSAoJlJlc3BvbnNlLCBzaXplb2YgKFJFREZJ U0hfUkVTUE9OU0UpKTsNCisgIEpzb24gPSBOVUxMOw0KKw0KKyAgU3RhdHVzID0gUHJvdmlzaW9u aW5nU2VjdXJlQm9vdFByb3BlcnRpZXMgKA0KKyAgICAgICAgICAgICBQcml2YXRlLT5Kc29uU3Ry dWN0UHJvdG9jb2wsDQorICAgICAgICAgICAgIFNlY3VyZUJvb3RFbXB0eUpzb24sDQorICAgICAg ICAgICAgIE5VTEwsDQorICAgICAgICAgICAgIFJFREZJU0hfRFVNTVlfQ09ORklHX0xBTkcsDQor ICAgICAgICAgICAgIFRSVUUsDQorICAgICAgICAgICAgICZKc29uDQorICAgICAgICAgICAgICk7 DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIGlmIChTdGF0dXMgPT0gRUZJX05P VF9GT1VORCkgew0KKyAgICAgIERFQlVHICgoUkVERklTSF9ERUJVR19UUkFDRSwgIiVhOiBwcm92 aXNpb25pbmcgZXhpc3RpbmcgcmVzb3VyY2UgZm9yICVzIGlnbm9yZWQuIE5vdGhpbmcgY2hhbmdl ZFxuIiwgX19mdW5jX18sIFJFREZJU0hfRFVNTVlfQ09ORklHX0xBTkcpKTsNCisgICAgICBTdGF0 dXMgPSBFRklfU1VDQ0VTUzsNCisgICAgfSBlbHNlIHsNCisgICAgICBERUJVRyAoKERFQlVHX0VS Uk9SLCAiJWE6IHByb3Zpc2lvbmluZyBleGlzdGluZyByZXNvdXJjZSBmb3IgJXMgZmFpbGVkOiAl clxuIiwgX19mdW5jX18sIFJFREZJU0hfRFVNTVlfQ09ORklHX0xBTkcsIFN0YXR1cykpOw0KKyAg ICB9DQorDQorICAgIGdvdG8gT05fUkVMRUFTRTsNCisgIH0NCisNCisgIC8vDQorICAvLyBDaGVj ayBhbmQgc2VlIGlmIHBsYXRmb3JtIGhhcyBPRU0gZGF0YSBvciBub3QNCisgIC8vDQorICBTdGF0 dXMgPSBSZWRmaXNoR2V0T2VtRGF0YSAoDQorICAgICAgICAgICAgIFByaXZhdGUtPlVyaSwNCisg ICAgICAgICAgICAgUkVTT1VSQ0VfU0NIRU1BLA0KKyAgICAgICAgICAgICBSRVNPVVJDRV9TQ0hF TUFfVkVSU0lPTiwNCisgICAgICAgICAgICAgSnNvbiwNCisgICAgICAgICAgICAgJkpzb25XaXRo QWRkZW5kdW0NCisgICAgICAgICAgICAgKTsNCisgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpICYm IChKc29uV2l0aEFkZGVuZHVtICE9IE5VTEwpKSB7DQorICAgIEZyZWVQb29sIChKc29uKTsNCisg ICAgSnNvbiAgICAgICAgICAgICA9IEpzb25XaXRoQWRkZW5kdW07DQorICAgIEpzb25XaXRoQWRk ZW5kdW0gPSBOVUxMOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIENoZWNrIGFuZCBzZWUgaWYgcGxh dGZvcm0gaGFzIGFkZGVuZHVtIGRhdGEgb3Igbm90DQorICAvLw0KKyAgU3RhdHVzID0gUmVkZmlz aEdldEFkZGVuZHVtRGF0YSAoDQorICAgICAgICAgICAgIFByaXZhdGUtPlVyaSwNCisgICAgICAg ICAgICAgUkVTT1VSQ0VfU0NIRU1BLA0KKyAgICAgICAgICAgICBSRVNPVVJDRV9TQ0hFTUFfVkVS U0lPTiwNCisgICAgICAgICAgICAgSnNvbiwNCisgICAgICAgICAgICAgJkpzb25XaXRoQWRkZW5k dW0NCisgICAgICAgICAgICAgKTsNCisgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpICYmIChKc29u V2l0aEFkZGVuZHVtICE9IE5VTEwpKSB7DQorICAgIEZyZWVQb29sIChKc29uKTsNCisgICAgSnNv biAgICAgICAgICAgICA9IEpzb25XaXRoQWRkZW5kdW07DQorICAgIEpzb25XaXRoQWRkZW5kdW0g PSBOVUxMOw0KKyAgfQ0KKw0KKyAgREVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAiJWE6IHBy b3Zpc2lvbmluZyBleGlzdGluZyByZXNvdXJjZSBmb3IgJXNcbiIsIF9fZnVuY19fLCBSRURGSVNI X0RVTU1ZX0NPTkZJR19MQU5HKSk7DQorDQorICAvLw0KKyAgLy8gUEFUQ0ggYmFjayB0byBpbnN0 YW5jZQ0KKyAgLy8NCisgIFN0YXR1cyA9IFJlZGZpc2hIdHRwUGF0Y2hSZXNvdXJjZSAoUHJpdmF0 ZS0+UmVkZmlzaFNlcnZpY2UsIFByaXZhdGUtPlVyaSwgSnNvbiwgJlJlc3BvbnNlKTsNCisgIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBw YXRjaCByZXNvdXJjZSBmb3IgJXMgZmFpbGVkOiAlclxuIiwgX19mdW5jX18sIFJFREZJU0hfRFVN TVlfQ09ORklHX0xBTkcsIFN0YXR1cykpOw0KKyAgfQ0KKw0KK09OX1JFTEVBU0U6DQorDQorICBp ZiAoSnNvbiAhPSBOVUxMKSB7DQorICAgIEZyZWVQb29sIChKc29uKTsNCisgIH0NCisNCisgIFJl ZGZpc2hIdHRwRnJlZVJlc3BvbnNlICgmUmVzcG9uc2UpOw0KKw0KKyAgcmV0dXJuIFN0YXR1czsN Cit9DQorDQorLyoqDQorICBQcm92aXNpb25pbmcgcmVkZmlzaCByZXNvdXJjZSB0byBSZWRmaXNo IHNlcnZpY2UuDQorDQorICBAcGFyYW1baW5dICAgUHJpdmF0ZSAgICAgICAgICAgICBQb2ludGVy IHRvIHByaXZhdGUgZGF0YS4NCisgIEBwYXJhbVtpbl0gICBSZXNvdXJjZUV4aXN0ICAgICAgIFRS VUUgaWYgcmVzb3VyY2UgZXhpc3RzLCBQVVQgbWV0aG9kIHdpbGwgYmUgdXNlZC4NCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFIGlmIHJlc291cmNlIGRvZXMgbm90IGV4 aXN0IFBPU1QgbWV0aG9kIGlzIHVzZWQuDQoNCg0KQWN0dWFsbHkgUHJvdmlzaW9uaW5nU2VjdXJl Qm9vdFJlc291cmNlIHVzZXMgUEFUQ0ggb25seS4NCg0KDQorDQorICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICAgICAgICBQcm92aXNpb24gcmVzb3VyY2Ugc3VjY2Vzc2Z1bGx5Lg0KKyAgQHJl dHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCisNCisq Ki8NCitFRklfU1RBVFVTDQorUmVkZmlzaFByb3Zpc2lvbmluZ1Jlc291cmNlQ29tbW9uICgNCisg IElOICAgICBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICAqUHJpdmF0ZSwNCisgIElO ICAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZUV4aXN0DQorICAp DQorew0KKyAgaWYgKFByaXZhdGUgPT0gTlVMTCkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURf UEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgcmV0dXJuIFByb3Zpc2lvbmluZ1NlY3VyZUJvb3RSZXNv dXJjZSAoUHJpdmF0ZSk7DQorfQ0KKw0KKy8qKg0KKyAgQ2hlY2sgcmVzb3VyY2UgZnJvbSBnaXZl biBKc29uIGRhdGEuDQorDQorICBAcGFyYW1baW5dICAgVGhpcyAgICAgICAgICAgICAgICBQb2lu dGVyIHRvIFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgaW5zdGFuY2UuDQorICBAcGFy YW1baW5dICAgSnNvbiAgICAgICAgICAgICAgICBUaGUgSlNPTiBkYXRhIHRvIGNoZWNrLg0KKyAg QHBhcmFtW2luXSAgIEhlYWRlckV0YWcgICAgICAgICAgVGhlIEV0YWcgc3RyaW5nIHJldHVybmVk IGluIEhUVFAgaGVhZGVyLg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAg Q2hlY2sgcmVzb3VyY2Ugc3VjY2Vzc2Z1bGx5Lg0KKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAg ICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCisNCisqKi8NCitFRklfU1RBVFVTDQorUmVk ZmlzaENoZWNrUmVzb3VyY2VDb21tb24gKA0KKyAgSU4gICAgIFJFREZJU0hfUkVTT1VSQ0VfQ09N TU9OX1BSSVZBVEUgICpQcml2YXRlLA0KKyAgSU4gICAgIENIQVI4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICpKc29uLA0KKyAgSU4gICAgIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICpIZWFkZXJFdGFnIE9QVElPTkFMDQorICApDQorew0KKyAgVUlOVE4gICAgICAgSW5kZXg7 DQorICBFRklfU1RBVFVTICBTdGF0dXM7DQorICBVSU5UTiAgICAgICBDb3VudDsNCisgIEVGSV9T VFJJTkcgIFByb3BlcnR5Ow0KKw0KKyAgaWYgKChQcml2YXRlID09IE5VTEwpIHx8IElTX0VNUFRZ X1NUUklORyAoSnNvbikpIHsNCisgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCisg IH0NCisNCisgIC8vDQorICAvLyBDaGVjayBFVEFHIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIGNoZWNr IGl0DQorICAvLw0KKyAgaWYgKENoZWNrRXRhZyAoUHJpdmF0ZS0+VXJpLCBIZWFkZXJFdGFnLCBO VUxMKSkgew0KKyAgICAvLw0KKyAgICAvLyBObyBjaGFuZ2UNCisgICAgLy8NCisgICAgREVCVUcg KChSRURGSVNIX0RFQlVHX1RSQUNFLCAiJWE6IEVUQUc6ICVzIGhhcyBubyBjaGFuZ2UsIGlnbm9y ZSBjaGVjayBhY3Rpb25cbiIsIF9fZnVuY19fLCBQcml2YXRlLT5VcmkpKTsNCisgICAgcmV0dXJu IEVGSV9TVUNDRVNTOw0KKyAgfQ0KKw0KKyAgQ291bnQgPSBzaXplb2YgKG1TZWN1cmVCb290U3Vw cG9ydGVkQXR0cmlidXRlcykgLyBzaXplb2YgKG1TZWN1cmVCb290U3VwcG9ydGVkQXR0cmlidXRl c1swXSk7DQorICBpZiAoQ291bnQgPT0gMCkgew0KKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQorICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCBDb3VudDsgSW5kZXgrKykgew0KKyAgICBQcm9wZXJ0eSA9IG1TZWN1cmVCb290U3Vw cG9ydGVkQXR0cmlidXRlc1tJbmRleF07DQorICAgIGlmIChQcm9wZXJ0eSA9PSBOVUxMKSB7DQor ICAgICAgY29udGludWU7DQorICAgIH0NCisNCisgICAgREVCVUcgKChSRURGSVNIX0RFQlVHX1RS QUNFLCAiJWE6IFslZF0gY2hlY2sgYXR0cmlidXRlIGZvcjogJXNcbiIsIF9fZnVuY19fLCBJbmRl eCwgUHJvcGVydHkpKTsNCisgICAgaWYgKCFNYXRjaFByb3BlcnR5V2l0aEpzb25Db250ZXh0IChQ cm9wZXJ0eSwgSnNvbikpIHsNCisgICAgICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIl YTogcHJvcGVydHkgaXMgbWlzc2luZzogJXNcbiIsIF9fZnVuY19fLCBQcm9wZXJ0eSkpOw0KKyAg ICAgIFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7DQoNCk9oISBJIGhhdmUgYSBxdWVzdGlvbiBhYm91 dCB0aGlzIGNvbmRpdGlvbi4NCkNhbiB3ZSBqdXN0IGJyZWFrIHRoZSBsb29wIGhlcmU/DQpJJ20g YXNraW5nIG1vc3RseSBpbiBjb250ZXh0IG9mIEJpb3MgZmVhdHVyZSBkcml2ZXIgd2hlcmUgdGhl IHNhbWUgbG9vcCBleGlzdHMuDQpXaGlsZSBpbiB0aGlzIGRyaXZlciBDb3VudCBub3QgZ3JlYXRl ciB0aGFuIDMsIGJ1dCBmb3IgQmlvcyBkcml2ZXIgdGhlcmUgY291bGQgYmUgYSBodW5kcmVkcyBv ZiBpdGVyYXRpb25zDQphbmQgQUZBSVIgZHVyaW5nIHByb3Zpc2lvbmluZyB3ZSBoYXZlIEVGSV9O T1RfRk9VTkQgcmlnaHQgYWZ0ZXIgdGhlIGZpcnN0IGl0ZXJhdGlvbi4NCk1hdGNoUHJvcGVydHlX aXRoSnNvbkNvbnRleHQoKSBzZWVtcyB0byBiZSBhIGhlYXZ5IGNhbGwuDQoNClRoZSBvbmx5IHVz ZWZ1bCB0aGluZyB0aGlzIGxvb3AgZG9lcyBpbiB0aGF0IGNhc2UgaXMgcHJpbnRpbmcgbWlzc2Vk IHByb3BlcnR5IGlmIGVuYWJsZWQuDQoNCisgICAgfQ0KKyAgfQ0KKw0KKyAgcmV0dXJuIFN0YXR1 czsNCit9DQorDQorLyoqDQorICBVcGRhdGUgcmVzb3VyY2UgdG8gUmVkZmlzaCBzZXJ2aWNlLg0K Kw0KKyAgQHBhcmFtW2luXSAgIFByaXZhdGUgICAgICAgICAgICAgUG9pbnRlciB0byBSRURGSVNI X1JFU09VUkNFX0NPTU1PTl9QUklWQVRFIGluc3RhbmNlLg0KKyAgQHBhcmFtW2luXSAgIEpzb24g ICAgICAgICAgICAgICAgVGhlIEpTT04gZGF0YSB0byBiZSB1cGRhdGVkLg0KKw0KKyAgQHJldHZh bCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgVXBkYXRlIHJlc291cmNlIHN1Y2Nlc3NmdWxseS4N CisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgIFNvbWUgZXJyb3IgaGFwcGVuZWQu DQorDQorKiovDQorRUZJX1NUQVRVUw0KK1JlZGZpc2hVcGRhdGVSZXNvdXJjZUNvbW1vbiAoDQor ICBJTiAgICAgUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAgKlByaXZhdGUsDQorICBJ TiAgICAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgKklucHV0SnNvbg0KKyAgKQ0K K3sNCisgIEVGSV9TVEFUVVMgICAgICAgIFN0YXR1czsNCisgIENIQVI4ICAgICAgICAgICAgICpK c29uOw0KKyAgQ0hBUjggICAgICAgICAgICAgKkpzb25XaXRoQWRkZW5kdW07DQorICBSRURGSVNI X1JFU1BPTlNFICBSZXNwb25zZTsNCisNCisgIGlmICgoUHJpdmF0ZSA9PSBOVUxMKSB8fCBJU19F TVBUWV9TVFJJTkcgKElucHV0SnNvbikpIHsNCisgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFN RVRFUjsNCisgIH0NCisNCisgIFplcm9NZW0gKCZSZXNwb25zZSwgc2l6ZW9mIChSRURGSVNIX1JF U1BPTlNFKSk7DQorICBKc29uID0gTlVMTDsNCisNCisgIFN0YXR1cyA9IFByb3Zpc2lvbmluZ1Nl Y3VyZUJvb3RQcm9wZXJ0aWVzICgNCisgICAgICAgICAgICAgUHJpdmF0ZS0+SnNvblN0cnVjdFBy b3RvY29sLA0KKyAgICAgICAgICAgICBTZWN1cmVCb290RW1wdHlKc29uLA0KKyAgICAgICAgICAg ICBOVUxMLA0KKyAgICAgICAgICAgICBSRURGSVNIX0RVTU1ZX0NPTkZJR19MQU5HLA0KKyAgICAg ICAgICAgICBUUlVFLA0KKyAgICAgICAgICAgICAmSnNvbg0KKyAgICAgICAgICAgICApOw0KKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBpZiAoU3RhdHVzID09IEVGSV9OT1RfRk9V TkQpIHsNCisgICAgICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYTogdXBkYXRlIHJl c291cmNlIGZvciAlcyBpZ25vcmVkLiBOb3RoaW5nIGNoYW5nZWRcbiIsIF9fZnVuY19fLCBSRURG SVNIX0RVTU1ZX0NPTkZJR19MQU5HKSk7DQorICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQor ICAgIH0gZWxzZSB7DQorICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiB1cGRhdGUgcmVz b3VyY2UgZm9yICVzIGZhaWxlZDogJXJcbiIsIF9fZnVuY19fLCBSRURGSVNIX0RVTU1ZX0NPTkZJ R19MQU5HLCBTdGF0dXMpKTsNCisgICAgfQ0KKw0KKyAgICBnb3RvIE9OX1JFTEVBU0U7DQorICB9 DQorDQorICAvLw0KKyAgLy8gQ2hlY2sgYW5kIHNlZSBpZiBwbGF0Zm9ybSBoYXMgT0VNIGRhdGEg b3Igbm90DQorICAvLw0KKyAgU3RhdHVzID0gUmVkZmlzaEdldE9lbURhdGEgKA0KKyAgICAgICAg ICAgICBQcml2YXRlLT5VcmksDQorICAgICAgICAgICAgIFJFU09VUkNFX1NDSEVNQSwNCisgICAg ICAgICAgICAgUkVTT1VSQ0VfU0NIRU1BX1ZFUlNJT04sDQorICAgICAgICAgICAgIEpzb24sDQor ICAgICAgICAgICAgICZKc29uV2l0aEFkZGVuZHVtDQorICAgICAgICAgICAgICk7DQorICBpZiAo IUVGSV9FUlJPUiAoU3RhdHVzKSAmJiAoSnNvbldpdGhBZGRlbmR1bSAhPSBOVUxMKSkgew0KKyAg ICBGcmVlUG9vbCAoSnNvbik7DQorICAgIEpzb24gICAgICAgICAgICAgPSBKc29uV2l0aEFkZGVu ZHVtOw0KKyAgICBKc29uV2l0aEFkZGVuZHVtID0gTlVMTDsNCisgIH0NCisNCisgIC8vDQorICAv LyBDaGVjayBhbmQgc2VlIGlmIHBsYXRmb3JtIGhhcyBhZGRlbmR1bSBkYXRhIG9yIG5vdA0KKyAg Ly8NCisgIFN0YXR1cyA9IFJlZGZpc2hHZXRBZGRlbmR1bURhdGEgKA0KKyAgICAgICAgICAgICBQ cml2YXRlLT5VcmksDQorICAgICAgICAgICAgIFJFU09VUkNFX1NDSEVNQSwNCisgICAgICAgICAg ICAgUkVTT1VSQ0VfU0NIRU1BX1ZFUlNJT04sDQorICAgICAgICAgICAgIEpzb24sDQorICAgICAg ICAgICAgICZKc29uV2l0aEFkZGVuZHVtDQorICAgICAgICAgICAgICk7DQorICBpZiAoIUVGSV9F UlJPUiAoU3RhdHVzKSAmJiAoSnNvbldpdGhBZGRlbmR1bSAhPSBOVUxMKSkgew0KKyAgICBGcmVl UG9vbCAoSnNvbik7DQorICAgIEpzb24gICAgICAgICAgICAgPSBKc29uV2l0aEFkZGVuZHVtOw0K KyAgICBKc29uV2l0aEFkZGVuZHVtID0gTlVMTDsNCisgIH0NCisNCisgIERFQlVHICgoUkVERklT SF9ERUJVR19UUkFDRSwgIiVhOiB1cGRhdGUgcmVzb3VyY2UgZm9yICVzXG4iLCBfX2Z1bmNfXywg UkVERklTSF9EVU1NWV9DT05GSUdfTEFORykpOw0KKw0KKyAgLy8NCisgIC8vIFBBVENIIGJhY2sg dG8gaW5zdGFuY2UNCisgIC8vDQorICBTdGF0dXMgPSBSZWRmaXNoSHR0cFBhdGNoUmVzb3VyY2Ug KFByaXZhdGUtPlJlZGZpc2hTZXJ2aWNlLCBQcml2YXRlLT5VcmksIEpzb24sICZSZXNwb25zZSk7 DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1Is ICIlYTogcGF0Y2ggcmVzb3VyY2UgZm9yICVzIGZhaWxlZDogJXJcbiIsIF9fZnVuY19fLCBSRURG SVNIX0RVTU1ZX0NPTkZJR19MQU5HLCBTdGF0dXMpKTsNCisgIH0NCisNCitPTl9SRUxFQVNFOg0K Kw0KKyAgaWYgKEpzb24gIT0gTlVMTCkgew0KKyAgICBGcmVlUG9vbCAoSnNvbik7DQorICB9DQor DQorICBSZWRmaXNoSHR0cEZyZWVSZXNwb25zZSAoJlJlc3BvbnNlKTsNCisNCisgIHJldHVybiBT dGF0dXM7DQorfQ0KKw0KKy8qKg0KKyAgSWRlbnRpZnkgcmVzb3VyY2UgaW4gZ2l2ZW4gSnNvbiBk YXRhLg0KKw0KKyAgQHBhcmFtW2luXSAgIFByaXZhdGUgICAgICAgICAgICAgUG9pbnRlciB0byBS RURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFIGluc3RhbmNlLg0KKyAgQHBhcmFtW2luXSAg IEpzb24gICAgICAgICAgICAgICAgVGhlIEpTT04gdG8gYmUgaWRlbnRpZmllZC4NCisNCisgIEBy ZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgIElkZW50aWZ5IHJlc291cmNlIHN1Y2Nlc3Nm dWxseS4NCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgIFNvbWUgZXJyb3IgaGFw cGVuZWQuDQorDQorKiovDQorRUZJX1NUQVRVUw0KK1JlZGZpc2hJZGVudGlmeVJlc291cmNlQ29t bW9uICgNCisgIElOICAgICBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICAqUHJpdmF0 ZSwNCisgIElOICAgICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqSnNvbg0KKyAg KQ0KK3sNCisgIEJPT0xFQU4gIFN1cHBvcnRlZDsNCisNCisgIFN1cHBvcnRlZCA9IFJlZGZpc2hJ ZGVudGlmeVJlc291cmNlIChQcml2YXRlLT5VcmksIFByaXZhdGUtPkpzb24pOw0KKyAgaWYgKFN1 cHBvcnRlZCkgew0KKyAgICAvLw0KKyAgICAvLyBLZWVwIFVSSSBhbmQgQ29uZmlnTGFuZyBtYXBw aW5nDQorICAgIC8vDQorICAgIFJlZGZpc2hTZXRSZWRmaXNoVXJpIChSRURGSVNIX0RVTU1ZX0NP TkZJR19MQU5HLCBQcml2YXRlLT5VcmkpOw0KKyAgfQ0KKw0KKyAgcmV0dXJuIChTdXBwb3J0ZWQg PyBFRklfU1VDQ0VTUyA6IEVGSV9VTlNVUFBPUlRFRCk7DQorfQ0KKw0KKy8qKg0KKyAgSGFuZGxl IFJlZGZpc2ggcmVzb3VyY2UgaW4gVXJpLg0KKw0KKyAgQHBhcmFtW2luXSAgIFByaXZhdGUgICAg ICAgICAgICAgUG9pbnRlciB0byBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFIGluc3Rh bmNlLg0KKyAgQHBhcmFtW2luXSAgIFVyaSAgICAgICAgICAgICAgICAgVVJJIHRvIFJlZGZpc2gg cmVzb3VyY2UgdGhhdCB3ZSBsaWtlIHRvIHByb2Nlc3MuDQorDQorICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICAgICAgICBIYW5kbGUgcmVzb3VyY2Ugc3VjY2Vzc2Z1bGx5Lg0KKyAgQHJldHZh bCBPdGhlcnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCisNCisqKi8N CitFRklfU1RBVFVTDQorSGFuZGxlUmVzb3VyY2UgKA0KKyAgSU4gIFJFREZJU0hfUkVTT1VSQ0Vf Q09NTU9OX1BSSVZBVEUgICpQcml2YXRlLA0KKyAgSU4gIEVGSV9TVFJJTkcgICAgICAgICAgICAg ICAgICAgICAgIFVyaQ0KKyAgKQ0KK3sNCisgIEVGSV9TVEFUVVMgICAgICAgICAgIFN0YXR1czsN CisgIFJFREZJU0hfU0NIRU1BX0lORk8gIFNjaGVtYUluZm87DQorICBFRklfU1RSSU5HICAgICAg ICAgICBDb25maWdMYW5nOw0KKw0KKyAgaWYgKChQcml2YXRlID09IE5VTEwpIHx8IElTX0VNUFRZ X1NUUklORyAoVXJpKSkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAg fQ0KKw0KKyAgLy8NCisgIC8vIFJlc291cmNlIG1hdGNoDQorICAvLw0KKw0KKyAgREVCVUcgKChS RURGSVNIX0RFQlVHX1RSQUNFLCAiJWE6IHByb2Nlc3MgcmVzb3VyY2UgZm9yOiAlc1xuIiwgX19m dW5jX18sIFVyaSkpOw0KKw0KKyAgU3RhdHVzID0gR2V0UmVkZmlzaFNjaGVtYUluZm8gKFByaXZh dGUtPlJlZGZpc2hTZXJ2aWNlLCBQcml2YXRlLT5Kc29uU3RydWN0UHJvdG9jb2wsIFVyaSwgTlVM TCwgJlNjaGVtYUluZm8pOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byBnZXQgc2NoZW1hIGluZm9ybWF0aW9uIGZy b206ICVzICVyXG4iLCBfX2Z1bmNfXywgVXJpLCBTdGF0dXMpKTsNCisgICAgcmV0dXJuIFN0YXR1 czsNCisgIH0NCisNCisgIC8vDQorICAvLyBDaGVjayBhbmQgc2VlIGlmIHRoaXMgaXMgdGFyZ2V0 IHJlc291cmNlIHRoYXQgd2Ugd2FudCB0byBoYW5kbGUuDQorICAvLyBTb21lIHJlc291cmNlIGlz IGhhbmRsZWQgYnkgb3RoZXIgcHJvdmlkZXIgc28gd2UgaGF2ZSB0byBtYWtlIHN1cmUgdGhpcyBm aXJzdC4NCisgIC8vDQorICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYTogSWRlbnRp ZnkgZm9yICVzXG4iLCBfX2Z1bmNfXywgVXJpKSk7DQorICBDb25maWdMYW5nID0gUmVkZmlzaEdl dENvbmZpZ0xhbmd1YWdlIChVcmkpOw0KKyAgaWYgKENvbmZpZ0xhbmcgPT0gTlVMTCkgew0KKyAg ICBTdGF0dXMgPSBFZGtJSVJlZGZpc2hSZXNvdXJjZUNvbmZpZ0lkZW50aWZ5ICgmU2NoZW1hSW5m bywgVXJpLCBOVUxMLCBQcml2YXRlLT5JbmZvcm1hdGlvbkV4Y2hhbmdlKTsNCisgICAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIGlmIChTdGF0dXMgPT0gRUZJX1VOU1VQUE9SVEVE KSB7DQorICAgICAgICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYTogXCIlc1wiIGlz IG5vdCBoYW5kbGVkIGJ5IHVzXG4iLCBfX2Z1bmNfXywgVXJpKSk7DQorICAgICAgICByZXR1cm4g RUZJX1NVQ0NFU1M7DQorICAgICAgfSBlbHNlIGlmIChTdGF0dXMgPT0gRUZJX05PVF9GT1VORCkg ew0KKyAgICAgICAgREVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAiJWE6IFwiJXNcIiBoYXMg bm90aGluZyB0byBoYW5kbGVcbiIsIF9fZnVuY19fLCBVcmkpKTsNCisgICAgICAgIHJldHVybiBF RklfU1VDQ0VTUzsNCisgICAgICB9DQorDQorICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVh OiBmYWlsIHRvIGlkZW50aWZ5IHJlc291cmNlOiBcIiVzXCI6ICVyXG4iLCBfX2Z1bmNfXywgVXJp LCBTdGF0dXMpKTsNCisgICAgICByZXR1cm4gU3RhdHVzOw0KKyAgICB9DQorICB9IGVsc2Ugew0K KyAgICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYTogaGlzdG9yeSByZWNvcmQgZm91 bmQ6ICVzXG4iLCBfX2Z1bmNfXywgQ29uZmlnTGFuZykpOw0KKyAgICBGcmVlUG9vbCAoQ29uZmln TGFuZyk7DQorICB9DQorDQorICAvLw0KKyAgLy8gQ2hlY2sgYW5kIHNlZSBpZiB0YXJnZXQgcHJv cGVydHkgZXhpc3Qgb3Igbm90IGV2ZW4gd2hlbiBjb2xsZWN0aW9uIG1lbWJlciBleGlzdHMuDQor ICAvLyBJZiBub3QsIHdlIHNpbGwgZG8gcHJvdmlzaW9uLg0KDQolcy9zaWxsL3N0aWxsDQoNCisg IC8vDQorICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYSBDaGVjayBmb3IgJXNcbiIs IF9fZnVuY19fLCBVcmkpKTsNCisgIFN0YXR1cyA9IEVka0lJUmVkZmlzaFJlc291cmNlQ29uZmln Q2hlY2sgKCZTY2hlbWFJbmZvLCBVcmksIE5VTEwpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KKyAgICBpZiAoU3RhdHVzID09IEVGSV9VTlNVUFBPUlRFRCkgew0KKyAgICAgIERFQlVH ICgoUkVERklTSF9ERUJVR19UUkFDRSwgIiVhOiBcIiVzXCIgaXMgbm90IGhhbmRsZWQgYnkgdXNc biIsIF9fZnVuY19fLCBVcmkpKTsNCisgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQorICAgIH0N CisNCisgICAgLy8NCisgICAgLy8gVGhlIHRhcmdldCBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCwg ZG8gdGhlIHByb3Zpc2lvbiB0byBjcmVhdGUgcHJvcGVydHkuDQorICAgIC8vDQorICAgIERFQlVH ICgoUkVERklTSF9ERUJVR19UUkFDRSwgIiVhIHByb3Zpc2lvbiBmb3IgJXNcbiIsIF9fZnVuY19f LCBVcmkpKTsNCisgICAgU3RhdHVzID0gRWRrSUlSZWRmaXNoUmVzb3VyY2VDb25maWdQcm92aXNp b25pbmcgKCZTY2hlbWFJbmZvLCBVcmksIE5VTEwsIFByaXZhdGUtPkluZm9ybWF0aW9uRXhjaGFu Z2UsIEZBTFNFKTsNCisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgIERFQlVH ICgoREVCVUdfRVJST1IsICIlYTogZmFpbGVkIHRvIHByb3Zpc2lvbiB3aXRoIEdFVCBtb2RlOiAl clxuIiwgX19mdW5jX18sIFN0YXR1cykpOw0KKyAgICB9DQorDQorICAgIERFQlVHICgoUkVERklT SF9ERUJVR19UUkFDRSwgIiVhOiBwcm9jZXNzIHJlc291cmNlIGZvcjogJXMgZmluaXNoZWRcbiIs IF9fZnVuY19fLCBVcmkpKTsNCisNCisgICAgcmV0dXJuIFN0YXR1czsNCisgIH0NCisNCisgIC8v DQorICAvLyBDb25zdW1lIGZpcnN0Lg0KKyAgLy8NCisgIERFQlVHICgoUkVERklTSF9ERUJVR19U UkFDRSwgIiVhIGNvbnN1bWUgZm9yICVzXG4iLCBfX2Z1bmNfXywgVXJpKSk7DQorICBTdGF0dXMg PSBFZGtJSVJlZGZpc2hSZXNvdXJjZUNvbmZpZ0NvbnN1bWUgKCZTY2hlbWFJbmZvLCBVcmksIE5V TEwpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VS Uk9SLCAiJWE6IGZhaWxlZCB0byBjb25zdW1lIHJlc291cmNlIGZvcjogJXM6ICVyXG4iLCBfX2Z1 bmNfXywgVXJpLCBTdGF0dXMpKTsNCisgIH0NCisNCisgIC8vDQorICAvLyBQYXRjaC4NCisgIC8v DQorICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYSB1cGRhdGUgZm9yICVzXG4iLCBf X2Z1bmNfXywgVXJpKSk7DQorICBTdGF0dXMgPSBFZGtJSVJlZGZpc2hSZXNvdXJjZUNvbmZpZ1Vw ZGF0ZSAoJlNjaGVtYUluZm8sIFVyaSwgTlVMTCk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogZmFpbGVkIHRvIHVwZGF0ZSByZXNv dXJjZSBmb3I6ICVzOiAlclxuIiwgX19mdW5jX18sIFVyaSwgU3RhdHVzKSk7DQorICB9DQorDQor ICBERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICIlYTogcHJvY2VzcyByZXNvdXJjZSBmb3I6 ICVzIGZpbmlzaGVkXG4iLCBfX2Z1bmNfXywgVXJpKSk7DQorDQorICByZXR1cm4gU3RhdHVzOw0K K30NCmRpZmYgLS1naXQgYS9SZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFf MV8wL0R4ZS9TZWN1cmVCb290RHhlLmMgYi9SZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3Vy ZUJvb3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwMDAuLmEwZjRmM2QxNA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvUmVkZmlzaENs aWVudFBrZy9GZWF0dXJlcy9TZWN1cmVCb290L3YxXzFfMC9EeGUvU2VjdXJlQm9vdER4ZS5jDQpA QCAtMCwwICsxLDgwOCBAQA0KKy8qKiBAZmlsZQ0KKyAgUmVkZmlzaCBmZWF0dXJlIGRyaXZlciBp bXBsZW1lbnRhdGlvbiAtIFNlY3VyZUJvb3QNCisNCisgIChDKSBDb3B5cmlnaHQgMjAyMC0yMDIy IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQPEJSPg0KKyAgQ29weXJp Z2h0IChjKSAyMDIzLCBOVklESUEgQ09SUE9SQVRJT04gJiBBRkZJTElBVEVTLiBBbGwgcmlnaHRz IHJlc2VydmVkLg0KKw0KKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCisNCisqKi8NCisNCisjaW5jbHVkZSAiLi4vQ29tbW9uL1NlY3VyZUJvb3RDb21tb24u aCINCisNCitleHRlcm4gUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAgKm1SZWRmaXNo UmVzb3VyY2VQcml2YXRlOw0KK2V4dGVybiBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAg ICBtUmVkZmlzaFJlc291cmNlQ29uZmlnUHJvdG9jb2xIYW5kbGU7DQorDQorRUZJX1NUQVRVUw0K K0hhbmRsZVJlc291cmNlICgNCisgIElOICBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRF ICAqUHJpdmF0ZSwNCisgIElOICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICBVcmkN CisgICk7DQorDQorLyoqDQorICBQcm92aXNpb25pbmcgcmVkZmlzaCByZXNvdXJjZSBieSBnaXZl biBVUkkuDQorDQorICBAcGFyYW1baW5dICAgVGhpcyAgICAgICAgICAgICAgICBQb2ludGVyIHRv IEVGSV9IUF9SRURGSVNIX0hJSV9QUk9UT0NPTCBpbnN0YW5jZS4NCisgIEBwYXJhbVtpbl0gICBV cmkgICAgICAgICAgICAgICAgIFRhcmdldCBVUkkgdG8gY3JlYXRlIHJlc291cmNlLg0KKyAgQHBh cmFtW2luXSAgIFBvc3RNb2RlICAgICAgICAgICAgVFJVRSBpZiB0aGUgcmVzb3VyY2UgZG9lcyBu b3QgZXhpc3QsIHBvc3QgbWV0aG9kIGlzIHVzZWQuDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGQUxTRSBpZiB0aGUgcmVzb3VyY2UgZXhpc3QgYnV0IHByb3BlcnR5IGlzIG1p c3NpbmcsIHB1dCBtZXRob2QgaXMgdXNlZC4NCisNCisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAg ICAgICAgICAgIFZhbHVlIGlzIHJldHVybmVkIHN1Y2Nlc3NmdWxseS4NCisgIEByZXR2YWwgT3Ro ZXJzICAgICAgICAgICAgICAgICAgIFNvbWUgZXJyb3IgaGFwcGVuZWQuDQorDQorKiovDQorRUZJ X1NUQVRVUw0KK0VGSUFQSQ0KK1JlZGZpc2hSZXNvdXJjZVByb3Zpc2lvbmluZ1Jlc291cmNlICgN CisgIElOICAgICBFREtJSV9SRURGSVNIX1JFU09VUkNFX0NPTkZJR19QUk9UT0NPTCAgKlRoaXMs DQorICBJTiAgICAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVyaSwN CisgIElOICAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9zdE1v ZGUNCisgICkNCit7DQorICBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICAqUHJpdmF0 ZTsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIFJFREZJ U0hfUkVTUE9OU0UgICAgICAgICAgICAgICAgIFJlc3BvbnNlOw0KKw0KKyAgaWYgKChUaGlzID09 IE5VTEwpIHx8IElTX0VNUFRZX1NUUklORyAoVXJpKSkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAgREVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAi JWE6IHByb3Zpc2lvbmluZyBpbiAlcyBtb2RlXG4iLCBfX2Z1bmNfXywgKFBvc3RNb2RlID8gTCJQ T1NUIiA6IEwiUEFUQ0giKSkpOw0KDQoNClRoaXMgbWVzc2FnZSBjb25mbGljdHMgd2l0aCBQb3N0 TW9kZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uDQoNCg0KKw0KKyAgWmVyb01lbSAoJlJlc3BvbnNl LCBzaXplb2YgKFJFREZJU0hfUkVTUE9OU0UpKTsNCisgIFByaXZhdGUgPSBSRURGSVNIX1JFU09V UkNFX0NPTU1PTl9QUklWQVRFX0RBVEFfRlJPTV9SRVNPVVJDRV9QUk9UT0NPTCAoVGhpcyk7DQor DQorICBpZiAoUHJpdmF0ZS0+UmVkZmlzaFNlcnZpY2UgPT0gTlVMTCkgew0KKyAgICByZXR1cm4g RUZJX05PVF9SRUFEWTsNCisgIH0NCisNCisgIFN0YXR1cyA9IFJlZGZpc2hIdHRwR2V0UmVzb3Vy Y2UgKFByaXZhdGUtPlJlZGZpc2hTZXJ2aWNlLCBVcmksIE5VTEwsICZSZXNwb25zZSwgVFJVRSk7 DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1Is ICIlYTogZ2V0IHJlc291cmNlIGZyb206ICVzIGZhaWxlZFxuIiwgX19mdW5jX18sIFVyaSkpOw0K KyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0KKw0KKyAgUHJpdmF0ZS0+VXJpICAgICA9IFVyaTsN CisgIFByaXZhdGUtPlBheWxvYWQgPSBSZXNwb25zZS5QYXlsb2FkOw0KKyAgQVNTRVJUIChQcml2 YXRlLT5QYXlsb2FkICE9IE5VTEwpOw0KKw0KKyAgU3RhdHVzID0gUmVkZmlzaFByb3Zpc2lvbmlu Z1Jlc291cmNlQ29tbW9uIChQcml2YXRlLCAhUG9zdE1vZGUpOw0KKyAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byBwcm92 aXNpb24gcmVzb3VyY2UgdG86ICVzOiAlclxuIiwgX19mdW5jX18sIFVyaSwgU3RhdHVzKSk7DQor ICB9IGVsc2Ugew0KKyAgICAvLw0KKyAgICAvLyBHZXQgbGF0ZXN0IEVUYWcgb24gVVJJIGFuZCBr ZWVwIGl0IGluIHZhcmlhYmxlLg0KKyAgICAvLw0KKyAgICBTZXRFdGFnRnJvbVVyaSAoUHJpdmF0 ZS0+UmVkZmlzaFNlcnZpY2UsIFByaXZhdGUtPlVyaSwgVFJVRSk7DQorICB9DQorDQorICAvLw0K KyAgLy8gUmVsZWFzZSByZXNvdXJjZQ0KKyAgLy8NCisgIFJlZGZpc2hIdHRwRnJlZVJlc3BvbnNl ICgmUmVzcG9uc2UpOw0KKyAgUHJpdmF0ZS0+UGF5bG9hZCA9IE5VTEw7DQorDQorICByZXR1cm4g U3RhdHVzOw0KK30NCisNCisvKioNCisgIENvbnN1bWUgcmVzb3VyY2UgZnJvbSBnaXZlbiBVUkku DQorDQorICBAcGFyYW1baW5dICAgVGhpcyAgICAgICAgICAgICAgICBQb2ludGVyIHRvIEVGSV9I UF9SRURGSVNIX0hJSV9QUk9UT0NPTCBpbnN0YW5jZS4NCisgIEBwYXJhbVtpbl0gICBVcmkgICAg ICAgICAgICAgICAgIFRoZSB0YXJnZXQgVVJJIHRvIGNvbnN1bWUuDQorDQorICBAcmV0dmFsIEVG SV9TVUNDRVNTICAgICAgICAgICAgICBWYWx1ZSBpcyByZXR1cm5lZCBzdWNjZXNzZnVsbHkuDQor ICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICBTb21lIGVycm9yIGhhcHBlbmVkLg0K Kw0KKyoqLw0KK0VGSV9TVEFUVVMNCitFRklBUEkNCitSZWRmaXNoUmVzb3VyY2VDb25zdW1lUmVz b3VyY2UgKA0KKyAgSU4gICAgIEVES0lJX1JFREZJU0hfUkVTT1VSQ0VfQ09ORklHX1BST1RPQ09M ICAqVGhpcywNCisgIElOICAgICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVXJpDQorICApDQorew0KKyAgUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAgKlBy aXZhdGU7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBS RURGSVNIX1JFU1BPTlNFICAgICAgICAgICAgICAgICBSZXNwb25zZTsNCisgIEVGSV9TVFJJTkcg ICAgICAgICAgICAgICAgICAgICAgIFBlbmRpbmdTZXR0aW5nVXJpOw0KKyAgUkVERklTSF9SRVNQ T05TRSAgICAgICAgICAgICAgICAgUGVuZGluZ1NldHRpbmdSZXNwb25zZTsNCisgIFJFREZJU0hf UkVTUE9OU0UgICAgICAgICAgICAgICAgICpFeHBlY3RlZFJlc3BvbnNlOw0KKyAgQ0hBUjggICAg ICAgICAgICAgICAgICAgICAgICAgICAgKkV0YWc7DQorDQorICBpZiAoKFRoaXMgPT0gTlVMTCkg fHwgSVNfRU1QVFlfU1RSSU5HIChVcmkpKSB7DQorICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJB TUVURVI7DQorICB9DQorDQorICBaZXJvTWVtICgmUmVzcG9uc2UsIHNpemVvZiAoUkVERklTSF9S RVNQT05TRSkpOw0KKyAgWmVyb01lbSAoJlBlbmRpbmdTZXR0aW5nUmVzcG9uc2UsIHNpemVvZiAo UkVERklTSF9SRVNQT05TRSkpOw0KKyAgUHJpdmF0ZSA9IFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9O X1BSSVZBVEVfREFUQV9GUk9NX1JFU09VUkNFX1BST1RPQ09MIChUaGlzKTsNCisNCisgIGlmIChQ cml2YXRlLT5SZWRmaXNoU2VydmljZSA9PSBOVUxMKSB7DQorICAgIHJldHVybiBFRklfTk9UX1JF QURZOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gUmVkZmlzaEh0dHBHZXRSZXNvdXJjZSAoUHJpdmF0 ZS0+UmVkZmlzaFNlcnZpY2UsIFVyaSwgTlVMTCwgJlJlc3BvbnNlLCBUUlVFKTsNCisgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBnZXQg cmVzb3VyY2UgZnJvbTogJXMgZmFpbGVkXG4iLCBfX2Z1bmNfXywgVXJpKSk7DQorICAgIHJldHVy biBTdGF0dXM7DQorICB9DQorDQorICAvLw0KKyAgLy8gQ2hlY2sgYW5kIHNlZSBpZiAiQFJlZGZp c2guU2V0dGluZ3MiIGV4aXN0IG9yIG5vdC4NCisgIC8vDQorICBQZW5kaW5nU2V0dGluZ1VyaSA9 IE5VTEw7DQorICBTdGF0dXMgICAgICAgICAgICA9IEdldFBlbmRpbmdTZXR0aW5ncyAoDQorICAg ICAgICAgICAgICAgICAgICAgICAgUHJpdmF0ZS0+UmVkZmlzaFNlcnZpY2UsDQorICAgICAgICAg ICAgICAgICAgICAgICAgUmVzcG9uc2UuUGF5bG9hZCwNCisgICAgICAgICAgICAgICAgICAgICAg ICAmUGVuZGluZ1NldHRpbmdSZXNwb25zZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAmUGVu ZGluZ1NldHRpbmdVcmkNCisgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKCFFRklf RVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAiJWE6 IEBSZWRmaXNoLlNldHRpbmdzIGZvdW5kOiAlc1xuIiwgX19mdW5jX18sIFBlbmRpbmdTZXR0aW5n VXJpKSk7DQorICAgIFByaXZhdGUtPlVyaSAgICAgPSBQZW5kaW5nU2V0dGluZ1VyaTsNCisgICAg RXhwZWN0ZWRSZXNwb25zZSA9ICZQZW5kaW5nU2V0dGluZ1Jlc3BvbnNlOw0KKyAgfSBlbHNlIHsN CisgICAgUHJpdmF0ZS0+VXJpICAgICA9IFVyaTsNCisgICAgRXhwZWN0ZWRSZXNwb25zZSA9ICZS ZXNwb25zZTsNCisgIH0NCisNCisgIFByaXZhdGUtPlBheWxvYWQgPSBFeHBlY3RlZFJlc3BvbnNl LT5QYXlsb2FkOw0KKyAgQVNTRVJUIChQcml2YXRlLT5QYXlsb2FkICE9IE5VTEwpOw0KKw0KKyAg UHJpdmF0ZS0+SnNvbiA9IEpzb25EdW1wU3RyaW5nIChSZWRmaXNoSnNvbkluUGF5bG9hZCAoUHJp dmF0ZS0+UGF5bG9hZCksIEVES0lJX0pTT05fQ09NUEFDVCk7DQorICBBU1NFUlQgKFByaXZhdGUt Pkpzb24gIT0gTlVMTCk7DQorDQorICAvLw0KKyAgLy8gU2VhcmNoaW5nIGZvciBldGFnIGluIEhU VFAgcmVzcG9uc2UgaGVhZGVyDQorICAvLw0KKyAgRXRhZyAgID0gTlVMTDsNCisgIFN0YXR1cyA9 IEdldEh0dHBSZXNwb25zZUV0YWcgKEV4cGVjdGVkUmVzcG9uc2UsICZFdGFnKTsNCisgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBmYWls ZWQgdG8gZ2V0IEVUYWcgZnJvbSBIVFRQIGhlYWRlclxuIiwgX19mdW5jX18pKTsNCisgIH0NCisN CisgIFN0YXR1cyA9IFJlZGZpc2hDb25zdW1lUmVzb3VyY2VDb21tb24gKFByaXZhdGUsIFByaXZh dGUtPkpzb24sIEV0YWcpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byBjb25zdW1lIHJlc291cmNlIGZyb206ICVz OiAlclxuIiwgX19mdW5jX18sIFByaXZhdGUtPlVyaSwgU3RhdHVzKSk7DQorICB9DQorDQorICAv Lw0KKyAgLy8gUmVsZWFzZSByZXNvdXJjZQ0KKyAgLy8NCisgIFJlZGZpc2hIdHRwRnJlZVJlc3Bv bnNlICgmUmVzcG9uc2UpOw0KKyAgUmVkZmlzaEh0dHBGcmVlUmVzcG9uc2UgKCZQZW5kaW5nU2V0 dGluZ1Jlc3BvbnNlKTsNCisgIFByaXZhdGUtPlBheWxvYWQgPSBOVUxMOw0KKw0KKyAgaWYgKFBy aXZhdGUtPkpzb24gIT0gTlVMTCkgew0KKyAgICBGcmVlUG9vbCAoUHJpdmF0ZS0+SnNvbik7DQor ICAgIFByaXZhdGUtPkpzb24gPSBOVUxMOw0KKyAgfQ0KKw0KKyAgaWYgKEV0YWcgIT0gTlVMTCkg ew0KKyAgICBGcmVlUG9vbCAoRXRhZyk7DQorICB9DQorDQorICBpZiAoUGVuZGluZ1NldHRpbmdV cmkgIT0gTlVMTCkgew0KKyAgICBGcmVlUG9vbCAoUGVuZGluZ1NldHRpbmdVcmkpOw0KKyAgfQ0K Kw0KKyAgcmV0dXJuIFN0YXR1czsNCit9DQorDQorLyoqDQorICBHZXQgaW5mb3JtYXRpb24gYWJv dXQgdGhpcyBwcm90b2NvbC4NCisNCisgIEBwYXJhbVtpbl0gICBUaGlzICAgICAgICAgICAgICAg IFBvaW50ZXIgdG8gRUZJX0hQX1JFREZJU0hfSElJX1BST1RPQ09MIGluc3RhbmNlLg0KKyAgQHBh cmFtW291dF0gIFNjaGVtYSAgICAgICAgICAgICAgU3VwcG9ydGVkIHNjaGVtYS4NCisgIEBwYXJh bVtvdXRdICBNYWpvciAgICAgICAgICAgICAgIFN1cHBvcnRlZCBtYWpvciBudW1iZXIuDQorICBA cGFyYW1bb3V0XSAgTWlub3IgICAgICAgICAgICAgICBTdXBwb3J0ZWQgbWlub3IgbnVtYmVyLg0K KyAgQHBhcmFtW291dF0gIEVycmF0YSAgICAgICAgICAgICAgU3VwcG9ydGVkIGVycmF0YSBudW1i ZXIuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBWYWx1ZSBpcyByZXR1 cm5lZCBzdWNjZXNzZnVsbHkuDQorICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICBT b21lIGVycm9yIGhhcHBlbmVkLg0KKw0KKyoqLw0KK0VGSV9TVEFUVVMNCitFRklBUEkNCitSZWRm aXNoUmVzb3VyY2VHZXRJbmZvICgNCisgIElOICAgICBFREtJSV9SRURGSVNIX1JFU09VUkNFX0NP TkZJR19QUk9UT0NPTCAgKlRoaXMsDQorICBPVVQgICAgUkVERklTSF9TQ0hFTUFfSU5GTyAgICAg ICAgICAgICAgICAgICAgICpJbmZvDQorICApDQorew0KKyAgaWYgKChUaGlzID09IE5VTEwpIHx8 IChJbmZvID09IE5VTEwpKSB7DQorICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQor ICB9DQorDQorICBBc2NpaVN0ckNweVMgKEluZm8tPlNjaGVtYSwgUkVERklTSF9TQ0hFTUFfU1RS SU5HX1NJWkUsIFJFU09VUkNFX1NDSEVNQSk7DQorICBBc2NpaVN0ckNweVMgKEluZm8tPk1ham9y LCBSRURGSVNIX1NDSEVNQV9WRVJTSU9OX1NJWkUsIFJFU09VUkNFX1NDSEVNQV9NQUpPUik7DQor ICBBc2NpaVN0ckNweVMgKEluZm8tPk1pbm9yLCBSRURGSVNIX1NDSEVNQV9WRVJTSU9OX1NJWkUs IFJFU09VUkNFX1NDSEVNQV9NSU5PUik7DQorICBBc2NpaVN0ckNweVMgKEluZm8tPkVycmF0YSwg UkVERklTSF9TQ0hFTUFfVkVSU0lPTl9TSVpFLCBSRVNPVVJDRV9TQ0hFTUFfRVJSQVRBKTsNCisN CisgIHJldHVybiBFRklfU1VDQ0VTUzsNCit9DQorDQorLyoqDQorICBVcGRhdGUgcmVzb3VyY2Ug dG8gZ2l2ZW4gVVJJLg0KKw0KKyAgQHBhcmFtW2luXSAgIFRoaXMgICAgICAgICAgICAgICAgUG9p bnRlciB0byBFRklfSFBfUkVERklTSF9ISUlfUFJPVE9DT0wgaW5zdGFuY2UuDQorICBAcGFyYW1b aW5dICAgVXJpICAgICAgICAgICAgICAgICBUaGUgdGFyZ2V0IFVSSSB0byBjb25zdW1lLg0KKw0K KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgVmFsdWUgaXMgcmV0dXJuZWQgc3Vj Y2Vzc2Z1bGx5Lg0KKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJv ciBoYXBwZW5lZC4NCisNCisqKi8NCitFRklfU1RBVFVTDQorRUZJQVBJDQorUmVkZmlzaFJlc291 cmNlVXBkYXRlICgNCisgIElOICAgICBFREtJSV9SRURGSVNIX1JFU09VUkNFX0NPTkZJR19QUk9U T0NPTCAgKlRoaXMsDQorICBJTiAgICAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFVyaQ0KKyAgKQ0KK3sNCisgIFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUg ICpQcml2YXRlOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0K KyAgUkVERklTSF9SRVNQT05TRSAgICAgICAgICAgICAgICAgUmVzcG9uc2U7DQorDQorICBpZiAo KFRoaXMgPT0gTlVMTCkgfHwgSVNfRU1QVFlfU1RSSU5HIChVcmkpKSB7DQorICAgIHJldHVybiBF RklfSU5WQUxJRF9QQVJBTUVURVI7DQorICB9DQorDQorICBaZXJvTWVtICgmUmVzcG9uc2UsIHNp emVvZiAoUkVERklTSF9SRVNQT05TRSkpOw0KKyAgUHJpdmF0ZSA9IFJFREZJU0hfUkVTT1VSQ0Vf Q09NTU9OX1BSSVZBVEVfREFUQV9GUk9NX1JFU09VUkNFX1BST1RPQ09MIChUaGlzKTsNCisNCisg IGlmIChQcml2YXRlLT5SZWRmaXNoU2VydmljZSA9PSBOVUxMKSB7DQorICAgIHJldHVybiBFRklf Tk9UX1JFQURZOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gUmVkZmlzaEh0dHBHZXRSZXNvdXJjZSAo UHJpdmF0ZS0+UmVkZmlzaFNlcnZpY2UsIFVyaSwgTlVMTCwgJlJlc3BvbnNlLCBUUlVFKTsNCisg IGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVh OiBnZXQgcmVzb3VyY2UgZnJvbTogJXMgZmFpbGVkXG4iLCBfX2Z1bmNfXywgVXJpKSk7DQorICAg IHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBQcml2YXRlLT5VcmkgICAgID0gVXJpOw0KKyAg UHJpdmF0ZS0+UGF5bG9hZCA9IFJlc3BvbnNlLlBheWxvYWQ7DQorICBBU1NFUlQgKFByaXZhdGUt PlBheWxvYWQgIT0gTlVMTCk7DQorDQorICBQcml2YXRlLT5Kc29uID0gSnNvbkR1bXBTdHJpbmcg KFJlZGZpc2hKc29uSW5QYXlsb2FkIChQcml2YXRlLT5QYXlsb2FkKSwgRURLSUlfSlNPTl9DT01Q QUNUKTsNCisgIEFTU0VSVCAoUHJpdmF0ZS0+SnNvbiAhPSBOVUxMKTsNCisNCisgIFN0YXR1cyA9 IFJlZGZpc2hVcGRhdGVSZXNvdXJjZUNvbW1vbiAoUHJpdmF0ZSwgUHJpdmF0ZS0+SnNvbik7DQor ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVCVUdfRVJST1IsICIl YTogZmFpbGVkIHRvIHVwZGF0ZSByZXNvdXJjZSB0bzogJXM6ICVyXG4iLCBfX2Z1bmNfXywgVXJp LCBTdGF0dXMpKTsNCisgIH0gZWxzZSB7DQorICAgIC8vDQorICAgIC8vIEdldCBsYXRlc3QgRVRh ZyBvbiBVUkkgYW5kIGtlZXAgaXQgaW4gdmFyaWFibGUuDQorICAgIC8vDQorICAgIFNldEV0YWdG cm9tVXJpIChQcml2YXRlLT5SZWRmaXNoU2VydmljZSwgUHJpdmF0ZS0+VXJpLCBUUlVFKTsNCisg IH0NCisNCisgIC8vDQorICAvLyBSZWxlYXNlIHJlc291cmNlDQorICAvLw0KKyAgUmVkZmlzaEh0 dHBGcmVlUmVzcG9uc2UgKCZSZXNwb25zZSk7DQorICBQcml2YXRlLT5QYXlsb2FkID0gTlVMTDsN CisNCisgIGlmIChQcml2YXRlLT5Kc29uICE9IE5VTEwpIHsNCisgICAgRnJlZVBvb2wgKFByaXZh dGUtPkpzb24pOw0KKyAgICBQcml2YXRlLT5Kc29uID0gTlVMTDsNCisgIH0NCisNCisgIHJldHVy biBTdGF0dXM7DQorfQ0KKw0KKy8qKg0KKyAgQ2hlY2sgcmVzb3VyY2Ugb24gZ2l2ZW4gVVJJLg0K Kw0KKyAgQHBhcmFtW2luXSAgIFRoaXMgICAgICAgICAgICAgICAgUG9pbnRlciB0byBFRklfSFBf UkVERklTSF9ISUlfUFJPVE9DT0wgaW5zdGFuY2UuDQorICBAcGFyYW1baW5dICAgVXJpICAgICAg ICAgICAgICAgICBUaGUgdGFyZ2V0IFVSSSB0byBjb25zdW1lLg0KKw0KKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgICAgVmFsdWUgaXMgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5Lg0KKyAg QHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCisN CisqKi8NCitFRklfU1RBVFVTDQorRUZJQVBJDQorUmVkZmlzaFJlc291cmNlQ2hlY2sgKA0KKyAg SU4gICAgIEVES0lJX1JFREZJU0hfUkVTT1VSQ0VfQ09ORklHX1BST1RPQ09MICAqVGhpcywNCisg IElOICAgICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXJpDQorICAp DQorew0KKyAgUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAgKlByaXZhdGU7DQorICBF RklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBSRURGSVNIX1JFU1BP TlNFICAgICAgICAgICAgICAgICBSZXNwb25zZTsNCisgIENIQVI4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICpFdGFnOw0KKw0KKyAgaWYgKChUaGlzID09IE5VTEwpIHx8IElTX0VNUFRZX1NU UklORyAoVXJpKSkgew0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAgfQ0K Kw0KKyAgWmVyb01lbSAoJlJlc3BvbnNlLCBzaXplb2YgKFJFREZJU0hfUkVTUE9OU0UpKTsNCisg IFByaXZhdGUgPSBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFX0RBVEFfRlJPTV9SRVNP VVJDRV9QUk9UT0NPTCAoVGhpcyk7DQorDQorICBpZiAoUHJpdmF0ZS0+UmVkZmlzaFNlcnZpY2Ug PT0gTlVMTCkgew0KKyAgICByZXR1cm4gRUZJX05PVF9SRUFEWTsNCisgIH0NCisNCisgIFN0YXR1 cyA9IFJlZGZpc2hIdHRwR2V0UmVzb3VyY2UgKFByaXZhdGUtPlJlZGZpc2hTZXJ2aWNlLCBVcmks IE5VTEwsICZSZXNwb25zZSwgVFJVRSk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgIERFQlVHICgoREVCVUdfRVJST1IsICIlYTogZ2V0IHJlc291cmNlIGZyb206ICVzIGZhaWxl ZFxuIiwgX19mdW5jX18sIFVyaSkpOw0KKyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0KKw0KKyAg UHJpdmF0ZS0+VXJpICAgICA9IFVyaTsNCisgIFByaXZhdGUtPlBheWxvYWQgPSBSZXNwb25zZS5Q YXlsb2FkOw0KKyAgQVNTRVJUIChQcml2YXRlLT5QYXlsb2FkICE9IE5VTEwpOw0KKw0KKyAgUHJp dmF0ZS0+SnNvbiA9IEpzb25EdW1wU3RyaW5nIChSZWRmaXNoSnNvbkluUGF5bG9hZCAoUHJpdmF0 ZS0+UGF5bG9hZCksIEVES0lJX0pTT05fQ09NUEFDVCk7DQorICBBU1NFUlQgKFByaXZhdGUtPkpz b24gIT0gTlVMTCk7DQorDQorICAvLw0KKyAgLy8gRmluZCBldGFnIGluIEhUVFAgcmVzcG9uc2Ug aGVhZGVyDQorICAvLw0KKyAgRXRhZyAgID0gTlVMTDsNCisgIFN0YXR1cyA9IEdldEh0dHBSZXNw b25zZUV0YWcgKCZSZXNwb25zZSwgJkV0YWcpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byBnZXQgRVRhZyBmcm9t IEhUVFAgaGVhZGVyXG4iLCBfX2Z1bmNfXykpOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gUmVkZmlz aENoZWNrUmVzb3VyY2VDb21tb24gKFByaXZhdGUsIFByaXZhdGUtPkpzb24sIEV0YWcpOw0KKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6 IGZhaWxlZCB0byBjaGVjayByZXNvdXJjZSBmcm9tOiAlczogJXJcbiIsIF9fZnVuY19fLCBVcmks IFN0YXR1cykpOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIFJlbGVhc2UgcmVzb3VyY2UNCisgIC8v DQorICBpZiAoRXRhZyAhPSBOVUxMKSB7DQorICAgIEZyZWVQb29sIChFdGFnKTsNCisgIH0NCisN CisgIFJlZGZpc2hIdHRwRnJlZVJlc3BvbnNlICgmUmVzcG9uc2UpOw0KKyAgUHJpdmF0ZS0+UGF5 bG9hZCA9IE5VTEw7DQorDQorICBpZiAoUHJpdmF0ZS0+SnNvbiAhPSBOVUxMKSB7DQorICAgIEZy ZWVQb29sIChQcml2YXRlLT5Kc29uKTsNCisgICAgUHJpdmF0ZS0+SnNvbiA9IE5VTEw7DQorICB9 DQorDQorICByZXR1cm4gU3RhdHVzOw0KK30NCisNCisvKioNCisgIElkZW50aWZ5IHJlc291cmNl IG9uIGdpdmVuIFVSSS4NCisNCisgIEBwYXJhbVtpbl0gICBUaGlzICAgICAgICAgICAgICAgIFBv aW50ZXIgdG8gRURLSUlfUkVERklTSF9SRVNPVVJDRV9DT05GSUdfUFJPVE9DT0wgaW5zdGFuY2Uu DQorICBAcGFyYW1baW5dICAgVXJpICAgICAgICAgICAgICAgICBUaGUgdGFyZ2V0IFVSSSB0byBj b25zdW1lLg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgVGhpcyBpcyB0 YXJnZXQgcmVzb3VyY2Ugd2hpY2ggd2Ugd2FudCB0byBoYW5kbGUuDQorICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgICAgICAgICBUaGlzIGlzIG5vdCB0aGUgdGFyZ2V0IHJlc291cmNlLg0KKyAg QHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICAgU29tZSBlcnJvciBoYXBwZW5lZC4NCisN CisqKi8NCitFRklfU1RBVFVTDQorRUZJQVBJDQorUmVkZmlzaFJlc291cmNlSWRlbnRpZnkgKA0K KyAgSU4gICAgIEVES0lJX1JFREZJU0hfUkVTT1VSQ0VfQ09ORklHX1BST1RPQ09MICAqVGhpcywN CisgIElOICAgICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXJpDQor ICApDQorew0KKyAgUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAgKlByaXZhdGU7DQor ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBSRURGSVNIX1JF U1BPTlNFICAgICAgICAgICAgICAgICBSZXNwb25zZTsNCisNCisgIGlmICgoVGhpcyA9PSBOVUxM KSB8fCBJU19FTVBUWV9TVFJJTkcgKFVyaSkpIHsNCisgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BB UkFNRVRFUjsNCisgIH0NCisNCisgIFplcm9NZW0gKCZSZXNwb25zZSwgc2l6ZW9mIChSRURGSVNI X1JFU1BPTlNFKSk7DQorICBQcml2YXRlID0gUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFU RV9EQVRBX0ZST01fUkVTT1VSQ0VfUFJPVE9DT0wgKFRoaXMpOw0KKw0KKyAgaWYgKFByaXZhdGUt PlJlZGZpc2hTZXJ2aWNlID09IE5VTEwpIHsNCisgICAgcmV0dXJuIEVGSV9OT1RfUkVBRFk7DQor ICB9DQorDQorICBTdGF0dXMgPSBSZWRmaXNoSHR0cEdldFJlc291cmNlIChQcml2YXRlLT5SZWRm aXNoU2VydmljZSwgVXJpLCBOVUxMLCAmUmVzcG9uc2UsIFRSVUUpOw0KKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGdldCByZXNvdXJj ZSBmcm9tOiAlcyBmYWlsZWRcbiIsIF9fZnVuY19fLCBVcmkpKTsNCisgICAgcmV0dXJuIFN0YXR1 czsNCisgIH0NCisNCisgIFByaXZhdGUtPlVyaSAgICAgPSBVcmk7DQorICBQcml2YXRlLT5QYXls b2FkID0gUmVzcG9uc2UuUGF5bG9hZDsNCisgIEFTU0VSVCAoUHJpdmF0ZS0+UGF5bG9hZCAhPSBO VUxMKTsNCisNCisgIFByaXZhdGUtPkpzb24gPSBKc29uRHVtcFN0cmluZyAoUmVkZmlzaEpzb25J blBheWxvYWQgKFByaXZhdGUtPlBheWxvYWQpLCBFREtJSV9KU09OX0NPTVBBQ1QpOw0KKyAgQVNT RVJUIChQcml2YXRlLT5Kc29uICE9IE5VTEwpOw0KKw0KKyAgU3RhdHVzID0gUmVkZmlzaElkZW50 aWZ5UmVzb3VyY2VDb21tb24gKFByaXZhdGUsIFByaXZhdGUtPkpzb24pOw0KKyAgaWYgKEVGSV9F UlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGlkZW50aWZ5 ICVzIGZhaWxlZDogJXJcbiIsIF9fZnVuY19fLCBVcmksIFN0YXR1cykpOw0KKyAgfQ0KKw0KKyAg Ly8NCisgIC8vIFJlbGVhc2UgcmVzb3VyY2UNCisgIC8vDQorICBSZWRmaXNoSHR0cEZyZWVSZXNw b25zZSAoJlJlc3BvbnNlKTsNCisgIFByaXZhdGUtPlBheWxvYWQgPSBOVUxMOw0KKw0KKyAgaWYg KFByaXZhdGUtPkpzb24gIT0gTlVMTCkgew0KKyAgICBGcmVlUG9vbCAoUHJpdmF0ZS0+SnNvbik7 DQorICAgIFByaXZhdGUtPkpzb24gPSBOVUxMOw0KKyAgfQ0KKw0KKyAgcmV0dXJuIFN0YXR1czsN Cit9DQorDQorRURLSUlfUkVERklTSF9SRVNPVVJDRV9DT05GSUdfUFJPVE9DT0wgIG1SZWRmaXNo UmVzb3VyY2VDb25maWcgPSB7DQorICBSZWRmaXNoUmVzb3VyY2VQcm92aXNpb25pbmdSZXNvdXJj ZSwNCisgIFJlZGZpc2hSZXNvdXJjZUNvbnN1bWVSZXNvdXJjZSwNCisgIFJlZGZpc2hSZXNvdXJj ZVVwZGF0ZSwNCisgIFJlZGZpc2hSZXNvdXJjZUNoZWNrLA0KKyAgUmVkZmlzaFJlc291cmNlSWRl bnRpZnksDQorICBSZWRmaXNoUmVzb3VyY2VHZXRJbmZvDQorfTsNCisNCisvKioNCisgIEluaXRp YWxpemUgYSBSZWRmaXNoIGNvbmZpZ3VyZSBoYW5kbGVyLg0KKw0KKyAgVGhpcyBmdW5jdGlvbiB3 aWxsIGJlIGNhbGxlZCBieSB0aGUgUmVkZmlzaCBjb25maWcgZHJpdmVyIHRvIGluaXRpYWxpemUg ZWFjaCBSZWRmaXNoIGNvbmZpZ3VyZQ0KKyAgaGFuZGxlci4NCisNCisgIEBwYXJhbVtpbl0gICBU aGlzICAgICAgICAgICAgICAgICAgICAgUG9pbnRlciB0byBFREtJSV9SRURGSVNIX0NPTkZJR19I QU5ETEVSX1BST1RPQ09MIGluc3RhbmNlLg0KKyAgQHBhcmFtW2luXSAgIFJlZGZpc2hDb25maWdT ZXJ2aWNlSW5mbyBSZWRmaXNoIHNlcnZpY2UgaW5mb3JtYXRpb24uDQorDQorICBAcmV0dmFsIEVG SV9TVUNDRVNTICAgICAgICAgICAgICAgICAgVGhlIGhhbmRsZXIgaGFzIGJlZW4gaW5pdGlhbGl6 ZWQgc3VjY2Vzc2Z1bGx5Lg0KKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICAgICAg IEZhaWxlZCB0byBjcmVhdGUgb3IgY29uZmlndXJlIHRoZSBSRVNUIEVYIHByb3RvY29sIGluc3Rh bmNlLg0KKyAgQHJldHZhbCBFRklfQUxSRUFEWV9TVEFSVEVEICAgICAgICAgIFRoaXMgaGFuZGxl ciBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkLg0KKyAgQHJldHZhbCBPdGhlciAgICAgICAg ICAgICAgICAgICAgICAgIEVycm9yIGhhcHBlbnMgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbi4N CisNCisqKi8NCitFRklfU1RBVFVTDQorRUZJQVBJDQorUmVkZmlzaFJlc291cmNlSW5pdCAoDQor ICBJTiAgRURLSUlfUkVERklTSF9DT05GSUdfSEFORExFUl9QUk9UT0NPTCAgKlRoaXMsDQorICBJ TiAgUkVERklTSF9DT05GSUdfU0VSVklDRV9JTkZPUk1BVElPTiAgICAgKlJlZGZpc2hDb25maWdT ZXJ2aWNlSW5mbw0KKyAgKQ0KK3sNCisgIFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUg ICpQcml2YXRlOw0KKw0KKyAgUHJpdmF0ZSA9IFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZB VEVfREFUQV9GUk9NX0NPTkZJR19QUk9UT0NPTCAoVGhpcyk7DQorDQorICBQcml2YXRlLT5SZWRm aXNoU2VydmljZSA9IFJlZGZpc2hDcmVhdGVTZXJ2aWNlIChSZWRmaXNoQ29uZmlnU2VydmljZUlu Zm8pOw0KKyAgaWYgKFByaXZhdGUtPlJlZGZpc2hTZXJ2aWNlID09IE5VTEwpIHsNCisgICAgcmV0 dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQorICB9DQorDQorICByZXR1cm4gRUZJX1NVQ0NFU1M7DQor fQ0KKw0KKy8qKg0KKyAgU3RvcCBhIFJlZGZpc2ggY29uZmlndXJlIGhhbmRsZXIuDQorDQorICBA cGFyYW1baW5dICAgVGhpcyAgICAgICAgICAgICAgICBQb2ludGVyIHRvIEVES0lJX1JFREZJU0hf Q09ORklHX0hBTkRMRVJfUFJPVE9DT0wgaW5zdGFuY2UuDQorDQorICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICAgICAgICBUaGlzIGhhbmRsZXIgaGFzIGJlZW4gc3RvcGVkIHN1Y2Nlc3NmdWxs eS4NCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgIFNvbWUgZXJyb3IgaGFwcGVu ZWQuDQorDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK1JlZGZpc2hSZXNvdXJjZVN0b3Ag KA0KKyAgSU4gIEVES0lJX1JFREZJU0hfQ09ORklHX0hBTkRMRVJfUFJPVE9DT0wgICpUaGlzDQor ICApDQorew0KKyAgUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAgKlByaXZhdGU7DQor DQorICBQcml2YXRlID0gUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURV9EQVRBX0ZST01f Q09ORklHX1BST1RPQ09MIChUaGlzKTsNCisNCisgIGlmIChQcml2YXRlLT5FdmVudCAhPSBOVUxM KSB7DQorICAgIGdCUy0+Q2xvc2VFdmVudCAoUHJpdmF0ZS0+RXZlbnQpOw0KKyAgICBQcml2YXRl LT5FdmVudCA9IE5VTEw7DQorICB9DQorDQorICBpZiAoUHJpdmF0ZS0+UmVkZmlzaFNlcnZpY2Ug IT0gTlVMTCkgew0KKyAgICBSZWRmaXNoQ2xlYW51cFNlcnZpY2UgKFByaXZhdGUtPlJlZGZpc2hT ZXJ2aWNlKTsNCisgICAgUHJpdmF0ZS0+UmVkZmlzaFNlcnZpY2UgPSBOVUxMOw0KKyAgfQ0KKw0K KyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KK30NCisNCitFREtJSV9SRURGSVNIX0NPTkZJR19IQU5E TEVSX1BST1RPQ09MICBtUmVkZmlzaENvbmZpZ0hhbmRsZXIgPSB7DQorICBSZWRmaXNoUmVzb3Vy Y2VJbml0LA0KKyAgUmVkZmlzaFJlc291cmNlU3RvcA0KK307DQorDQorLyoqDQorICBDYWxsYmFj ayBmdW5jdGlvbiB3aGVuIGdFZmlSZXN0SnNvblN0cnVjdHVyZVByb3RvY29sR3VpZCBpcyBpbnN0 YWxsZWQuDQorDQorICBAcGFyYW1baW5dIEV2ZW50ICAgIEV2ZW50IHdob3NlIG5vdGlmaWNhdGlv biBmdW5jdGlvbiBpcyBiZWluZyBpbnZva2VkLg0KKyAgQHBhcmFtW2luXSBDb250ZXh0ICBQb2lu dGVyIHRvIHRoZSBub3RpZmljYXRpb24gZnVuY3Rpb24ncyBjb250ZXh0Lg0KKyoqLw0KK1ZPSUQN CitFRklBUEkNCitFZmlSZXN0SnNvblN0cnVjdHVyZVByb3RvY29sSXNSZWFkeSAoDQorICBJTiAg RUZJX0VWRU5UICBFdmVudCwNCisgIElOICBWT0lEICAgICAgICpDb250ZXh0DQorICApDQorew0K KyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KKw0KKyAgaWYgKG1SZWRmaXNoUmVzb3VyY2VQcml2YXRl ID09IE5VTEwpIHsNCisgICAgcmV0dXJuOw0KKyAgfQ0KKw0KKyAgaWYgKG1SZWRmaXNoUmVzb3Vy Y2VQcml2YXRlLT5Kc29uU3RydWN0UHJvdG9jb2wgIT0gTlVMTCkgew0KKyAgICByZXR1cm47DQor ICB9DQorDQorICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAg ICAgICAmZ0VmaVJlc3RKc29uU3RydWN0dXJlUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAg ICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJm1SZWRmaXNoUmVzb3VyY2VQ cml2YXRlLT5Kc29uU3RydWN0UHJvdG9jb2wNCisgICAgICAgICAgICAgICAgICApOw0KKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGZh aWxlZCB0byBsb2NhdGUgZ0VmaVJlc3RKc29uU3RydWN0dXJlUHJvdG9jb2xHdWlkOiAlclxuIiwg X19mdW5jX18sIFN0YXR1cykpOw0KKyAgfQ0KKw0KKyAgZ0JTLT5DbG9zZUV2ZW50IChFdmVudCk7 DQorfQ0KKw0KKy8qKg0KKyAgVW5sb2FkcyBhbiBpbWFnZS4NCisNCisgIEBwYXJhbSAgSW1hZ2VI YW5kbGUgICAgICAgICAgIEhhbmRsZSB0aGF0IGlkZW50aWZpZXMgdGhlIGltYWdlIHRvIGJlIHVu bG9hZGVkLg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGltYWdlIGhh cyBiZWVuIHVubG9hZGVkLg0KKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgSW1hZ2VI YW5kbGUgaXMgbm90IGEgdmFsaWQgaW1hZ2UgaGFuZGxlLg0KKw0KKyoqLw0KK0VGSV9TVEFUVVMN CitFRklBUEkNCitSZWRmaXNoUmVzb3VyY2VVbmxvYWQgKA0KKyAgSU4gRUZJX0hBTkRMRSAgSW1h Z2VIYW5kbGUNCisgICkNCit7DQorICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdGF0dXM7DQorICBFREtJSV9SRURGSVNIX0NPTkZJR19IQU5ETEVSX1BST1RPQ09MICAq Q29uZmlnSGFuZGxlcjsNCisNCisgIGlmIChtUmVkZmlzaFJlc291cmNlUHJpdmF0ZSA9PSBOVUxM KSB7DQorICAgIHJldHVybiBFRklfTk9UX1JFQURZOw0KKyAgfQ0KKw0KKyAgQ29uZmlnSGFuZGxl ciA9IE5VTEw7DQorDQorICAvLw0KKyAgLy8gRmlyc3RseSwgZmluZCBDb25maWdIYW5kbGVyIFBy b3RvY29sIGludGVyZmFjZSBpbiB0aGlzIEltYWdlSGFuZGxlLg0KKyAgLy8NCisgIFN0YXR1cyA9 IGdCUy0+T3BlblByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICBJbWFnZUhhbmRsZSwNCisg ICAgICAgICAgICAgICAgICAmZ0Vka0lJUmVkZmlzaENvbmZpZ0hhbmRsZXJQcm90b2NvbEd1aWQs DQorICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJkNvbmZpZ0hhbmRsZXIsDQorICAgICAgICAg ICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICBOVUxMLA0KKyAgICAgICAgICAgICAg ICAgIEVGSV9PUEVOX1BST1RPQ09MX0JZX0hBTkRMRV9QUk9UT0NPTA0KKyAgICAgICAgICAgICAg ICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IChDb25maWdIYW5kbGVyID09IE5V TEwpKSB7DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBDb25maWdIYW5kbGVyLT5T dG9wIChDb25maWdIYW5kbGVyKTsNCisNCisgIC8vDQorICAvLyBMYXN0LCB1bmluc3RhbGwgQ29u ZmlnSGFuZGxlciBQcm90b2NvbCBhbmQgcmVzb3VyY2UgcHJvdG9jb2wuDQorICAvLw0KKyAgU3Rh dHVzID0gZ0JTLT5Vbmluc3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNlcyAoDQorICAgICAg ICAgICAgICAgICAgSW1hZ2VIYW5kbGUsDQorICAgICAgICAgICAgICAgICAgJmdFZGtJSVJlZGZp c2hDb25maWdIYW5kbGVyUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIENvbmZpZ0hh bmRsZXIsDQorICAgICAgICAgICAgICAgICAgJmdFZGtJSVJlZGZpc2hSZXNvdXJjZUNvbmZpZ1By b3RvY29sR3VpZCwNCisgICAgICAgICAgICAgICAgICAmbVJlZGZpc2hSZXNvdXJjZVByaXZhdGUt PlJlZGZpc2hSZXNvdXJjZUNvbmZpZywNCisgICAgICAgICAgICAgICAgICBOVUxMDQorICAgICAg ICAgICAgICAgICAgKTsNCisNCisgIEZyZWVQb29sIChtUmVkZmlzaFJlc291cmNlUHJpdmF0ZSk7 DQorICBtUmVkZmlzaFJlc291cmNlUHJpdmF0ZSA9IE5VTEw7DQorDQorICByZXR1cm4gU3RhdHVz Ow0KK30NCisNCisvKioNCisgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBwcm92aWRlZCBieSBSZWRm aXNoIEZlYXR1cmUgZHJpdmVyLg0KKw0KKyAgQHBhcmFtW2luXSAgICAgVGhpcyAgICAgICAgICAg ICAgICBQb2ludGVyIHRvIEVES0lJX1JFREZJU0hfRkVBVFVSRV9QUk9UT0NPTCBpbnN0YW5jZS4N CisgIEBwYXJhbVtpbl0gICAgIEZlYXR1cmVBY3Rpb24gICAgICAgVGhlIGFjdGlvbiBSZWRmaXNo IGZlYXR1cmUgZHJpdmVyIHNob3VsZCB0YWtlLg0KKyAgQHBhcmFtW2luXSAgICAgVXJpICAgICAg ICAgICAgICAgICBUaGUgY29sbGVjdGlvbiBVUkkuDQorICBAcGFyYW1baW5dICAgICBDb250ZXh0 ICAgICAgICAgICAgIFRoZSBjb250ZXh0IG9mIFJlZGZpc2ggZmVhdHVyZSBkcml2ZXIuDQorICBA cGFyYW1baW4sb3V0XSBJbmZvcm1hdGlvbkV4Y2hhbmdlIFRoZSBwb2ludGVyIHRvIFJFU09VUkNF X0lORk9STUFUSU9OX0VYQ0hBTkdFDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICAgICBSZWRmaXNoIGZlYXR1cmUgZHJpdmVyIGNhbGxiYWNrIGlzIGV4ZWN1dGVkIHN1Y2Nlc3Nm dWxseS4NCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgIFNvbWUgZXJyb3JzIGhh cHBlbmVkLg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgUmVkZmlzaCBm ZWF0dXJlIGRyaXZlciBjYWxsYmFjayBpcyBleGVjdXRlZCBzdWNjZXNzZnVsbHkuDQorICBAcmV0 dmFsIE90aGVycyAgICAgICAgICAgICAgICAgICBTb21lIGVycm9ycyBoYXBwZW5lZC4NCisNCisq Ki8NCitFRklfU1RBVFVTDQorRUZJQVBJDQorUmVkZmlzaEV4dGVybmFsUmVzb3VyY2VSZXNvdXJj ZUZlYXR1cmVDYWxsYmFjayAoDQorICBJTiAgICAgRURLSUlfUkVERklTSF9GRUFUVVJFX1BST1RP Q09MICAqVGhpcywNCisgIElOICAgICBGRUFUVVJFX0NBTExCQUNLX0FDVElPTiAgICAgICAgIEZl YXR1cmVBY3Rpb24sDQorICBJTiAgICAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Q29udGV4dCwNCisgIElOIE9VVCBSRVNPVVJDRV9JTkZPUk1BVElPTl9FWENIQU5HRSAgICpJbmZv cm1hdGlvbkV4Y2hhbmdlDQorICApDQorew0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAg ICAgICAgU3RhdHVzOw0KKyAgUkVERklTSF9TRVJWSUNFICAgICAgICAgICAgICAgICAgUmVkZmlz aFNlcnZpY2U7DQorICBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICAqUHJpdmF0ZTsN CisgIEVGSV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVXJpOw0KKyAgRUZJ X1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgU2VjdXJlQm9vdFVyaTsNCisNCisgIGlmIChG ZWF0dXJlQWN0aW9uICE9IENhbGxiYWNrQWN0aW9uU3RhcnRPcGVyYXRpb24pIHsNCisgICAgcmV0 dXJuIEVGSV9VTlNVUFBPUlRFRDsNCisgIH0NCisNCisgIFByaXZhdGUgPSAoUkVERklTSF9SRVNP VVJDRV9DT01NT05fUFJJVkFURSAqKUNvbnRleHQ7DQorDQorICBSZWRmaXNoU2VydmljZSA9IFBy aXZhdGUtPlJlZGZpc2hTZXJ2aWNlOw0KKyAgaWYgKFJlZGZpc2hTZXJ2aWNlID09IE5VTEwpIHsN CisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBubyBSZWRmaXNoIHNlcnZpY2UgY29uZmln dXJlZFxuIiwgX19mdW5jX18pKTsNCisgICAgcmV0dXJuIEVGSV9OT1RfUkVBRFk7DQorICB9DQor DQorICAvLw0KKyAgLy8gU2F2ZSBpbiBwcml2YXRlIHN0cnVjdHVyZS4NCisgIC8vDQorICBQcml2 YXRlLT5JbmZvcm1hdGlvbkV4Y2hhbmdlID0gSW5mb3JtYXRpb25FeGNoYW5nZTsNCisNCisgIC8v DQorICAvLyBGaW5kIFJlZGZpc2ggdmVyc2lvbiBvbiBSZWRmaXNoIHNlcg0KKyAgLy8NCisgIFBy aXZhdGUtPlJlZGZpc2hWZXJzaW9uID0gUmVkZmlzaEdldFZlcnNpb24gKFJlZGZpc2hTZXJ2aWNl KTsNCisNCisgIC8vDQorICAvLyBDcmVhdGUgdGhlIGZ1bGwgVVJJIGZyb20gUmVkZmlzaCBzZXJ2 aWNlIHJvb3QuDQorICAvLw0KKyAgUmVzb3VyY2VVcmkgPSAoRUZJX1NUUklORylBbGxvY2F0ZVpl cm9Qb29sIChNQVhfVVJJX0xFTkdUSCAqIHNpemVvZiAoQ0hBUjE2KSk7DQorICBpZiAoUmVzb3Vy Y2VVcmkgPT0gTlVMTCkgew0KKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IEZhaWwgdG8g YWxsb2NhdGUgbWVtb3J5IGZvciBmdWxsIFVSSS5cbiIsIF9fZnVuY19fKSk7DQorICAgIHJldHVy biBFRklfT1VUX09GX1JFU09VUkNFUzsNCisgIH0NCisNCisgIFN0ckNhdFMgKFJlc291cmNlVXJp LCBNQVhfVVJJX0xFTkdUSCwgUHJpdmF0ZS0+UmVkZmlzaFZlcnNpb24pOw0KKyAgU3RyQ2F0UyAo UmVzb3VyY2VVcmksIE1BWF9VUklfTEVOR1RILCBJbmZvcm1hdGlvbkV4Y2hhbmdlLT5TZW5kSW5m b3JtYXRpb24uRnVsbFVyaSk7DQorDQorICAvLw0KKyAgLy8gSW5pdGlhbGl6ZSBjb2xsZWN0aW9u IHBhdGgNCisgIC8vDQorICBTZWN1cmVCb290VXJpID0gUmVkZmlzaEdldFVyaSAoUmVzb3VyY2VV cmkpOw0KKyAgaWYgKFNlY3VyZUJvb3RVcmkgPT0gTlVMTCkgew0KKyAgICBBU1NFUlQgKEZBTFNF KTsNCisgICAgRnJlZVBvb2wgKFJlc291cmNlVXJpKTsNCisgICAgcmV0dXJuIEVGSV9PVVRfT0Zf UkVTT1VSQ0VTOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gSGFuZGxlUmVzb3VyY2UgKFByaXZhdGUs IFNlY3VyZUJvb3RVcmkpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiJWE6IHByb2Nlc3MgZXh0ZXJuYWwgcmVzb3VyY2U6ICVzIGZhaWxl ZDogJXJcbiIsIF9fZnVuY19fLCBTZWN1cmVCb290VXJpLCBTdGF0dXMpKTsNCisgIH0NCisNCisg IEZyZWVQb29sIChTZWN1cmVCb290VXJpKTsNCisgIEZyZWVQb29sIChSZXNvdXJjZVVyaSk7DQor ICByZXR1cm4gU3RhdHVzOw0KK30NCisNCisvKioNCisgIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4g Z0Vka0lJUmVkZmlzaEZlYXR1cmVQcm90b2NvbEd1aWQgaXMgaW5zdGFsbGVkLg0KKw0KKyAgQHBh cmFtW2luXSBFdmVudCAgICBFdmVudCB3aG9zZSBub3RpZmljYXRpb24gZnVuY3Rpb24gaXMgYmVp bmcgaW52b2tlZC4NCisgIEBwYXJhbVtpbl0gQ29udGV4dCAgUG9pbnRlciB0byB0aGUgbm90aWZp Y2F0aW9uIGZ1bmN0aW9uJ3MgY29udGV4dC4NCisqKi8NCitWT0lEDQorRUZJQVBJDQorRWRrSUlS ZWRmaXNoRmVhdHVyZVByb3RvY29sSXNSZWFkeSAoDQorICBJTiAgRUZJX0VWRU5UICBFdmVudCwN CisgIElOICBWT0lEICAgICAgICpDb250ZXh0DQorICApDQorew0KKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBFREtJSV9SRURGSVNIX0ZFQVRVUkVfUFJPVE9D T0wgICpGZWF0dXJlUHJvdG9jb2w7DQorDQorICBpZiAobVJlZGZpc2hSZXNvdXJjZVByaXZhdGUg PT0gTlVMTCkgew0KKyAgICByZXR1cm47DQorICB9DQorDQorICBpZiAobVJlZGZpc2hSZXNvdXJj ZVByaXZhdGUtPkZlYXR1cmVQcm90b2NvbCAhPSBOVUxMKSB7DQorICAgIHJldHVybjsNCisgIH0N CisNCisgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAg ICZnRWRrSUlSZWRmaXNoRmVhdHVyZVByb3RvY29sR3VpZCwNCisgICAgICAgICAgICAgICAgICBO VUxMLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZGZWF0dXJlUHJvdG9jb2wNCisgICAg ICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byBsb2NhdGUgZ0Vka0lJUmVkZmlzaEZlYXR1 cmVQcm90b2NvbEd1aWQ6ICVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQorICAgIGdCUy0+Q2xv c2VFdmVudCAoRXZlbnQpOw0KKyAgICByZXR1cm47DQorICB9DQorDQorICBTdGF0dXMgPSBGZWF0 dXJlUHJvdG9jb2wtPlJlZ2lzdGVyICgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG ZWF0dXJlUHJvdG9jb2wsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVERklTSF9N QU5BR0VEX1VSSSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWRmaXNoRXh0ZXJu YWxSZXNvdXJjZVJlc291cmNlRmVhdHVyZUNhbGxiYWNrLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChWT0lEICopbVJlZGZpc2hSZXNvdXJjZVByaXZhdGUNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBE RUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byByZWdpc3RlciAlczogJXJcbiIsIF9f ZnVuY19fLCBSRURGSVNIX01BTkFHRURfVVJJLCBTdGF0dXMpKTsNCisgIH0NCisNCisgIG1SZWRm aXNoUmVzb3VyY2VQcml2YXRlLT5GZWF0dXJlUHJvdG9jb2wgPSBGZWF0dXJlUHJvdG9jb2w7DQor DQorICBnQlMtPkNsb3NlRXZlbnQgKEV2ZW50KTsNCit9DQorDQorLyoqDQorICBUaGlzIGlzIHRo ZSBkZWNsYXJhdGlvbiBvZiBhbiBFRkkgaW1hZ2UgZW50cnkgcG9pbnQuIFRoaXMgZW50cnkgcG9p bnQgaXMNCisgIHRoZSBzYW1lIGZvciBVRUZJIEFwcGxpY2F0aW9ucywgVUVGSSBPUyBMb2FkZXJz LCBhbmQgVUVGSSBEcml2ZXJzIGluY2x1ZGluZw0KKyAgYm90aCBkZXZpY2UgZHJpdmVycyBhbmQg YnVzIGRyaXZlcnMuIEl0IGluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYW5kDQorICBw dWJsaXNoIHRoZSBkcml2ZXIgYmluZGluZyBwcm90b2NvbC4NCisNCisgIEBwYXJhbVtpbl0gICBJ bWFnZUhhbmRsZSAgICAgIFRoZSBmaXJtd2FyZSBhbGxvY2F0ZWQgaGFuZGxlIGZvciB0aGUgVUVG SSBpbWFnZS4NCisgIEBwYXJhbVtpbl0gICBTeXN0ZW1UYWJsZSAgICAgIEEgcG9pbnRlciB0byB0 aGUgRUZJIFN5c3RlbSBUYWJsZS4NCisNCisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg IFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCisgIEByZXR2YWwgRUZJX0FD Q0VTU19ERU5JRUQgICAgIEVGSV9JU0NTSV9JTklUSUFUT1JfTkFNRV9QUk9UT0NPTCB3YXMgaW5z dGFsbGVkIHVuZXhwZWN0ZWRseS4NCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgIE90 aGVyIGVycm9ycyBhcyBpbmRpY2F0ZWQuDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK1Jl ZGZpc2hSZXNvdXJjZUVudHJ5UG9pbnQgKA0KKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgSW1hZ2VI YW5kbGUsDQorICBJTiBFRklfU1lTVEVNX1RBQkxFICAqU3lzdGVtVGFibGUNCisgICkNCit7DQor ICBFRklfU1RBVFVTICBTdGF0dXM7DQorICBWT0lEICAgICAgICAqUmVnaXN0cmF0aW9uOw0KKw0K KyAgaWYgKG1SZWRmaXNoUmVzb3VyY2VQcml2YXRlICE9IE5VTEwpIHsNCisgICAgcmV0dXJuIEVG SV9BTFJFQURZX1NUQVJURUQ7DQorICB9DQorDQorICBtUmVkZmlzaFJlc291cmNlQ29uZmlnUHJv dG9jb2xIYW5kbGUgPSBJbWFnZUhhbmRsZTsNCisNCisgIG1SZWRmaXNoUmVzb3VyY2VQcml2YXRl ID0gQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9mIChSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklW QVRFKSk7DQorICBDb3B5TWVtICgmbVJlZGZpc2hSZXNvdXJjZVByaXZhdGUtPkNvbmZpZ0hhbmRs ZXIsICZtUmVkZmlzaENvbmZpZ0hhbmRsZXIsIHNpemVvZiAoRURLSUlfUkVERklTSF9DT05GSUdf SEFORExFUl9QUk9UT0NPTCkpOw0KKyAgQ29weU1lbSAoJm1SZWRmaXNoUmVzb3VyY2VQcml2YXRl LT5SZWRmaXNoUmVzb3VyY2VDb25maWcsICZtUmVkZmlzaFJlc291cmNlQ29uZmlnLCBzaXplb2Yg KEVES0lJX1JFREZJU0hfUkVTT1VSQ0VfQ09ORklHX1BST1RPQ09MKSk7DQorDQorICAvLw0KKyAg Ly8gUHVibGlzaCBjb25maWcgaGFuZGxlciBwcm90b2NvbCBhbmQgcmVzb3VyY2UgcHJvdG9jb2wu DQorICAvLw0KKyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFj ZXMgKA0KKyAgICAgICAgICAgICAgICAgICZJbWFnZUhhbmRsZSwNCisgICAgICAgICAgICAgICAg ICAmZ0Vka0lJUmVkZmlzaENvbmZpZ0hhbmRsZXJQcm90b2NvbEd1aWQsDQorICAgICAgICAgICAg ICAgICAgJm1SZWRmaXNoUmVzb3VyY2VQcml2YXRlLT5Db25maWdIYW5kbGVyLA0KKyAgICAgICAg ICAgICAgICAgICZnRWRrSUlSZWRmaXNoUmVzb3VyY2VDb25maWdQcm90b2NvbEd1aWQsDQorICAg ICAgICAgICAgICAgICAgJm1SZWRmaXNoUmVzb3VyY2VQcml2YXRlLT5SZWRmaXNoUmVzb3VyY2VD b25maWcsDQorICAgICAgICAgICAgICAgICAgTlVMTA0KKyAgICAgICAgICAgICAgICAgICk7DQor DQorICBFZmlDcmVhdGVQcm90b2NvbE5vdGlmeUV2ZW50ICgNCisgICAgJmdFZmlSZXN0SnNvblN0 cnVjdHVyZVByb3RvY29sR3VpZCwNCisgICAgVFBMX0NBTExCQUNLLA0KKyAgICBFZmlSZXN0SnNv blN0cnVjdHVyZVByb3RvY29sSXNSZWFkeSwNCisgICAgTlVMTCwNCisgICAgJlJlZ2lzdHJhdGlv bg0KKyAgICApOw0KKw0KKyAgRWZpQ3JlYXRlUHJvdG9jb2xOb3RpZnlFdmVudCAoDQorICAgICZn RWRrSUlSZWRmaXNoRmVhdHVyZVByb3RvY29sR3VpZCwNCisgICAgVFBMX0NBTExCQUNLLA0KKyAg ICBFZGtJSVJlZGZpc2hGZWF0dXJlUHJvdG9jb2xJc1JlYWR5LA0KKyAgICAoVk9JRCAqKW1SZWRm aXNoUmVzb3VyY2VQcml2YXRlLA0KKyAgICAmUmVnaXN0cmF0aW9uDQorICAgICk7DQorDQorICBy ZXR1cm4gU3RhdHVzOw0KK30NCmRpZmYgLS1naXQgYS9SZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hD bGllbnQuZmRmLmluYyBiL1JlZGZpc2hDbGllbnRQa2cvUmVkZmlzaENsaWVudC5mZGYuaW5jDQpp bmRleCA1OWI4YWNiYTEuLjE1NGY2NDFiMiAxMDA2NDQNCi0tLSBhL1JlZGZpc2hDbGllbnRQa2cv UmVkZmlzaENsaWVudC5mZGYuaW5jDQorKysgYi9SZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hDbGll bnQuZmRmLmluYw0KQEAgLTI1LDYgKzI1LDcgQEANCiAgSU5GIFJlZGZpc2hDbGllbnRQa2cvSGlp VG9SZWRmaXNoQmlvc0R4ZS9IaWlUb1JlZGZpc2hCaW9zRHhlLmluZg0KICBJTkYgUmVkZmlzaENs aWVudFBrZy9GZWF0dXJlcy9Cb290T3B0aW9uQ29sbGVjdGlvbi9Cb290T3B0aW9uQ29sbGVjdGlv bkR4ZS5pbmYNCiAgSU5GIFJlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvQm9vdE9wdGlvbi92MV8w XzQvRHhlL0Jvb3RPcHRpb25EeGUuaW5mDQorICBJTkYgUmVkZmlzaENsaWVudFBrZy9GZWF0dXJl cy9TZWN1cmVCb290L3YxXzFfMC9EeGUvU2VjdXJlQm9vdER4ZS5pbmYNCg0KICAhaW5jbHVkZSBS ZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hKc29uU3RydWN0dXJlRHhlLmZkZi5pbmMNCiAgIw0KLS0N CjIuMzQuMQ0KDQoNCg0KUmVnYXJkcywNCk1pa2UNCg0KDQpSZWdhcmRzLA0KTWlrZS4NCg0KDQoK LT0tPS09LT0tPS09LT0tPS09LT0tPS0KR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwg bWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpWaWV3L1JlcGx5IE9ubGluZSAoIzExNzI5NCk6 IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzExNzI5NApNdXRlIFRoaXMg VG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEwNDkyNzg0OC83Njg2MTc2Ckdyb3VwIE93bmVy OiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwpVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdy b3Vwcy5pby9nL2RldmVsL3Vuc3ViIFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0tPS09LT0t PS09LT0tPS0KCg0K --_000_MW4PR12MB7031A683D18933F7F384D50DD93F2MW4PR12MB7031namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 UE1pbmdMaVU7DQoJcGFub3NlLTE6MiAyIDUgMCAwIDAgMCAwIDAgMDt9DQpAZm9udC1mYWNlDQoJ e2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUg NSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6VmVyZGFuYTsNCglw YW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5 OiJIZWx2ZXRpY2EgTmV1ZSI7DQoJcGFub3NlLTE6MCAwIDAgMCAwIDAgMCAwIDAgMDt9DQpAZm9u dC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQFBNaW5nTGlVIjsNCglwYW5vc2UtMToyIDEgNiAxIDAg MSAxIDEgMSAxO30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNv Tm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJZm9udC1zaXplOjExLjBwdDsN Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQphOmxpbmssIHNwYW4uTXNvSHlw ZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVj b3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5nbWFpbC1hcHBsZS1jb252ZXJ0ZWQtc3BhY2UNCgl7 bXNvLXN0eWxlLW5hbWU6Z21haWwtYXBwbGUtY29udmVydGVkLXNwYWNlO30NCnNwYW4uRW1haWxT dHlsZTE5DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQN Cgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDsNCgltc28t bGlnYXR1cmVzOm5vbmU7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGlu Ow0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJ e3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+ DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+ PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4 dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxh eW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5r PSJibHVlIiB2bGluaz0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRp diBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkhpIE1pa2UsPG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgRm9yIHRoZSBjYXNlIHdoZW4mbmJzcDtQcm9wZXJ0 eUNoYW5nZWQgbGVmdCBGQUxTRSwgYWxsb2NhdGVkIHZhbHVlczxzcGFuIGNsYXNzPSJnbWFpbC1h cHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj5Bc2NpaVN0cmluZ1ZhbHVlIGFuZCZu YnNwOzxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0hlbHZl dGljYSBOZXVlJnF1b3Q7LHNlcmlmIj5JbnRlZ2VyVmFsdWUgYXJlIGxlYWtlZC48bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EgTmV1ZSZxdW90OyxzZXJpZiI+PG86 cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhhbmtzIGZv ciBjYXRjaGluZyB0aGlzIG1lbW9yeSBpc3N1ZS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0 OyBNYXRjaFByb3BlcnR5V2l0aEpzb25Db250ZXh0KCkgc2VlbXMgdG8gYmUgYSBoZWF2eSBjYWxs LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBUaGUgb25seSB1c2Vm dWwgdGhpbmcgdGhpcyBsb29wIGRvZXMgaW4gdGhhdCBjYXNlIGlzIHByaW50aW5nIG1pc3NlZCBw cm9wZXJ0eSBpZiBlbmFibGVkLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5ZZXMsIGl0IG1ha2Vz IHNlbnNlIHRvIGJyZWFrIGxvb3Agd2hlbiB3ZSBoYXZlIEVGSV9OT1RfRk9VTkQgY2FzZS4gSSBn dWVzcyBJIGRvbuKAmXQgZG8gdGhpcyBpcyBqdXN0IGJlY2F1c2UgSSBsaWtlIHRvIGtub3cgaG93 IG1hbnkgcHJvcGVydGllcyBhcmUgbWlzc2luZyBvbiBCTUMgYXMgeW91IHN1Z2dlc3RlZC48bzpw PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBhZGRyZXNzZWQgYWJvdmUgY29tbWVudHMgaW4gdmVyc2lv bjIgcGF0aCBzZXQgaGVyZTogPGEgaHJlZj0iaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVs L21lc3NhZ2UvMTE3MjkyIj4NCjxzcGFuIHN0eWxlPSJjb2xvcjp3aW5kb3d0ZXh0O3RleHQtZGVj b3JhdGlvbjpub25lIj5odHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTcy OTI8L3NwYW4+PC9hPiAmbmJzcDtBbmQgd2UgYWxzbyBuZWVkIHNhbWUgY2hhbmdlcyBmb3Igb3Ro ZXIgZmVhdHVyZSBkcml2ZXJzLiBJIHdpbGwgc2VuZCBvdXQgYW5vdGhlciBwYXRjaCBmb3IgdGhl bSBsYXRlci48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlJlZ2FyZHMsPG86cD48L286 cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5OaWNrbGU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2IHN0eWxl PSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBp biAwaW4gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6 c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBNaWtlIE1hc2xlbmtpbiAmbHQ7bWlrZS5tYXNsZW5r aW5AZ21haWwuY29tJmd0OyA8YnI+DQo8Yj5TZW50OjwvYj4gV2VkbmVzZGF5LCBNYXJjaCAyNywg MjAyNCA2OjU3IEFNPGJyPg0KPGI+VG86PC9iPiBOaWNrbGUgV2FuZyAmbHQ7bmlja2xld0Budmlk aWEuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gZGV2ZWxAZWRrMi5ncm91cHMuaW87IEFibmVyIENo YW5nICZsdDthYm5lci5jaGFuZ0BhbWQuY29tJmd0OzsgSWdvciBLdWxjaHl0c2t5eSAmbHQ7aWdv cmtAYW1pLmNvbSZndDs7IE5pY2sgUmFtaXJleiAmbHQ7bnJhbWlyZXpAbnZpZGlhLmNvbSZndDs8 YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1yZWRmaXNoLWNsaWVu dF1bUEFUQ0ggMS8yXSBSZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzOiBzdXBwb3J0IFJlZGZpc2gg U2VjdXJlIEJvb3Q8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFi bGUiIGJvcmRlcj0iMSIgY2VsbHNwYWNpbmc9IjMiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0iYmFj a2dyb3VuZDojRkZFQjlDIj4NCjx0Ym9keT4NCjx0cj4NCjx0ZCBzdHlsZT0icGFkZGluZzouNzVw dCAuNzVwdCAuNzVwdCAuNzVwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1z ZXJpZjtjb2xvcjpibGFjayI+RXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlu a3Mgb3IgYXR0YWNobWVudHM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7 Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj4N Cjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvdGQ+DQo8L3RyPg0KPC90Ym9keT4NCjwvdGFibGU+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkhpIE5pY2tsZSwgPG86cD48L286cD48L3A+ DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rp dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBUdWUsIE1hciAyNiwgMjAyNCBhdCA0 OjU34oCvUE0gTmlja2xlIFdhbmcgJmx0OzxhIGhyZWY9Im1haWx0bzpuaWNrbGV3QG52aWRpYS5j b20iPm5pY2tsZXdAbnZpZGlhLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8L2Rpdj4NCjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdp bi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj5IaSBNaWtlLDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t LWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+ VGhhbmtzIGZvciB5b3VyIHJldmlldy4gSSBhZGRyZXNzZWQgeW91ciByZXZpZXcgY29tbWVudHMg aW4gcHVsbCByZXF1ZXN0Og0KPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9l ZGsyLXJlZGZpc2gtY2xpZW50L3B1bGwvODMiIHRhcmdldD0iX2JsYW5rIj4NCmh0dHBzOi8vZ2l0 aHViLmNvbS90aWFub2NvcmUvZWRrMi1yZWRmaXNoLWNsaWVudC9wdWxsLzgzPC9hPiA8bzpwPjwv bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8iPkkgYW0gd2FpdGluZyBmb3IgQWJuZXLigJlzIHBhdGNoIChQ UiM4NCkgYmVjYXVzZSBJIHBsYW4gdG8gaW5jb3Jwb3JhdGUgQWJuZXLigJlzIGNoYW5nZXMgaW50 byB0aGlzIGRyaXZlci4gSSB3aWxsIHNlbmQgdmVyc2lvbiAyIHBhdGNoIHNlcmllcyBoZXJlIGZv ciByZXZpZXcgbGF0ZXIuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZu YnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+UmVnYXJk cyw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Tmlja2xlPG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48 L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4NCkkgc2VlIG15IGNvbW1lbnRzIHdl cmUgYWRkcmVzc2VkLCBhbmQgSSBhZ3JlZSB3aXRoIHRoYXQuPG86cD48L286cD48L3A+DQo8L2Rp dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkJ1dCBJIHRoaW5rIEkgZm91bmQgYW5v dGhlciBtaW5vciBsZWFrcyBpbiBhIGNvbW1vbiBwYXR0ZXJuOjxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJv dHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNv bG9yOiM1MDAwNTAiPisgJm5ic3A7aWYgKFByb3BlcnR5Q2hlY2tlciAoU2VjdXJlQm9vdENzLSZn dDtTZWN1cmVCb290TW9kZSwgUHJvdmlzaW9uTW9kZSkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwO1N0YXR1cyA9IEdldFNldHVwTW9kZSAoJmFtcDtTZXR1cE1vZGUpOzxicj4NCisgJm5ic3A7 Jm5ic3A7Jm5ic3A7aWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO0FzY2lpU3RyaW5nVmFsdWUgPSBBbGxvY2F0ZVplcm9Qb29sIChT RUNVUkVfQk9PVF9NT0RFX1NUUl9MRU4gKnNpemVvZiAoQ0hBUjgpKTs8YnI+DQorICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmIChBc2NpaVN0cmluZ1ZhbHVlICE9IE5VTEwpIHs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FzY2lpU1ByaW50 IChBc2NpaVN0cmluZ1ZhbHVlLCBTRUNVUkVfQk9PVF9NT0RFX1NUUl9MRU4gKnNpemVvZiAoQ0hB UjgpLCAmcXVvdDslYSZxdW90OywgKFNldHVwTW9kZSA9PSBVU0VSX01PREUgPyBTRUNVUkVfQk9P VF9VU0VSX01PREUgOiBTRUNVUkVfQk9PVF9TRVRVUF9NT0RFKSk7PGJyPg0KKyAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiAoUHJvdmlzaW9uTW9kZSB8fCAoQXNj aWlTdHJDbXAgKFNlY3VyZUJvb3RDcy0mZ3Q7U2VjdXJlQm9vdE1vZGUsIEFzY2lpU3RyaW5nVmFs dWUpICE9IDApKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtTZWN1cmVCb290Q3MtJmd0O1NlY3VyZUJvb3RNb2RlID0gQXNjaWlT dHJpbmdWYWx1ZTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1Byb3BlcnR5Q2hhbmdlZCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IFRS VUU7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJy Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDt9IGVsc2Ugezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcg KChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IGNhbm5vdCByZWFkIHNldHVwIG1vZGU6ICVyXG4mcXVv dDssIF9fZnVuY19fLCBTdGF0dXMpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO308YnI+DQor ICZuYnNwO308bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzUwMDA1MCI+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5G b3IgdGhlIGNhc2Ugd2hlbiZuYnNwO1Byb3BlcnR5Q2hhbmdlZCBsZWZ0IEZBTFNFLCBhbGxvY2F0 ZWQgdmFsdWVzPHNwYW4gY2xhc3M9ImdtYWlsLWFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7 PC9zcGFuPkFzY2lpU3RyaW5nVmFsdWUgYW5kJm5ic3A7PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVvdDssc2VyaWYiPkludGVn ZXJWYWx1ZSBhcmUgbGVha2VkLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVvdDssc2VyaWYiPkFsc28gdGhlcmUgaXMg YSBvbmUgbmV3IHF1ZXN0aW9uIGJlbG93Ojwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K PC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1s ZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4t bGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxkaXYg c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzow aW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvIj48Yj5Gcm9tOjwvYj4gTWlrZSBNYXNsZW5raW4gJmx0OzxhIGhy ZWY9Im1haWx0bzptaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5taWtl Lm1hc2xlbmtpbkBnbWFpbC5jb208L2E+Jmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+IEZyaWRheSwg TWFyY2ggMTUsIDIwMjQgMzozOCBBTTxicj4NCjxiPlRvOjwvYj4gPGEgaHJlZj0ibWFpbHRvOmRl dmVsQGVkazIuZ3JvdXBzLmlvIiB0YXJnZXQ9Il9ibGFuayI+ZGV2ZWxAZWRrMi5ncm91cHMuaW88 L2E+OyBOaWNrbGUgV2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOm5pY2tsZXdAbnZpZGlhLmNvbSIg dGFyZ2V0PSJfYmxhbmsiPm5pY2tsZXdAbnZpZGlhLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+Q2M6PC9i PiBBYm5lciBDaGFuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFibmVyLmNoYW5nQGFtZC5jb20iIHRh cmdldD0iX2JsYW5rIj5hYm5lci5jaGFuZ0BhbWQuY29tPC9hPiZndDs7IElnb3IgS3VsY2h5dHNr eXkgJmx0OzxhIGhyZWY9Im1haWx0bzppZ29ya0BhbWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+aWdv cmtAYW1pLmNvbTwvYT4mZ3Q7OyBOaWNrIFJhbWlyZXogJmx0OzxhIGhyZWY9Im1haWx0bzpucmFt aXJlekBudmlkaWEuY29tIiB0YXJnZXQ9Il9ibGFuayI+bnJhbWlyZXpAbnZpZGlhLmNvbTwvYT4m Z3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItcmVkZmlzaC1j bGllbnRdW1BBVENIIDEvMl0gUmVkZmlzaENsaWVudFBrZy9GZWF0dXJlczogc3VwcG9ydCBSZWRm aXNoIFNlY3VyZSBCb290PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjx0YWJsZSBjbGFzcz0iTXNvTm9y bWFsVGFibGUiIGJvcmRlcj0iMSIgY2VsbHNwYWNpbmc9IjMiIGNlbGxwYWRkaW5nPSIwIiBzdHls ZT0iYmFja2dyb3VuZDojRkZFQjlDIj4NCjx0Ym9keT4NCjx0cj4NCjx0ZCBzdHlsZT0icGFkZGlu ZzouNzVwdCAuNzVwdCAuNzVwdCAuNzVwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90 OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5FeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3Bl bmluZyBsaW5rcyBvciBhdHRhY2htZW50czwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6 YmxhY2siPg0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0K PC90YWJsZT4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8 ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkhpIE5pY2tsZSwNCjxv OnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPnBsZWFzZSBm aW5kIG15IGNvbW1lbnRzIGJlbG93PG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21hcmdpbi1ib3R0b206MTIu MHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9w OjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0 byI+T24gMTQuIDMuIDIwMjQuLCBhdCAxNzo1MywgTmlja2xlIFdhbmcgdmlhDQo8YSBocmVmPSJo dHRwOi8vZ3JvdXBzLmlvLyIgdGFyZ2V0PSJfYmxhbmsiPmdyb3Vwcy5pbzwvYT4gJmx0O25pY2ts ZXc9PGEgaHJlZj0ibWFpbHRvOm52aWRpYS5jb21AZ3JvdXBzLmlvIiB0YXJnZXQ9Il9ibGFuayI+ bnZpZGlhLmNvbUBncm91cHMuaW88L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JbnRyb2R1Y2UgU2VjdXJlQm9vdCBkcml2ZXIg dG8gc3VwcG9ydDxicj4NCi9yZWRmaXNoL3YxL1N5c3RlbXMvU1lTL1NlY3VyZUJvb3QgcmVzb3Vy Y2UuPGJyPg0KPGJyPg0KU2lnbmVkLW9mZi1ieTogTmlja2xlIFdhbmcgJmx0OzxhIGhyZWY9Im1h aWx0bzpuaWNrbGV3QG52aWRpYS5jb20iIHRhcmdldD0iX2JsYW5rIj5uaWNrbGV3QG52aWRpYS5j b208L2E+Jmd0Ozxicj4NCkNjOiBBYm5lciBDaGFuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFibmVy LmNoYW5nQGFtZC5jb20iIHRhcmdldD0iX2JsYW5rIj5hYm5lci5jaGFuZ0BhbWQuY29tPC9hPiZn dDs8YnI+DQpDYzogSWdvciBLdWxjaHl0c2t5eSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmlnb3JrQGFt aS5jb20iIHRhcmdldD0iX2JsYW5rIj5pZ29ya0BhbWkuY29tPC9hPiZndDs8YnI+DQpDYzogTmlj ayBSYW1pcmV6ICZsdDs8YSBocmVmPSJtYWlsdG86bnJhbWlyZXpAbnZpZGlhLmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPm5yYW1pcmV6QG52aWRpYS5jb208L2E+Jmd0Ozxicj4NCi0tLTxicj4NCi4uLi9S ZWRmaXNoQ2xpZW50Q29tcG9uZW50cy5kc2MuaW5jICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wgJm5ic3A7Jm5ic3A7MiArPGJyPg0K UmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50TGlicy5kc2MuaW5jICZuYnNwOyZuYnNwOyZu YnNwO3wgJm5ic3A7Jm5ic3A7NCArPGJyPg0KLi4uL1NlY3VyZUJvb3QvdjFfMV8wL0R4ZS9TZWN1 cmVCb290RHhlLmluZiAmbmJzcDsmbmJzcDt8ICZuYnNwOzYwICsrPGJyPg0KLi4uL3YxXzFfMC9D b21tb24vU2VjdXJlQm9vdENvbW1vbi5oICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wgJm5ic3A7NDAgKzxicj4NCi4uLi92MV8xXzAvQ29tbW9u L1NlY3VyZUJvb3RDb21tb24uYyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDt8IDc1NiArKysrKysrKysrKysrKysrPGJyPg0KLi4uL1NlY3VyZUJv b3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCA4 MDggKysrKysrKysrKysrKysrKysrPGJyPg0KUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50 LmZkZi5pbmMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAmbmJz cDsmbmJzcDsxICs8YnI+DQo3IGZpbGVzIGNoYW5nZWQsIDE2NzEgaW5zZXJ0aW9ucygrKTxicj4N CmNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3Qv djFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmluZjxicj4NCmNyZWF0ZSBtb2RlIDEwMDY0NCBSZWRm aXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0NvbW1vbi9TZWN1cmVCb290 Q29tbW9uLmg8YnI+DQpjcmVhdGUgbW9kZSAxMDA2NDQgUmVkZmlzaENsaWVudFBrZy9GZWF0dXJl cy9TZWN1cmVCb290L3YxXzFfMC9Db21tb24vU2VjdXJlQm9vdENvbW1vbi5jPGJyPg0KY3JlYXRl IG1vZGUgMTAwNjQ0IFJlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9vdC92MV8xXzAv RHhlL1NlY3VyZUJvb3REeGUuYzxicj4NCjxicj4NCmRpZmYgLS1naXQgYS9SZWRmaXNoQ2xpZW50 UGtnL1JlZGZpc2hDbGllbnRDb21wb25lbnRzLmRzYy5pbmMgYi9SZWRmaXNoQ2xpZW50UGtnL1Jl ZGZpc2hDbGllbnRDb21wb25lbnRzLmRzYy5pbmM8YnI+DQppbmRleCBhZTJhNGIwMjUuLjQyZmMw YzI5OSAxMDA2NDQ8YnI+DQotLS0gYS9SZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hDbGllbnRDb21w b25lbnRzLmRzYy5pbmM8YnI+DQorKysgYi9SZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hDbGllbnRD b21wb25lbnRzLmRzYy5pbmM8YnI+DQpAQCAtMzQsNiArMzQsNyBAQDxicj4NCiZuYnNwOyZuYnNw O1JlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvQmlvcy92MV8wXzkvRHhlL0Jpb3NEeGUuaW5mPGJy Pg0KJm5ic3A7Jm5ic3A7UmVkZmlzaENsaWVudFBrZy9GZWF0dXJlcy9Cb290T3B0aW9uQ29sbGVj dGlvbi9Cb290T3B0aW9uQ29sbGVjdGlvbkR4ZS5pbmY8YnI+DQombmJzcDsmbmJzcDtSZWRmaXNo Q2xpZW50UGtnL0ZlYXR1cmVzL0Jvb3RPcHRpb24vdjFfMF80L0R4ZS9Cb290T3B0aW9uRHhlLmlu Zjxicj4NCisgJm5ic3A7UmVkZmlzaENsaWVudFBrZy9GZWF0dXJlcy9TZWN1cmVCb290L3YxXzFf MC9EeGUvU2VjdXJlQm9vdER4ZS5pbmY8YnI+DQo8YnI+DQombmJzcDsmbmJzcDshaW5jbHVkZSBS ZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hKc29uU3RydWN0dXJlRHhlLmRzYy5pbmM8YnI+DQo8YnI+ DQpAQCAtNDcsMyArNDgsNCBAQDxicj4NCiZuYnNwOyZuYnNwO1JlZGZpc2hDbGllbnRQa2cvQ29u dmVydGVyL0Jpb3MvdjFfMF85L1JlZGZpc2hCaW9zX1YxXzBfOV9EeGUuaW5mPGJyPg0KJm5ic3A7 Jm5ic3A7UmVkZmlzaENsaWVudFBrZy9Db252ZXJ0ZXIvQm9vdE9wdGlvbkNvbGxlY3Rpb24vUmVk ZmlzaEJvb3RPcHRpb25Db2xsZWN0aW9uX0R4ZS5pbmY8YnI+DQombmJzcDsmbmJzcDtSZWRmaXNo Q2xpZW50UGtnL0NvbnZlcnRlci9Cb290T3B0aW9uL3YxXzBfNC9SZWRmaXNoQm9vdE9wdGlvbl9W MV8wXzRfRHhlLmluZjxicj4NCisgJm5ic3A7UmVkZmlzaENsaWVudFBrZy9Db252ZXJ0ZXIvU2Vj dXJlQm9vdC92MV8xXzAvUmVkZmlzaFNlY3VyZUJvb3RfVjFfMV8wX0R4ZS5pbmY8YnI+DQpkaWZm IC0tZ2l0IGEvUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50TGlicy5kc2MuaW5jIGIvUmVk ZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50TGlicy5kc2MuaW5jPGJyPg0KaW5kZXggNjU5OTky NmFiLi45MTI2NDY1ZGYgMTAwNjQ0PGJyPg0KLS0tIGEvUmVkZmlzaENsaWVudFBrZy9SZWRmaXNo Q2xpZW50TGlicy5kc2MuaW5jPGJyPg0KKysrIGIvUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xp ZW50TGlicy5kc2MuaW5jPGJyPg0KQEAgLTI1LDYgKzI1LDggQEA8YnI+DQombmJzcDsmbmJzcDtC aW9zVjFfMF85TGlifFJlZGZpc2hDbGllbnRQa2cvQ29udmVydGVyTGliL2VkazJsaWJyYXJ5L0Jp b3MvdjFfMF85L0xpYi5pbmY8YnI+DQombmJzcDsmbmJzcDtCb290T3B0aW9uQ29sbGVjdGlvbkxp YnxSZWRmaXNoQ2xpZW50UGtnL0NvbnZlcnRlckxpYi9lZGsybGlicmFyeS9Cb290T3B0aW9uQ29s bGVjdGlvbi9MaWIuaW5mPGJyPg0KJm5ic3A7Jm5ic3A7Qm9vdE9wdGlvblYxXzBfNExpYnxSZWRm aXNoQ2xpZW50UGtnL0NvbnZlcnRlckxpYi9lZGsybGlicmFyeS9Cb290T3B0aW9uL3YxXzBfNC9M aWIuaW5mPGJyPg0KKyAmbmJzcDtTZWN1cmVCb290VjFfMV8wTGlifFJlZGZpc2hDbGllbnRQa2cv Q29udmVydGVyTGliL2VkazJsaWJyYXJ5L1NlY3VyZUJvb3QvdjFfMV8wL0xpYi5pbmY8YnI+DQor PGJyPg0KJm5ic3A7Jm5ic3A7Izxicj4NCiZuYnNwOyZuYnNwOyMgQWJvdmUgbW9kdWxlcyBzaG91 bGQgYmUgcHVsbGVkIGluIGJ5IGJ1aWxkIHRvb2wuPGJyPg0KJm5ic3A7Jm5ic3A7Izxicj4NCkBA IC00MiwzICs0NCw1IEBAPGJyPg0KJm5ic3A7Jm5ic3A7UmVkZmlzaEFkZGVuZHVtTGlifFJlZGZp c2hDbGllbnRQa2cvTGlicmFyeS9SZWRmaXNoQWRkZW5kdW1MaWIvUmVkZmlzaEFkZGVuZHVtTGli LmluZjxicj4NCiZuYnNwOyZuYnNwO1JlZGZpc2hEZWJ1Z0xpYnxSZWRmaXNoUGtnL0xpYnJhcnkv UmVkZmlzaERlYnVnTGliL1JlZGZpc2hEZWJ1Z0xpYi5pbmY8YnI+DQombmJzcDsmbmJzcDtSZWRm aXNoSHR0cExpYnxSZWRmaXNoUGtnL0xpYnJhcnkvUmVkZmlzaEh0dHBMaWIvUmVkZmlzaEh0dHBM aWIuaW5mPGJyPg0KKyAmbmJzcDtTZWN1cmVCb290VmFyaWFibGVMaWJ8U2VjdXJpdHlQa2cvTGli cmFyeS9TZWN1cmVCb290VmFyaWFibGVMaWIvU2VjdXJlQm9vdFZhcmlhYmxlTGliLmluZjxicj4N CisgJm5ic3A7UGxhdGZvcm1QS1Byb3RlY3Rpb25MaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9QbGF0 Zm9ybVBLUHJvdGVjdGlvbkxpYlZhclBvbGljeS9QbGF0Zm9ybVBLUHJvdGVjdGlvbkxpYlZhclBv bGljeS5pbmY8YnI+DQpkaWZmIC0tZ2l0IGEvUmVkZmlzaENsaWVudFBrZy9GZWF0dXJlcy9TZWN1 cmVCb290L3YxXzFfMC9EeGUvU2VjdXJlQm9vdER4ZS5pbmYgYi9SZWRmaXNoQ2xpZW50UGtnL0Zl YXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmluZjxicj4NCm5ldyBm aWxlIG1vZGUgMTAwNjQ0PGJyPg0KaW5kZXggMDAwMDAwMDAwLi4xYWQ4YzYyM2Y8YnI+DQotLS0g L2Rldi9udWxsPGJyPg0KKysrIGIvUmVkZmlzaENsaWVudFBrZy9GZWF0dXJlcy9TZWN1cmVCb290 L3YxXzFfMC9EeGUvU2VjdXJlQm9vdER4ZS5pbmY8YnI+DQpAQCAtMCwwICsxLDYwIEBAPGJyPg0K KyMjIEBmaWxlPGJyPg0KKyM8YnI+DQorIyAmbmJzcDsoQykgQ29weXJpZ2h0IDIwMjAtMjAyMiBI ZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUCZsdDtCUiZndDs8YnI+DQor IyAmbmJzcDtDb3B5cmlnaHQgKGMpIDIwMjItMjAyNCwgTlZJRElBIENPUlBPUkFUSU9OICZhbXA7 IEFGRklMSUFURVMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPg0KKyM8YnI+DQorIyAmbmJzcDtT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudDxicj4NCisjPGJyPg0K KyMjPGJyPg0KKzxicj4NCis8YnI+DQorW0RlZmluZXNdPGJyPg0KKyAmbmJzcDtJTkZfVkVSU0lP TiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IDB4MDAwMTAwMDU8YnI+DQorICZuYnNwO0JB U0VfTkFNRSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IFNlY3VyZUJv b3REeGU8YnI+DQorICZuYnNwO0ZJTEVfR1VJRCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs9IDVFNDAyNUY4LURBNDItNDY4QS04NTNFLTZBMTA5MUQzNTA1Mjxicj4NCisg Jm5ic3A7TU9EVUxFX1RZUEUgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBEWEVfRFJJVkVS PGJyPg0KKyAmbmJzcDtWRVJTSU9OX1NUUklORyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IDEuMDxicj4NCisgJm5ic3A7 RU5UUllfUE9JTlQgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBSZWRmaXNoUmVzb3VyY2VF bnRyeVBvaW50PGJyPg0KKyAmbmJzcDtVTkxPQURfSU1BR0UgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 PSBSZWRmaXNoUmVzb3VyY2VVbmxvYWQ8YnI+DQorPGJyPg0KK1tQYWNrYWdlc108YnI+DQorICZu YnNwO01kZVBrZy9NZGVQa2cuZGVjPGJyPg0KKyAmbmJzcDtNZGVNb2R1bGVQa2cvTWRlTW9kdWxl UGtnLmRlYzxicj4NCisgJm5ic3A7U2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cuZGVjPGJyPg0KKyAm bmJzcDtSZWRmaXNoUGtnL1JlZGZpc2hQa2cuZGVjPGJyPg0KKyAmbmJzcDtSZWRmaXNoQ2xpZW50 UGtnL1JlZGZpc2hDbGllbnRQa2cuZGVjPGJyPg0KKzxicj4NCitbU291cmNlc108YnI+DQorICZu YnNwOy4uL0NvbW1vbi9TZWN1cmVCb290Q29tbW9uLmg8YnI+DQorICZuYnNwOy4uL0NvbW1vbi9T ZWN1cmVCb290Q29tbW9uLmM8YnI+DQorICZuYnNwO1NlY3VyZUJvb3REeGUuYzxicj4NCis8YnI+ DQorW0xpYnJhcnlDbGFzc2VzXTxicj4NCisgJm5ic3A7QmFzZU1lbW9yeUxpYjxicj4NCisgJm5i c3A7RGVidWdMaWI8YnI+DQorICZuYnNwO0Vka0lJUmVkZmlzaFJlc291cmNlQ29uZmlnTGliPGJy Pg0KKyAmbmJzcDtSZWRmaXNoRmVhdHVyZVV0aWxpdHlMaWI8YnI+DQorICZuYnNwO1JlZGZpc2hW ZXJzaW9uTGliPGJyPg0KKyAmbmJzcDtSZWRmaXNoUmVzb3VyY2VJZGVudGlmeUxpYjxicj4NCisg Jm5ic3A7U2VjdXJlQm9vdFZhcmlhYmxlTGliPGJyPg0KKyAmbmJzcDtVZWZpTGliPGJyPg0KKyAm bmJzcDtVZWZpRHJpdmVyRW50cnlQb2ludDxicj4NCisgJm5ic3A7UmVkZmlzaEFkZGVuZHVtTGli PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8 L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv ZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl ci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJn aW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxk aXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGlu ZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4N CjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQi Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10 b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPisgJm5ic3A7VWVmaVJ1bnRp bWVTZXJ2aWNlc1RhYmxlTGliPGJyPg0KKzxicj4NCitbUHJvdG9jb2xzXTxicj4NCisgJm5ic3A7 Z0Vka0lJUmVkZmlzaENvbmZpZ0hhbmRsZXJQcm90b2NvbEd1aWQgJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IyMgUFJPRFVDRUQ8YnI+DQorICZu YnNwO2dFZmlSZXN0SnNvblN0cnVjdHVyZVByb3RvY29sR3VpZCAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsjIyBDT05TVU1FRDxicj4NCisgJm5ic3A7Z0Vka0lJUmVkZmlzaFJlc291cmNlQ29u ZmlnUHJvdG9jb2xHdWlkICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyMjIFBST0RVQ0VEPGJyPg0KKyAmbmJzcDtnRWRrSUlSZWRmaXNoRmVhdHVyZVByb3Rv Y29sR3VpZCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsjIyBDT05TVU1FRDxicj4N Cis8YnI+DQorW0d1aWRzXTxicj4NCisgJm5ic3A7Z0VmaVNlY3VyZUJvb3RFbmFibGVEaXNhYmxl R3VpZCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsjIyBDT05TVU1FRDxi cj4NCis8YnI+DQorW1BjZF08YnI+DQorICZuYnNwO2dFZmlSZWRmaXNoQ2xpZW50UGtnVG9rZW5T cGFjZUd1aWQuUGNkTWF4UmVkZmlzaFNjaGVtYVN0cmluZ1NpemU8YnI+DQorICZuYnNwO2dFZmlS ZWRmaXNoQ2xpZW50UGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4UmVkZmlzaFNjaGVtYVZlcnNpb25T aXplPGJyPg0KKyAmbmJzcDtnRWZpUmVkZmlzaENsaWVudFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJl ZGZpc2hTeXN0ZW1SZWJvb3RSZXF1aXJlZDxicj4NCis8YnI+DQorW0RlcGV4XTxicj4NCisgJm5i c3A7VFJVRTxicj4NCmRpZmYgLS1naXQgYS9SZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1NlY3Vy ZUJvb3QvdjFfMV8wL0NvbW1vbi9TZWN1cmVCb290Q29tbW9uLmggYi9SZWRmaXNoQ2xpZW50UGtn L0ZlYXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0NvbW1vbi9TZWN1cmVCb290Q29tbW9uLmg8YnI+ DQpuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4NCmluZGV4IDAwMDAwMDAwMC4uMGQxODI0MTYwPGJy Pg0KLS0tIC9kZXYvbnVsbDxicj4NCisrKyBiL1JlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2Vj dXJlQm9vdC92MV8xXzAvQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uaDxicj4NCkBAIC0wLDAgKzEs NDAgQEA8YnI+DQorLyoqIEBmaWxlPGJyPg0KKzxicj4NCisgJm5ic3A7UmVkZmlzaCBmZWF0dXJl IGRyaXZlciBpbXBsZW1lbnRhdGlvbiAtIGludGVybmFsIGhlYWRlciBmaWxlPGJyPg0KKyAmbmJz cDsoQykgQ29weXJpZ2h0IDIwMjAtMjAyMiBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZl bG9wbWVudCBMUCZsdDtCUiZndDs8YnI+DQorICZuYnNwO0NvcHlyaWdodCAoYykgMjAyMi0yMDI0 LCBOVklESUEgQ09SUE9SQVRJT04gJmFtcDsgQUZGSUxJQVRFUy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48YnI+DQorPGJyPg0KKyAmbmJzcDtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudDxicj4NCis8YnI+DQorKiovPGJyPg0KKzxicj4NCisjaWZuZGVmIEVGSV9SRURG SVNIX1NFQ1VSRUJPT1RfQ09NTU9OX0hfPGJyPg0KKyNkZWZpbmUgRUZJX1JFREZJU0hfU0VDVVJF Qk9PVF9DT01NT05fSF88YnI+DQorPGJyPg0KKyNpbmNsdWRlICZsdDtHdWlkL0ltYWdlQXV0aGVu dGljYXRpb24uaCZndDs8YnI+DQorI2luY2x1ZGUgJmx0O0d1aWQvR2xvYmFsVmFyaWFibGUuaCZn dDs8YnI+DQorI2luY2x1ZGUgJmx0O0d1aWQvQXV0aGVudGljYXRlZFZhcmlhYmxlRm9ybWF0Lmgm Z3Q7PGJyPg0KKyNpbmNsdWRlICZsdDtSZWRmaXNoSnNvblN0cnVjdHVyZS9TZWN1cmVCb290L3Yx XzFfMC9FZmlTZWN1cmVCb290VjFfMV8wLmgmZ3Q7PGJyPg0KKyNpbmNsdWRlICZsdDtSZWRmaXNo UmVzb3VyY2VDb21tb24uaCZndDs8YnI+DQorI2luY2x1ZGUgJmx0O1VlZmlTZWN1cmVCb290Lmgm Z3Q7PGJyPg0KKyNpbmNsdWRlICZsdDtMaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxp Yi5oJmd0Ozxicj4NCisjaW5jbHVkZSAmbHQ7TGlicmFyeS9TZWN1cmVCb290VmFyaWFibGVMaWIu aCZndDs8YnI+DQorPGJyPg0KKy8vPGJyPg0KKy8vIFNjaGVtYSBpbmZvcm1hdGlvbi48YnI+DQor Ly88YnI+DQorI2RlZmluZSBSRURGSVNIX01BTkFHRURfVVJJICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO0wmcXVvdDtTeXN0ZW1zL3t9L1NlY3VyZUJvb3QmcXVvdDs8 YnI+DQorI2RlZmluZSBSRURGSVNIX0RVTU1ZX0NPTkZJR19MQU5HICZuYnNwO0wmcXVvdDtTeXN0 ZW1zL3sxfS9TZWN1cmVCb290JnF1b3Q7PGJyPg0KKyNkZWZpbmUgTUFYX1VSSV9MRU5HVEggJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7MjU2PGJyPg0KKyNkZWZpbmUgUkVTT1VSQ0VfU0NIRU1BICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZx dW90O1NlY3VyZUJvb3QmcXVvdDs8YnI+DQorI2RlZmluZSBSRVNPVVJDRV9TQ0hFTUFfTUFKT1Ig Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JnF1b3Q7MSZxdW90Ozxicj4NCisjZGVmaW5l IFJFU09VUkNFX1NDSEVNQV9NSU5PUiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmcXVv dDsxJnF1b3Q7PGJyPg0KKyNkZWZpbmUgUkVTT1VSQ0VfU0NIRU1BX0VSUkFUQSAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmcXVvdDswJnF1b3Q7PGJyPg0KKyNkZWZpbmUgUkVTT1VSQ0VfU0NIRU1B X1ZFUlNJT04gJm5ic3A7Jm5ic3A7Jm5ic3A7JnF1b3Q7djFfMV8wJnF1b3Q7PGJyPg0KKyNkZWZp bmUgU0VDVVJFX0JPT1RfU0VUVVBfTU9ERSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmcXVvdDtT ZXR1cE1vZGUmcXVvdDs8YnI+DQorI2RlZmluZSBTRUNVUkVfQk9PVF9VU0VSX01PREUgJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JnF1b3Q7VXNlck1vZGUmcXVvdDs8YnI+DQorI2RlZmlu ZSBTRUNVUkVfQk9PVF9FTkFCTEVEICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZxdW90O0VuYWJsZWQmcXVvdDs8YnI+DQorI2RlZmluZSBTRUNVUkVfQk9PVF9ESVNB QkxFRCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmcXVvdDtEaXNhYmxlZCZx dW90Ozxicj4NCisjZGVmaW5lIFNFQ1VSRV9CT09UX01PREVfU1RSX0xFTiAmbmJzcDsmbmJzcDsx Njxicj4NCis8YnI+DQorI2VuZGlmPGJyPg0KZGlmZiAtLWdpdCBhL1JlZGZpc2hDbGllbnRQa2cv RmVhdHVyZXMvU2VjdXJlQm9vdC92MV8xXzAvQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uYyBiL1Jl ZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9vdC92MV8xXzAvQ29tbW9uL1NlY3VyZUJv b3RDb21tb24uYzxicj4NCm5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPg0KaW5kZXggMDAwMDAwMDAw Li41NmE0NWVlNzI8YnI+DQotLS0gL2Rldi9udWxsPGJyPg0KKysrIGIvUmVkZmlzaENsaWVudFBr Zy9GZWF0dXJlcy9TZWN1cmVCb290L3YxXzFfMC9Db21tb24vU2VjdXJlQm9vdENvbW1vbi5jPGJy Pg0KQEAgLTAsMCArMSw3NTYgQEA8YnI+DQorLyoqIEBmaWxlPGJyPg0KKyAmbmJzcDtSZWRmaXNo IGZlYXR1cmUgZHJpdmVyIGltcGxlbWVudGF0aW9uIC0gY29tbW9uIGZ1bmN0aW9uczxicj4NCis8 YnI+DQorICZuYnNwOyhDKSBDb3B5cmlnaHQgMjAyMC0yMDIyIEhld2xldHQgUGFja2FyZCBFbnRl cnByaXNlIERldmVsb3BtZW50IExQJmx0O0JSJmd0Ozxicj4NCisgJm5ic3A7Q29weXJpZ2h0IChj KSAyMDIzLTIwMjQsIE5WSURJQSBDT1JQT1JBVElPTiAmYW1wOyBBRkZJTElBVEVTLiBBbGwgcmln aHRzIHJlc2VydmVkLjxicj4NCis8YnI+DQorICZuYnNwO1NQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50PGJyPg0KKzxicj4NCisqKi88YnI+DQorPGJyPg0KKyNpbmNs dWRlICZxdW90O1NlY3VyZUJvb3RDb21tb24uaCZxdW90Ozxicj4NCis8YnI+DQorQ0hBUjggJm5i c3A7U2VjdXJlQm9vdEVtcHR5SnNvbltdID0gJnF1b3Q7e1wmcXVvdDtAPGEgaHJlZj0iaHR0cDov L29kYXRhLmlkLyIgdGFyZ2V0PSJfYmxhbmsiPm9kYXRhLmlkPC9hPlwmcXVvdDs6IFwmcXVvdDtc JnF1b3Q7LCBcJnF1b3Q7QG9kYXRhLnR5cGVcJnF1b3Q7OiBcJnF1b3Q7I1NlY3VyZUJvb3QudjFf MV8wLlNlY3VyZUJvb3RcJnF1b3Q7LCBcJnF1b3Q7SWRcJnF1b3Q7OiBcJnF1b3Q7XCZxdW90Oywg XCZxdW90O05hbWVcJnF1b3Q7OiBcJnF1b3Q7XCZxdW90OywgXCZxdW90O0F0dHJpYnV0ZXNcJnF1 b3Q7Ont9fSZxdW90Ozs8YnI+DQorPGJyPg0KK1JFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZB VEUgJm5ic3A7Km1SZWRmaXNoUmVzb3VyY2VQcml2YXRlICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOz0gTlVMTDs8YnI+DQorRUZJX0hBTkRMRSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDttUmVkZmlzaFJl c291cmNlQ29uZmlnUHJvdG9jb2xIYW5kbGUgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBOVUxMOzxicj4NCitDSEFS MTYgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Km1TZWN1cmVCb290 U3VwcG9ydGVkQXR0cmlidXRlc1tTRUNVUkVfQk9PVF9NT0RFX1NUUl9MRU5dID0gezxicj4NCisg Jm5ic3A7TCZxdW90O1NlY3VyZUJvb3RDdXJyZW50Qm9vdCZxdW90Oyw8YnI+DQorICZuYnNwO0wm cXVvdDtTZWN1cmVCb290RW5hYmxlJnF1b3Q7LDxicj4NCisgJm5ic3A7TCZxdW90O1NlY3VyZUJv b3RNb2RlJnF1b3Q7PGJyPg0KK307PGJyPg0KKzxicj4NCisvKio8YnI+DQorICZuYnNwO1JlYWQg RUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FIHZhcmlhYmxlIGFuZCByZXR1cm4gaXRzIHZhbHVl IHRvIGNhbGxlci48YnI+DQorPGJyPg0KKyAmbmJzcDtAcmV0dmFsIEJPT0xFQU4gJm5ic3A7Jm5i c3A7Jm5ic3A7VFJVRSB3aGVuIEVGSV9TRUNVUkVfQk9PVF9FTkFCTEVfTkFNRSB2YWx1ZSBpcyBT RUNVUkVfQk9PVF9FTkFCTEU8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0ZBTFNFIHdoZW4gRUZJX1NFQ1VSRV9CT09U X0VOQUJMRV9OQU1FIHZhbHVlIGlzIFNFQ1VSRV9CT09UX0RJU0FCTEU8YnI+DQorKiovPGJyPg0K K0JPT0xFQU48YnI+DQorUmVkZmlzaFJlYWRTZWN1cmVCb290RW5hYmxlICg8YnI+DQorICZuYnNw O1ZPSUQ8YnI+DQorICZuYnNwOyk8YnI+DQorezxicj4NCisgJm5ic3A7VUlOVDggJm5ic3A7Jm5i c3A7Jm5ic3A7KkJ1ZmZlcjs8YnI+DQorICZuYnNwO0JPT0xFQU4gJm5ic3A7U2VjdXJlQm9vdEVu YWJsZVZhbHVlOzxicj4NCis8YnI+DQorICZuYnNwO0J1ZmZlciAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDs9IE5VTEw7PGJyPg0KKyAmbmJzcDtTZWN1cmVCb290RW5hYmxlVmFsdWUg PSBGQUxTRTs8YnI+DQorPGJyPg0KKyAmbmJzcDtHZXRWYXJpYWJsZTIgKDxicj4NCisgJm5ic3A7 Jm5ic3A7Jm5ic3A7RUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FLDxicj4NCisgJm5ic3A7Jm5i c3A7Jm5ic3A7JmFtcDtnRWZpU2VjdXJlQm9vdEVuYWJsZURpc2FibGVHdWlkLDxicj4NCisgJm5i c3A7Jm5ic3A7Jm5ic3A7KFZPSUQgKiopJmFtcDtCdWZmZXIsPGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDtOVUxMPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDspOzxicj4NCis8YnI+DQorICZuYnNw O2lmIChCdWZmZXIgIT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKCpCdWZm ZXIgPT0gU0VDVVJFX0JPT1RfRU5BQkxFKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtTZWN1cmVCb290RW5hYmxlVmFsdWUgPSBUUlVFOzxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChCdWZmZXIp Ozxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBTZWN1cmVCb290RW5h YmxlVmFsdWU7PGJyPg0KK308YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7V3JpdGUgRUZJ X1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FIHZhcmlhYmxlIHdpdGggZ2l2ZW4gdmFsdWUuPGJyPg0K Kzxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtTZWN1cmVCb290RW5hYmxlVmFs dWUgJm5ic3A7Jm5ic3A7Jm5ic3A7VmFsdWUgdG8gd3JpdGUuIFRSVUUgaXMgU0VDVVJFX0JPT1Rf RU5BQkxFLjxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RkFMU0UgaXMgU0VDVVJFX0JPT1RfRElTQUJMRS48YnI+DQor PGJyPg0KKyAmbmJzcDtAcmV0dmFsIEVGSV9TVUNDRVNTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1dy aXRlIHZhbHVlIHN1Y2Nlc3NmdWxseS48YnI+DQorICZuYnNwO0ByZXR2YWwgT3RoZXJzICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NvbWUgZXJyb3Ig aGFwcGVuZWQuPGJyPg0KKyoqLzxicj4NCitFRklfU1RBVFVTPGJyPg0KK1JlZGZpc2hXcml0ZVNl Y3VyZUJvb3RFbmFibGUgKDxicj4NCisgJm5ic3A7Qk9PTEVBTiAmbmJzcDtTZWN1cmVCb290RW5h YmxlVmFsdWU8YnI+DQorICZuYnNwOyk8YnI+DQorezxicj4NCisgJm5ic3A7RUZJX1NUQVRVUyAm bmJzcDtTdGF0dXM7PGJyPg0KKyAmbmJzcDtVSU5UOCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtWYXJWYWx1ZTs8YnI+DQorPGJyPg0KKyAmbmJzcDtWYXJWYWx1ZSA9IChTZWN1 cmVCb290RW5hYmxlVmFsdWUgPyBTRUNVUkVfQk9PVF9FTkFCTEUgOiBTRUNVUkVfQk9PVF9ESVNB QkxFKTs8YnI+DQorICZuYnNwO1N0YXR1cyAmbmJzcDsmbmJzcDs9IGdSVC0mZ3Q7U2V0VmFyaWFi bGUgKDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7RUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FLDxicj4NCisgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDtnRWZp U2VjdXJlQm9vdEVuYWJsZURpc2FibGVHdWlkLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RUZJX1ZBUklBQkxFX05PTl9WT0xB VElMRSB8IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MsPGJyPg0KKyAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzaXplb2YgKFZh clZhbHVlKSw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZhbXA7VmFyVmFsdWU8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyk7PGJyPg0KKzxicj4NCisgJm5i c3A7cmV0dXJuIFN0YXR1czs8YnI+DQorfTxicj4NCis8YnI+DQorLyoqPGJyPg0KKyAmbmJzcDtD b25zdW1lIFJlZGZpc2ggcmVzb3VyY2UgaW4gZ2l2ZW4gSnNvbiBkYXRhLjxicj4NCis8YnI+DQor ICZuYnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VGhpcyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtQb2ludGVyIHRvIFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgaW5z dGFuY2UuPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO0pzb24gJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIEpTT04gdG8gY29uc3VtZS48YnI+DQorICZuYnNw O0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7SGVhZGVyRXRhZyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgRXRhZyBzdHJpbmcgcmV0dXJuZWQg aW4gSFRUUCBoZWFkZXIuPGJyPg0KKzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtDb25zdW1lIFJlZGZpc2ggYXR0cmlidXRlIHN1Y2Nlc3NmdWxs eS48YnI+DQorICZuYnNwO0ByZXR2YWwgT3RoZXJzICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NvbWUgZXJyb3IgaGFwcGVuZWQuPGJyPg0KKzxicj4N CisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4NCitSZWRmaXNoQ29uc3VtZVJlc291cmNlQ29tbW9u ICg8YnI+DQorICZuYnNwO0lOICZuYnNwO1JFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUg Jm5ic3A7KlByaXZhdGUsPGJyPg0KKyAmbmJzcDtJTiAmbmJzcDtDSEFSOCAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqSnNvbiw8YnI+DQorICZuYnNwO0lO ICZuYnNwO0NIQVI4ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOypIZWFkZXJFdGFnIE9QVElPTkFMPGJyPg0KKyAmbmJzcDspPGJyPg0KK3s8YnI+DQorICZu YnNwO0VGSV9TVEFUVVMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3RhdHVzOzxicj4NCisgJm5i c3A7RUZJX1JFREZJU0hfU0VDVVJFQk9PVF9WMV8xXzAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 KlNlY3VyZUJvb3Q7PGJyPg0KKyAmbmJzcDtFRklfUkVERklTSF9TRUNVUkVCT09UX1YxXzFfMF9D UyAmbmJzcDsqU2VjdXJlQm9vdENzOzxicj4NCisgJm5ic3A7Qk9PTEVBTiAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZWN1cmVCb290RW5hYmxlRGlzYWJsZTs8YnI+ DQorPGJyPg0KKyAmbmJzcDtpZiAoKFByaXZhdGUgPT0gTlVMTCkgfHwgSVNfRU1QVFlfU1RSSU5H IChKc29uKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIEVGSV9JTlZBTElEX1BB UkFNRVRFUjs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtTZWN1cmVCb290ICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOz0gTlVMTDs8YnI+DQorICZuYnNwO1NlY3VyZUJvb3RDcyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDs9IE5VTEw7PGJyPg0KKyAmbmJzcDtTZWN1cmVCb290RW5hYmxlRGlzYWJsZSA9IFJlZGZp c2hSZWFkU2VjdXJlQm9vdEVuYWJsZSAoKTs8YnI+DQorPGJyPg0KKyAmbmJzcDtTdGF0dXMgPSBQ cml2YXRlLSZndDtKc29uU3RydWN0UHJvdG9jb2wtJmd0O1RvU3RydWN0dXJlICg8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O0pzb25TdHJ1Y3RQcm90b2NvbCw8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO05VTEwsPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtKc29uLDxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURFUiAqKikm YW1wO1NlY3VyZUJvb3Q8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyk7PGJyPg0KKyAmbmJzcDtp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAo KERFQlVHX0VSUk9SLCAmcXVvdDslYTogVG9TdHJ1Y3R1cmUoKSBmYWlsZWQ6ICVyXG4mcXVvdDss IF9fZnVuY19fLCBTdGF0dXMpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBTdGF0 dXM7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7U2VjdXJlQm9vdENzID0gU2Vj dXJlQm9vdC0mZ3Q7U2VjdXJlQm9vdDs8YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5i c3A7Ly8gQ2hlY2sgRVRBRyB0byBzZWUgaWYgd2UgbmVlZCB0byBjb25zdW1lIGl0PGJyPg0KKyAm bmJzcDsvLzxicj4NCisgJm5ic3A7aWYgKENoZWNrRXRhZyAoUHJpdmF0ZS0mZ3Q7VXJpLCBIZWFk ZXJFdGFnLCBTZWN1cmVCb290Q3MtJmd0O29kYXRhX2V0YWcpKSB7PGJyPg0KKyAmbmJzcDsmbmJz cDsmbmJzcDsvLzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Ly8gTm8gY2hhbmdlPGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDsvLzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChSRURG SVNIX0RFQlVHX1RSQUNFLCAmcXVvdDslYTogRVRBRzogJXMgaGFzIG5vIGNoYW5nZSwgaWdub3Jl IGNvbnN1bWUgYWN0aW9uXG4mcXVvdDssIF9fZnVuY19fLCBQcml2YXRlLSZndDtVcmkpKTs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwO1N0YXR1cyA9IEVGSV9BTFJFQURZX1NUQVJURUQ7PGJyPg0K KyAmbmJzcDsmbmJzcDsmbmJzcDtnb3RvIE9OX1JFTEVBU0U7PGJyPg0KKyAmbmJzcDt9PGJyPg0K Kzxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwOy8vIFNlY3VyZSBib290IGVuYWJsZTxicj4N CisgJm5ic3A7Ly88YnI+DQorICZuYnNwO2lmIChTZWN1cmVCb290Q3MtJmd0O1NlY3VyZUJvb3RF bmFibGUgIT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKFNlY3VyZUJvb3RF bmFibGVEaXNhYmxlICE9ICpTZWN1cmVCb290Q3MtJmd0O1NlY3VyZUJvb3RFbmFibGUpIHs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy8vPGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsvLyBXcml0ZSB2YWx1ZSB0byAmcXVvdDtTZWN1cmVCb290RW5hYmxl JnF1b3Q7IHZhcmlhYmxlLiBBdXRoVmFyaWFibGVMaWIgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSBz ZWN1cmUgYm9vdDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ly8gYmFzZWQg b24gJnF1b3Q7U2VjdXJlQm9vdEVuYWJsZSZxdW90OyB2YWx1ZS48YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOy8vPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtTdGF0dXMgPSBSZWRmaXNoV3JpdGVTZWN1cmVCb290RW5hYmxlICgqU2VjdXJlQm9vdENzLSZn dDtTZWN1cmVCb290RW5hYmxlKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiB3cml0ZSBz ZWN1cmUgYm9vdCBlbmFibGUgZGlzYWJsZSBmYWlsZWQ6ICVyXG4mcXVvdDssIF9fZnVuY19fLCBT dGF0dXMpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO30gZWxzZSB7PGJy Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSRURGSVNIX0VO QUJMRV9TWVNURU1fUkVCT09UICgpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7fTxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fSBlbHNlIHs8YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoUkVERklTSF9ERUJVR19UUkFDRSwgJnF1b3Q7JWE6 IHNlY3VyZSBib290IG1vZGUgaXMgbm90IGNoYW5nZWRcbiZxdW90OywgX19mdW5jX18pKTs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwO308YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KK09OX1JF TEVBU0U6PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwOy8vIFJlbGVhc2UgcmVz b3VyY2UuPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7UHJpdmF0ZS0mZ3Q7SnNvblN0cnVj dFByb3RvY29sLSZndDtEZXN0b3J5U3RydWN0dXJlICg8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO1ByaXZhdGUtJmd0O0pzb25TdHJ1Y3RQcm90b2NvbCw8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyhFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9IRUFERVIgKilTZWN1cmVCb290PGJyPg0K KyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDspOzxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBFRklf U1VDQ0VTUzs8YnI+DQorfTxicj4NCis8YnI+DQorLyoqPGJyPg0KKyAmbmJzcDtQcm92aXNpb24g UmVkZmlzaCByZXNvdXJjZS4gVGhpcyBmdW5jdGlvbiByZWFkcyBzZWN1cmUgYm9vdCB2YXJpYWJs ZSBhbmQgY29udmVydCBpdDxicj4NCisgJm5ic3A7dG8gUmVkZmlzaCBhdHRyaWJ1dGUuPGJyPg0K Kzxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtKc29uU3RydWN0UHJvdG9jb2wg Jm5ic3A7UG9pbnRlciB0byBKc29uIHN0cnVjdHVyZSBwcm90b2NvbC48YnI+DQorICZuYnNwO0Bw YXJhbVtpbl0gJm5ic3A7Jm5ic3A7SW5wdXRKc29uICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0phc29uIGRhdGEgb24gaW5wdXQuPGJy Pg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO1Jlc291cmNlSWQgJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmVzb3VyY2UgSUQuIFRo aXMgaXMgb3B0aW9uYWwuPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO0NvbmZp Z3VyZUxhbmcgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29uZmlndXJlIGxh bmd1YWdlIGZvciB0aGlzIFJlZGZpc2ggcmVzb3VyY2UuPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5d ICZuYnNwOyZuYnNwO1Byb3Zpc2lvbk1vZGUgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7VFJVRSB3aGVuIHRoaXMgaXMgdG8gcHJvdmlzaW9uIFJlZGZpc2ggYXR0cmlidXRlIHRv PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZWRmaXNoIHNlcnZpY2Uu IEZBTFNFIGlzIHRvIHVwZGF0ZSBSZWRmaXNoIGF0dHJpYnV0ZTxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dG8gUmVkZmlzaCBzZXJ2aWNlLjxicj4NCisgJm5ic3A7QHBh cmFtW291dF0gJm5ic3A7UmVzdWx0SnNvbiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtKc29uIGRhdGEgb24gb3V0cHV0Ljxicj4NCis8YnI+DQor ICZuYnNwO0ByZXR2YWwgRUZJX1NVQ0NFU1MgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvdmlzaW9u IFJlZGZpc2ggYXR0cmlidXRlIHN1Y2Nlc3NmdWxseS48YnI+DQorICZuYnNwO0ByZXR2YWwgT3Ro ZXJzICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Nv bWUgZXJyb3IgaGFwcGVuZWQuPGJyPg0KKzxicj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4N CitQcm92aXNpb25pbmdTZWN1cmVCb290UHJvcGVydGllcyAoPGJyPg0KKyAmbmJzcDtJTiAmbmJz cDtFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9QUk9UT0NPTCAmbmJzcDsqSnNvblN0cnVjdFByb3Rv Y29sLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Q0hBUjggJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KklucHV0SnNvbiw8YnI+DQorICZuYnNwO0lO ICZuYnNwO0NIQVI4ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOypSZXNvdXJjZUlkIE9QVElPTkFMLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7RUZJ X1NUUklORyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb25maWd1cmVMYW5nLDxicj4NCisgJm5i c3A7SU4gJm5ic3A7Qk9PTEVBTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtQcm92aXNpb25Nb2RlLDxicj4NCisgJm5ic3A7T1VUIENIQVI4ICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyoqUmVzdWx0SnNvbjxicj4N CisgJm5ic3A7KTxicj4NCit7PGJyPg0KKyAmbmJzcDtFRklfUkVERklTSF9TRUNVUkVCT09UX1Yx XzFfMCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqU2VjdXJlQm9vdDs8YnI+DQorICZuYnNwO0VG SV9SRURGSVNIX1NFQ1VSRUJPT1RfVjFfMV8wX0NTICZuYnNwOypTZWN1cmVCb290Q3M7PGJyPg0K KyAmbmJzcDtFRklfU1RBVFVTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1N0YXR1czs8YnI+DQor ICZuYnNwO0JPT0xFQU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 UHJvcGVydHlDaGFuZ2VkOzxicj4NCisgJm5ic3A7Q0hBUjggJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KkFzY2lpU3RyaW5nVmFsdWU7PGJyPg0K KyAmbmJzcDtJTlQzMiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsqSW50ZWdlclZhbHVlOzxicj4NCisgJm5ic3A7VUlOVDggJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0dXBNb2RlOzxicj4N CisgJm5ic3A7Qk9PTEVBTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtTZWN1cmVCb290RW5hYmxlZDs8YnI+DQorICZuYnNwO0JPT0xFQU4gJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2VjdXJlQm9vdEVuYWJsZURpc2FibGU7PGJyPg0K Kzxicj4NCisgJm5ic3A7aWYgKChKc29uU3RydWN0UHJvdG9jb2wgPT0gTlVMTCkgfHwgKFJlc3Vs dEpzb24gPT0gTlVMTCkgfHwgSVNfRU1QVFlfU1RSSU5HIChJbnB1dEpzb24pIHx8IElTX0VNUFRZ X1NUUklORyAoQ29uZmlndXJlTGFuZykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVy biBFRklfSU5WQUxJRF9QQVJBTUVURVI7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5i c3A7REVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAmcXVvdDslYSBwcm92aXNpb24gZm9yICVz IHdpdGg6ICVzXG4mcXVvdDssIF9fZnVuY19fLCBDb25maWd1cmVMYW5nLCAoUHJvdmlzaW9uTW9k ZSA/IEwmcXVvdDtQcm92aXNpb24gcmVzb3VyY2UmcXVvdDsgOiBMJnF1b3Q7VXBkYXRlIHJlc291 cmNlJnF1b3Q7KSkpOzxicj4NCis8YnI+DQorICZuYnNwOypSZXN1bHRKc29uICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOz0gTlVMTDs8YnI+DQorICZuYnNwO1Byb3BlcnR5Q2hhbmdlZCAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IEZBTFNFOzxicj4NCisgJm5ic3A7QXNj aWlTdHJpbmdWYWx1ZSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9 IE5VTEw7PGJyPg0KKyAmbmJzcDtTZWN1cmVCb290RW5hYmxlRGlzYWJsZSA9IFJlZGZpc2hSZWFk U2VjdXJlQm9vdEVuYWJsZSAoKTs8YnI+DQorICZuYnNwO1NlY3VyZUJvb3RFbmFibGVkICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOz0gSXNTZWN1cmVCb290RW5hYmxlZCAoKTs8 YnI+DQorPGJyPg0KKyAmbmJzcDtTZWN1cmVCb290ID0gTlVMTDs8YnI+DQorICZuYnNwO1N0YXR1 cyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IEpzb25TdHJ1Y3RQcm90b2NvbC0mZ3Q7VG9TdHJ1 Y3R1cmUgKDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7SnNvblN0cnVjdFByb3RvY29sLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7TlVMTCw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO0lucHV0SnNvbiw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyhFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9IRUFERVIg KiopJmFtcDtTZWN1cmVCb290PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDspOzxicj4NCisgJm5ic3A7aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgezxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IFRv U3RydWN0dXJlIGZhaWx1cmU6ICVyXG4mcXVvdDssIF9fZnVuY19fLCBTdGF0dXMpKTs8YnI+DQor ICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBTdGF0dXM7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxi cj4NCisgJm5ic3A7U2VjdXJlQm9vdENzID0gU2VjdXJlQm9vdC0mZ3Q7U2VjdXJlQm9vdDs8YnI+ DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8gSUQ8YnI+DQorICZuYnNwOy8vPGJy Pg0KKyAmbmJzcDtpZiAoU2VjdXJlQm9vdENzLSZndDtJZCAhPSBOVUxMKSB7PGJyPg0KKyAmbmJz cDsmbmJzcDsmbmJzcDtTZWN1cmVCb290Q3MtJmd0O0lkID0gTlVMTDs8YnI+DQorICZuYnNwO308 YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8gTmFtZTxicj4NCisgJm5ic3A7 Ly88YnI+DQorICZuYnNwO2lmIChTZWN1cmVCb290Q3MtJmd0O05hbWUgIT0gTlVMTCkgezxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7U2VjdXJlQm9vdENzLSZndDtOYW1lID0gTlVMTDs8YnI+DQor ICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8gU2VjdXJlIGJv b3QgdmFyaWFibGVzIHRoYXQgd2Ugd2lsbCBoYW5kbGUgaGVyZTxicj4NCisgJm5ic3A7Ly88YnI+ DQorICZuYnNwOy8vIEVGSV9TRVRVUF9NT0RFX05BTUUgKGdFZmlHbG9iYWxWYXJpYWJsZUd1aWQp PGJyPg0KKyAmbmJzcDsvLyBFRklfU0VDVVJFX0JPT1RfTU9ERV9OQU1FIChnRWZpR2xvYmFsVmFy aWFibGVHdWlkKTxicj4NCisgJm5ic3A7Ly8gRUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FIChn RWZpU2VjdXJlQm9vdEVuYWJsZURpc2FibGVHdWlkKTxicj4NCisgJm5ic3A7Ly88YnI+DQorPGJy Pg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8gQ3VycmVudCBCb290PGJyPg0KKyAmbmJzcDsv Lzxicj4NCisgJm5ic3A7aWYgKFByb3BlcnR5Q2hlY2tlciAoU2VjdXJlQm9vdENzLSZndDtTZWN1 cmVCb290Q3VycmVudEJvb3QsIFByb3Zpc2lvbk1vZGUpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDtBc2NpaVN0cmluZ1ZhbHVlID0gQWxsb2NhdGVaZXJvUG9vbCAoU0VDVVJFX0JPT1RfTU9E RV9TVFJfTEVOICogc2l6ZW9mIChDSEFSOCkpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7aWYg KEFzY2lpU3RyaW5nVmFsdWUgIT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7QXNjaWlTUHJpbnQgKEFzY2lpU3RyaW5nVmFsdWUsIFNFQ1VSRV9CT09UX01PREVf U1RSX0xFTiwgJnF1b3Q7JWEmcXVvdDssIChTZWN1cmVCb290RW5hYmxlZCA/IFNFQ1VSRV9CT09U X0VOQUJMRUQgOiBTRUNVUkVfQk9PVF9ESVNBQkxFRCkpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7aWYgKFByb3Zpc2lvbk1vZGUgfHwgKEFzY2lpU3RyQ21wIChTZWN1cmVC b290Q3MtJmd0O1NlY3VyZUJvb3RDdXJyZW50Qm9vdCwgQXNjaWlTdHJpbmdWYWx1ZSkgIT0gMCkp IHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NlY3Vy ZUJvb3RDcy0mZ3Q7U2VjdXJlQm9vdEN1cnJlbnRCb290ID0gQXNjaWlTdHJpbmdWYWx1ZTs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Byb3BlcnR5Q2hh bmdlZCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs9IFRSVUU7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9 PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDt9IGVsc2Ugezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IG91dCBvZiByZXNv dXJjZVxuJnF1b3Q7LCBfX2Z1bmNfXykpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fTxicj4N CisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBTZWN1cmUg Ym9vdCBlbmFibGU8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtpZiAoUHJvcGVydHlDaGVj a2VyIChTZWN1cmVCb290Q3MtJmd0O1NlY3VyZUJvb3RFbmFibGUsIFByb3Zpc2lvbk1vZGUpKSB7 PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpZiAoUHJvdmlzaW9uTW9kZSB8fCAoKlNlY3VyZUJv b3RDcy0mZ3Q7U2VjdXJlQm9vdEVuYWJsZSAhPSBTZWN1cmVCb290RW5hYmxlRGlzYWJsZSkpIHs8 YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0ludGVnZXJWYWx1ZSA9IEFsbG9j YXRlUG9vbCAoc2l6ZW9mICgqSW50ZWdlclZhbHVlKSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtpZiAoSW50ZWdlclZhbHVlICE9IE5VTEwpIHs8YnI+DQorICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypJbnRlZ2VyVmFsdWUgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSAoU2VjdXJlQm9vdEVuYWJsZURp c2FibGUgPyAweDAxIDogMHgwMCk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtTZWN1cmVCb290Q3MtJmd0O1NlY3VyZUJvb3RFbmFibGUgPSBJbnRlZ2Vy VmFsdWU7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQ cm9wZXJ0eUNoYW5nZWQgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBUUlVFOzxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fSBlbHNlIHs8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1Is ICZxdW90OyVhOiBvdXQgb2YgcmVzb3VyY2VcbiZxdW90OywgX19mdW5jX18pKTs8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO308 YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8gU2Vj dXJlIGJvb3QgbW9kZTxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO2lmIChQcm9wZXJ0eUNo ZWNrZXIgKFNlY3VyZUJvb3RDcy0mZ3Q7U2VjdXJlQm9vdE1vZGUsIFByb3Zpc2lvbk1vZGUpKSB7 PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtTdGF0dXMgPSBHZXRTZXR1cE1vZGUgKCZhbXA7U2V0 dXBNb2RlKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmICghRUZJX0VSUk9SIChTdGF0dXMp KSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBc2NpaVN0cmluZ1ZhbHVl ID0gQWxsb2NhdGVaZXJvUG9vbCAoU0VDVVJFX0JPT1RfTU9ERV9TVFJfTEVOICpzaXplb2YgKENI QVI4KSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiAoQXNjaWlTdHJp bmdWYWx1ZSAhPSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtBc2NpaVNQcmludCAoQXNjaWlTdHJpbmdWYWx1ZSwgU0VDVVJFX0JPT1RfTU9E RV9TVFJfTEVOICpzaXplb2YgKENIQVI4KSwgJnF1b3Q7JWEmcXVvdDssIChTZXR1cE1vZGUgPT0g VVNFUl9NT0RFID8gU0VDVVJFX0JPT1RfVVNFUl9NT0RFIDogU0VDVVJFX0JPT1RfU0VUVVBfTU9E RSkpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYg KFByb3Zpc2lvbk1vZGUgfHwgKEFzY2lpU3RyQ21wIChTZWN1cmVCb290Q3MtJmd0O1NlY3VyZUJv b3RNb2RlLCBBc2NpaVN0cmluZ1ZhbHVlKSAhPSAwKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2VjdXJlQm9vdENzLSZndDtT ZWN1cmVCb290TW9kZSA9IEFzY2lpU3RyaW5nVmFsdWU7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcm9wZXJ0eUNoYW5nZWQgJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBUUlVFOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 fTxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fSBlbHNlIHs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiBjYW5ub3QgcmVh ZCBzZXR1cCBtb2RlOiAlclxuJnF1b3Q7LCBfX2Z1bmNfXywgU3RhdHVzKSk7PGJyPg0KKyAmbmJz cDsmbmJzcDsmbmJzcDt9PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88YnI+ DQorICZuYnNwOy8vIENvbnZlcnQgQyBzdHJ1Y3R1cmUgYmFjayB0byBKU09OIHRleHQuPGJyPg0K KyAmbmJzcDsvLzxicj4NCisgJm5ic3A7U3RhdHVzID0gSnNvblN0cnVjdFByb3RvY29sLSZndDtU b0pzb24gKDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SnNvblN0cnVjdFByb3RvY29sLDxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURF UiAqKVNlY3VyZUJvb3QsPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXN1bHRKc29uPGJy Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDspOzxicj4NCisgJm5ic3A7aWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChERUJVR19FUlJPUiwg JnF1b3Q7JWE6IFRvSnNvbigpIGZhaWxlZDogJXJcbiZxdW90OywgX19mdW5jX18sIFN0YXR1cykp Ozxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIFN0YXR1czs8bzpwPjwvbzpwPjwvcD4N CjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h bHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t Ym90dG9tLWFsdDphdXRvIj4mbmJzcDsgU2VjdXJlQm9vdCBzdHJ1Y3R1cmUgbGVhay4gSXQgaXMg cmVsZWFzZWQgYmVsb3cuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttYXJnaW4tYm90dG9tOjEyLjBwdCI+ PG86cD4mbmJzcDs8L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBw dDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj4rICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8gUmVs ZWFzZSByZXNvdXJjZS48YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtKc29uU3RydWN0UHJv dG9jb2wtJmd0O0Rlc3RvcnlTdHJ1Y3R1cmUgKDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7SnNvblN0cnVjdFByb3RvY29sLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KEVG SV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURFUiAqKVNlY3VyZUJvb3Q8YnI+DQorICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyk7PGJyPg0KKzxicj4NCisgJm5ic3A7cmV0dXJuIChQcm9wZXJ0eUNo YW5nZWQgPyBFRklfU1VDQ0VTUyA6IEVGSV9OT1RfRk9VTkQpOzxicj4NCit9PGJyPg0KKzxicj4N CisvKio8YnI+DQorICZuYnNwO1Byb3Zpc2lvbiBSZWRmaXNoIHJlc291cmNlIGFuZCB1cGxvYWQg ZGF0YSB0byBSZWRmaXNoIHNlcnZpY2UuIFRoaXMgZnVuY3Rpb248YnI+DQorICZuYnNwO2NoZWNr cyBPRU0gZGF0YSBhbmQgcGxhdGZvcm0gYWRkZW5kdW0gZGF0YSBiZWZvcmUgc2VuZGluZyBkYXRh IHRvIFJlZGZpc2ggc2VydmljZS48YnI+DQorPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNw OyZuYnNwO1ByaXZhdGUgJm5ic3A7Jm5ic3A7UG9pbnRlciB0byBwcml2YXRlIGRhdGEuPGJyPg0K Kzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQ cm92aXNpb24gUmVkZmlzaCByZXNvdXJjZSBzdWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJzcDtAcmV0 dmFsIE90aGVycyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtTb21lIGVycm9yIGhhcHBlbmVkLjxicj4NCis8YnI+DQorKiovPGJyPg0KK0VGSV9TVEFU VVM8YnI+DQorUHJvdmlzaW9uaW5nU2VjdXJlQm9vdFJlc291cmNlICg8YnI+DQorICZuYnNwO0lO ICZuYnNwO1JFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgJm5ic3A7KlByaXZhdGU8YnI+ DQorICZuYnNwOyk8YnI+DQorezxicj4NCisgJm5ic3A7RUZJX1NUQVRVUyAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdGF0dXM7PGJyPg0KKyAmbmJzcDtDSEFSOCAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsqSnNvbjs8YnI+DQorICZuYnNwO0NIQVI4ICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypK c29uV2l0aEFkZGVuZHVtOzxicj4NCisgJm5ic3A7UkVERklTSF9SRVNQT05TRSAmbmJzcDtSZXNw b25zZTs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoUHJpdmF0ZSA9PSBOVUxMKSB7PGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOzxicj4NCisgJm5i c3A7fTxicj4NCis8YnI+DQorICZuYnNwO1plcm9NZW0gKCZhbXA7UmVzcG9uc2UsIHNpemVvZiAo UkVERklTSF9SRVNQT05TRSkpOzxicj4NCisgJm5ic3A7SnNvbiA9IE5VTEw7PGJyPg0KKzxicj4N CisgJm5ic3A7U3RhdHVzID0gUHJvdmlzaW9uaW5nU2VjdXJlQm9vdFByb3BlcnRpZXMgKDxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJpdmF0ZS0mZ3Q7SnNvblN0cnVjdFByb3RvY29sLDxicj4NCisg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7U2VjdXJlQm9vdEVtcHR5SnNvbiw8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O05VTEwsPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSRURGSVNIX0RVTU1ZX0NPTkZJR19MQU5HLDxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VFJVRSw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7SnNv bjxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KTs8YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0 YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmIChTdGF0dXMgPT0gRUZJX05PVF9G T1VORCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChSRURG SVNIX0RFQlVHX1RSQUNFLCAmcXVvdDslYTogcHJvdmlzaW9uaW5nIGV4aXN0aW5nIHJlc291cmNl IGZvciAlcyBpZ25vcmVkLiBOb3RoaW5nIGNoYW5nZWRcbiZxdW90OywgX19mdW5jX18sIFJFREZJ U0hfRFVNTVlfQ09ORklHX0xBTkcpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO1N0YXR1cyA9IEVGSV9TVUNDRVNTOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fSBlbHNl IHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJS T1IsICZxdW90OyVhOiBwcm92aXNpb25pbmcgZXhpc3RpbmcgcmVzb3VyY2UgZm9yICVzIGZhaWxl ZDogJXJcbiZxdW90OywgX19mdW5jX18sIFJFREZJU0hfRFVNTVlfQ09ORklHX0xBTkcsIFN0YXR1 cykpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwO2dvdG8gT05fUkVMRUFTRTs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJz cDsvLzxicj4NCisgJm5ic3A7Ly8gQ2hlY2sgYW5kIHNlZSBpZiBwbGF0Zm9ybSBoYXMgT0VNIGRh dGEgb3Igbm90PGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7U3RhdHVzID0gUmVkZmlzaEdl dE9lbURhdGEgKDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJpdmF0ZS0mZ3Q7VXJpLDxicj4NCisg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7UkVTT1VSQ0VfU0NIRU1BLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UkVT T1VSQ0VfU0NIRU1BX1ZFUlNJT04sPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtKc29uLDxicj4NCisg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7JmFtcDtKc29uV2l0aEFkZGVuZHVtPGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDspOzxicj4NCisgJm5ic3A7aWYgKCFFRklfRVJST1IgKFN0YXR1cykgJmFtcDsmYW1wOyAoSnNv bldpdGhBZGRlbmR1bSAhPSBOVUxMKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7RnJlZVBv b2wgKEpzb24pOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7SnNvbiAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9 IEpzb25XaXRoQWRkZW5kdW07PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtKc29uV2l0aEFkZGVu ZHVtID0gTlVMTDs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisg Jm5ic3A7Ly8gQ2hlY2sgYW5kIHNlZSBpZiBwbGF0Zm9ybSBoYXMgYWRkZW5kdW0gZGF0YSBvciBu b3Q8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtTdGF0dXMgPSBSZWRmaXNoR2V0QWRkZW5k dW1EYXRhICg8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O1VyaSw8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO1JFU09VUkNFX1NDSEVNQSw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JFU09V UkNFX1NDSEVNQV9WRVJTSU9OLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SnNvbiw8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZhbXA7SnNvbldpdGhBZGRlbmR1bTxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 KTs8YnI+DQorICZuYnNwO2lmICghRUZJX0VSUk9SIChTdGF0dXMpICZhbXA7JmFtcDsgKEpzb25X aXRoQWRkZW5kdW0gIT0gTlVMTCkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29s IChKc29uKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0pzb24gJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBK c29uV2l0aEFkZGVuZHVtOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7SnNvbldpdGhBZGRlbmR1 bSA9IE5VTEw7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7REVCVUcgKChSRURG SVNIX0RFQlVHX1RSQUNFLCAmcXVvdDslYTogcHJvdmlzaW9uaW5nIGV4aXN0aW5nIHJlc291cmNl IGZvciAlc1xuJnF1b3Q7LCBfX2Z1bmNfXywgUkVERklTSF9EVU1NWV9DT05GSUdfTEFORykpOzxi cj4NCis8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBQQVRDSCBiYWNrIHRvIGluc3Rh bmNlPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7U3RhdHVzID0gUmVkZmlzaEh0dHBQYXRj aFJlc291cmNlIChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSwgUHJpdmF0ZS0mZ3Q7VXJpLCBK c29uLCAmYW1wO1Jlc3BvbnNlKTs8YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykp IHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVh OiBwYXRjaCByZXNvdXJjZSBmb3IgJXMgZmFpbGVkOiAlclxuJnF1b3Q7LCBfX2Z1bmNfXywgUkVE RklTSF9EVU1NWV9DT05GSUdfTEFORywgU3RhdHVzKSk7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxi cj4NCitPTl9SRUxFQVNFOjxicj4NCis8YnI+DQorICZuYnNwO2lmIChKc29uICE9IE5VTEwpIHs8 YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChKc29uKTs8YnI+DQorICZuYnNwO308 YnI+DQorPGJyPg0KKyAmbmJzcDtSZWRmaXNoSHR0cEZyZWVSZXNwb25zZSAoJmFtcDtSZXNwb25z ZSk7PGJyPg0KKzxicj4NCisgJm5ic3A7cmV0dXJuIFN0YXR1czs8YnI+DQorfTxicj4NCis8YnI+ DQorLyoqPGJyPg0KKyAmbmJzcDtQcm92aXNpb25pbmcgcmVkZmlzaCByZXNvdXJjZSB0byBSZWRm aXNoIHNlcnZpY2UuPGJyPg0KKzxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtQ cml2YXRlICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BvaW50ZXIgdG8gcHJpdmF0ZSBkYXRhLjxicj4NCisgJm5i c3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtSZXNvdXJjZUV4aXN0ICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO1RSVUUgaWYgcmVzb3VyY2UgZXhpc3RzLCBQVVQgbWV0aG9kIHdp bGwgYmUgdXNlZC48YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0ZBTFNF IGlmIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IFBPU1QgbWV0aG9kIGlzIHVzZWQuPG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj5BY3R1YWxseSBQcm92aXNpb25pbmdTZWN1cmVCb290UmVzb3VyY2UgdXNlcyBQQVRDSCBv bmx5LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv Ij4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21hcmdpbi1ib3R0b206MTIuMHB0Ij48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdp bi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPis8 YnI+DQorICZuYnNwO0ByZXR2YWwgRUZJX1NVQ0NFU1MgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJv dmlzaW9uIHJlc291cmNlIHN1Y2Nlc3NmdWxseS48YnI+DQorICZuYnNwO0ByZXR2YWwgT3RoZXJz ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NvbWUg ZXJyb3IgaGFwcGVuZWQuPGJyPg0KKzxicj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4NCitS ZWRmaXNoUHJvdmlzaW9uaW5nUmVzb3VyY2VDb21tb24gKDxicj4NCisgJm5ic3A7SU4gJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7UkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAmbmJzcDsq UHJpdmF0ZSw8YnI+DQorICZuYnNwO0lOICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0JPT0xFQU4g Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmVzb3VyY2VFeGlzdDxicj4NCisg Jm5ic3A7KTxicj4NCit7PGJyPg0KKyAmbmJzcDtpZiAoUHJpdmF0ZSA9PSBOVUxMKSB7PGJyPg0K KyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOzxicj4NCisg Jm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBQcm92aXNpb25pbmdTZWN1cmVCb290 UmVzb3VyY2UgKFByaXZhdGUpOzxicj4NCit9PGJyPg0KKzxicj4NCisvKio8YnI+DQorICZuYnNw O0NoZWNrIHJlc291cmNlIGZyb20gZ2l2ZW4gSnNvbiBkYXRhLjxicj4NCis8YnI+DQorICZuYnNw O0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VGhpcyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtQb2ludGVyIHRvIFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgaW5zdGFuY2Uu PGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO0pzb24gJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIEpTT04gZGF0YSB0byBjaGVjay48YnI+DQorICZuYnNwO0Bw YXJhbVtpbl0gJm5ic3A7Jm5ic3A7SGVhZGVyRXRhZyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgRXRhZyBzdHJpbmcgcmV0dXJuZWQgaW4g SFRUUCBoZWFkZXIuPGJyPg0KKzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtDaGVjayByZXNvdXJjZSBzdWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJz cDtAcmV0dmFsIE90aGVycyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtTb21lIGVycm9yIGhhcHBlbmVkLjxicj4NCis8YnI+DQorKiovPGJyPg0KK0VG SV9TVEFUVVM8YnI+DQorUmVkZmlzaENoZWNrUmVzb3VyY2VDb21tb24gKDxicj4NCisgJm5ic3A7 SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFU RSAmbmJzcDsqUHJpdmF0ZSw8YnI+DQorICZuYnNwO0lOICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O0NIQVI4ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypK c29uLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q0hBUjggJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KkhlYWRlckV0YWcgT1BU SU9OQUw8YnI+DQorICZuYnNwOyk8YnI+DQorezxicj4NCisgJm5ic3A7VUlOVE4gJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SW5kZXg7PGJyPg0KKyAmbmJzcDtFRklfU1RBVFVT ICZuYnNwO1N0YXR1czs8YnI+DQorICZuYnNwO1VJTlROICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO0NvdW50Ozxicj4NCisgJm5ic3A7RUZJX1NUUklORyAmbmJzcDtQcm9wZXJ0 eTs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoKFByaXZhdGUgPT0gTlVMTCkgfHwgSVNfRU1QVFlf U1RSSU5HIChKc29uKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIEVGSV9JTlZB TElEX1BBUkFNRVRFUjs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4N CisgJm5ic3A7Ly8gQ2hlY2sgRVRBRyB0byBzZWUgaWYgd2UgbmVlZCB0byBjaGVjayBpdDxicj4N CisgJm5ic3A7Ly88YnI+DQorICZuYnNwO2lmIChDaGVja0V0YWcgKFByaXZhdGUtJmd0O1VyaSwg SGVhZGVyRXRhZywgTlVMTCkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOy8vPGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDsvLyBObyBjaGFuZ2U8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOy8v PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICZx dW90OyVhOiBFVEFHOiAlcyBoYXMgbm8gY2hhbmdlLCBpZ25vcmUgY2hlY2sgYWN0aW9uXG4mcXVv dDssIF9fZnVuY19fLCBQcml2YXRlLSZndDtVcmkpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNw O3JldHVybiBFRklfU1VDQ0VTUzs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtD b3VudCA9IHNpemVvZiAobVNlY3VyZUJvb3RTdXBwb3J0ZWRBdHRyaWJ1dGVzKSAvIHNpemVvZiAo bVNlY3VyZUJvb3RTdXBwb3J0ZWRBdHRyaWJ1dGVzWzBdKTs8YnI+DQorICZuYnNwO2lmIChDb3Vu dCA9PSAwKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ozxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO1N0YXR1cyA9IEVGSV9TVUNDRVNT Ozxicj4NCisgJm5ic3A7Zm9yIChJbmRleCA9IDA7IEluZGV4ICZsdDsgQ291bnQ7IEluZGV4Kysp IHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO1Byb3BlcnR5ID0gbVNlY3VyZUJvb3RTdXBwb3J0 ZWRBdHRyaWJ1dGVzW0luZGV4XTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmIChQcm9wZXJ0 eSA9PSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb250aW51 ZTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDtERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICZxdW90OyVhOiBbJWRdIGNoZWNrIGF0 dHJpYnV0ZSBmb3I6ICVzXG4mcXVvdDssIF9fZnVuY19fLCBJbmRleCwgUHJvcGVydHkpKTs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmICghTWF0Y2hQcm9wZXJ0eVdpdGhKc29uQ29udGV4dCAo UHJvcGVydHksIEpzb24pKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtE RUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICZxdW90OyVhOiBwcm9wZXJ0eSBpcyBtaXNzaW5n OiAlc1xuJnF1b3Q7LCBfX2Z1bmNfXywgUHJvcGVydHkpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1N0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7PG86cD48L286cD48L3A+DQo8 L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3Rl Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T2ghIEkgaGF2ZSBhIHF1ZXN0aW9uIGFi b3V0IHRoaXMgY29uZGl0aW9uLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+Q2FuIHdlIGp1c3QgYnJlYWsgdGhlIGxvb3AgaGVyZT88bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkknbSBhc2tpbmcgbW9z dGx5IGluIGNvbnRleHQgb2YgQmlvcyBmZWF0dXJlIGRyaXZlciB3aGVyZSB0aGUgc2FtZSBsb29w IGV4aXN0cy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPldoaWxlIGluIHRoaXMgZHJpdmVyIENvdW50IG5vdCBncmVhdGVyIHRoYW4gMywgYnV0IGZv ciBCaW9zIGRyaXZlciB0aGVyZSBjb3VsZCBiZSBhIGh1bmRyZWRzIG9mIGl0ZXJhdGlvbnM8bzpw PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFuZCBBRkFJ UiBkdXJpbmcgcHJvdmlzaW9uaW5nIHdlIGhhdmUgRUZJX05PVF9GT1VORCByaWdodCBhZnRlciB0 aGUgZmlyc3QgaXRlcmF0aW9uLiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+TWF0Y2hQcm9wZXJ0eVdpdGhKc29uQ29udGV4dCgpIHNlZW1z IHRvIGJlIGEgaGVhdnkgY2FsbC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+VGhlIG9ubHkgdXNlZnVsIHRoaW5nIHRoaXMgbG9vcCBkb2VzIGlu IHRoYXQgY2FzZSBpcyBwcmludGluZyBtaXNzZWQgcHJvcGVydHkgaWYgZW5hYmxlZC48bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdp bi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGRp diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5n OjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0K PGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+ DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+KyAmbmJzcDsmbmJzcDsmbmJz cDt9PGJyPg0KKyAmbmJzcDt9PGJyPg0KKyZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8 L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxibG9j a3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0 O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0 OjBpbiI+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3Jk ZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQiPg0KPGRp dj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2lu LXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvIj4rICZuYnNwO3JldHVybiBTdGF0dXM7PGJyPg0KK308YnI+DQorPGJyPg0K Ky8qKjxicj4NCisgJm5ic3A7VXBkYXRlIHJlc291cmNlIHRvIFJlZGZpc2ggc2VydmljZS48YnI+ DQorPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO1ByaXZhdGUgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7UG9pbnRlciB0byBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFIGluc3RhbmNl Ljxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtKc29uICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO1RoZSBKU09OIGRhdGEgdG8gYmUgdXBkYXRlZC48YnI+DQorPGJy Pg0KKyAmbmJzcDtAcmV0dmFsIEVGSV9TVUNDRVNTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1VwZGF0 ZSByZXNvdXJjZSBzdWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJzcDtAcmV0dmFsIE90aGVycyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTb21lIGVycm9y IGhhcHBlbmVkLjxicj4NCis8YnI+DQorKiovPGJyPg0KK0VGSV9TVEFUVVM8YnI+DQorUmVkZmlz aFVwZGF0ZVJlc291cmNlQ29tbW9uICg8YnI+DQorICZuYnNwO0lOICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO1JFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgJm5ic3A7KlByaXZhdGUsPGJy Pg0KKyAmbmJzcDtJTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDSEFSOCAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqSW5wdXRKc29uPGJyPg0KKyAmbmJz cDspPGJyPg0KK3s8YnI+DQorICZuYnNwO0VGSV9TVEFUVVMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3RhdHVzOzxicj4NCisgJm5ic3A7Q0hBUjggJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Kkpzb247PGJyPg0KKyAmbmJzcDtDSEFSOCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqSnNvbldpdGhB ZGRlbmR1bTs8YnI+DQorICZuYnNwO1JFREZJU0hfUkVTUE9OU0UgJm5ic3A7UmVzcG9uc2U7PGJy Pg0KKzxicj4NCisgJm5ic3A7aWYgKChQcml2YXRlID09IE5VTEwpIHx8IElTX0VNUFRZX1NUUklO RyAoSW5wdXRKc29uKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIEVGSV9JTlZB TElEX1BBUkFNRVRFUjs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtaZXJvTWVt ICgmYW1wO1Jlc3BvbnNlLCBzaXplb2YgKFJFREZJU0hfUkVTUE9OU0UpKTs8YnI+DQorICZuYnNw O0pzb24gPSBOVUxMOzxicj4NCis8YnI+DQorICZuYnNwO1N0YXR1cyA9IFByb3Zpc2lvbmluZ1Nl Y3VyZUJvb3RQcm9wZXJ0aWVzICg8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O0pz b25TdHJ1Y3RQcm90b2NvbCw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NlY3VyZUJvb3RFbXB0eUpz b24sPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtOVUxMLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UkVE RklTSF9EVU1NWV9DT05GSUdfTEFORyw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RSVUUsPGJyPg0K KyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmYW1wO0pzb248YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyk7PGJyPg0K KyAmbmJzcDtpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDtpZiAoU3RhdHVzID09IEVGSV9OT1RfRk9VTkQpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO0RFQlVHICgoUkVERklTSF9ERUJVR19UUkFDRSwgJnF1b3Q7JWE6IHVwZGF0 ZSByZXNvdXJjZSBmb3IgJXMgaWdub3JlZC4gTm90aGluZyBjaGFuZ2VkXG4mcXVvdDssIF9fZnVu Y19fLCBSRURGSVNIX0RVTU1ZX0NPTkZJR19MQU5HKSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtTdGF0dXMgPSBFRklfU1VDQ0VTUzs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwO30gZWxzZSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAo KERFQlVHX0VSUk9SLCAmcXVvdDslYTogdXBkYXRlIHJlc291cmNlIGZvciAlcyBmYWlsZWQ6ICVy XG4mcXVvdDssIF9fZnVuY19fLCBSRURGSVNIX0RVTU1ZX0NPTkZJR19MQU5HLCBTdGF0dXMpKTs8 YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDtnb3RvIE9OX1JFTEVBU0U7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88 YnI+DQorICZuYnNwOy8vIENoZWNrIGFuZCBzZWUgaWYgcGxhdGZvcm0gaGFzIE9FTSBkYXRhIG9y IG5vdDxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO1N0YXR1cyA9IFJlZGZpc2hHZXRPZW1E YXRhICg8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O1VyaSw8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO1JFU09VUkNFX1NDSEVNQSw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JFU09VUkNF X1NDSEVNQV9WRVJTSU9OLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SnNvbiw8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZhbXA7SnNvbldpdGhBZGRlbmR1bTxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KTs8 YnI+DQorICZuYnNwO2lmICghRUZJX0VSUk9SIChTdGF0dXMpICZhbXA7JmFtcDsgKEpzb25XaXRo QWRkZW5kdW0gIT0gTlVMTCkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChK c29uKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0pzb24gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBKc29u V2l0aEFkZGVuZHVtOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7SnNvbldpdGhBZGRlbmR1bSA9 IE5VTEw7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNw Oy8vIENoZWNrIGFuZCBzZWUgaWYgcGxhdGZvcm0gaGFzIGFkZGVuZHVtIGRhdGEgb3Igbm90PGJy Pg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7U3RhdHVzID0gUmVkZmlzaEdldEFkZGVuZHVtRGF0 YSAoPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcml2YXRlLSZndDtVcmksPGJyPg0KKyAmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtSRVNPVVJDRV9TQ0hFTUEsPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSRVNPVVJDRV9T Q0hFTUFfVkVSU0lPTiw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0pzb24sPGJyPg0KKyAmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmYW1wO0pzb25XaXRoQWRkZW5kdW08YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyk7PGJy Pg0KKyAmbmJzcDtpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSAmYW1wOyZhbXA7IChKc29uV2l0aEFk ZGVuZHVtICE9IE5VTEwpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtGcmVlUG9vbCAoSnNv bik7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtKc29uICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOz0gSnNvbldp dGhBZGRlbmR1bTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0pzb25XaXRoQWRkZW5kdW0gPSBO VUxMOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO0RFQlVHICgoUkVERklTSF9E RUJVR19UUkFDRSwgJnF1b3Q7JWE6IHVwZGF0ZSByZXNvdXJjZSBmb3IgJXNcbiZxdW90OywgX19m dW5jX18sIFJFREZJU0hfRFVNTVlfQ09ORklHX0xBTkcpKTs8YnI+DQorPGJyPg0KKyAmbmJzcDsv Lzxicj4NCisgJm5ic3A7Ly8gUEFUQ0ggYmFjayB0byBpbnN0YW5jZTxicj4NCisgJm5ic3A7Ly88 YnI+DQorICZuYnNwO1N0YXR1cyA9IFJlZGZpc2hIdHRwUGF0Y2hSZXNvdXJjZSAoUHJpdmF0ZS0m Z3Q7UmVkZmlzaFNlcnZpY2UsIFByaXZhdGUtJmd0O1VyaSwgSnNvbiwgJmFtcDtSZXNwb25zZSk7 PGJyPg0KKyAmbmJzcDtpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJz cDsmbmJzcDtERUJVRyAoKERFQlVHX0VSUk9SLCAmcXVvdDslYTogcGF0Y2ggcmVzb3VyY2UgZm9y ICVzIGZhaWxlZDogJXJcbiZxdW90OywgX19mdW5jX18sIFJFREZJU0hfRFVNTVlfQ09ORklHX0xB TkcsIFN0YXR1cykpOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorT05fUkVMRUFTRTo8YnI+ DQorPGJyPg0KKyAmbmJzcDtpZiAoSnNvbiAhPSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDtGcmVlUG9vbCAoSnNvbik7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7 UmVkZmlzaEh0dHBGcmVlUmVzcG9uc2UgKCZhbXA7UmVzcG9uc2UpOzxicj4NCis8YnI+DQorICZu YnNwO3JldHVybiBTdGF0dXM7PGJyPg0KK308YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7 SWRlbnRpZnkgcmVzb3VyY2UgaW4gZ2l2ZW4gSnNvbiBkYXRhLjxicj4NCis8YnI+DQorICZuYnNw O0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7UHJpdmF0ZSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb2ludGVyIHRv IFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgaW5zdGFuY2UuPGJyPg0KKyAmbmJzcDtA cGFyYW1baW5dICZuYnNwOyZuYnNwO0pzb24gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7VGhlIEpTT04gdG8gYmUgaWRlbnRpZmllZC48YnI+DQorPGJyPg0KKyAmbmJzcDtAcmV0dmFs IEVGSV9TVUNDRVNTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0lkZW50aWZ5IHJlc291cmNlIHN1Y2Nl c3NmdWxseS48YnI+DQorICZuYnNwO0ByZXR2YWwgT3RoZXJzICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NvbWUgZXJyb3IgaGFwcGVuZWQuPGJyPg0K Kzxicj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4NCitSZWRmaXNoSWRlbnRpZnlSZXNvdXJj ZUNvbW1vbiAoPGJyPg0KKyAmbmJzcDtJTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSRURGSVNI X1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICZuYnNwOypQcml2YXRlLDxicj4NCisgJm5ic3A7SU4g Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q0hBUjggJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Kkpzb248YnI+DQorICZuYnNwOyk8YnI+DQorezxicj4NCisg Jm5ic3A7Qk9PTEVBTiAmbmJzcDtTdXBwb3J0ZWQ7PGJyPg0KKzxicj4NCisgJm5ic3A7U3VwcG9y dGVkID0gUmVkZmlzaElkZW50aWZ5UmVzb3VyY2UgKFByaXZhdGUtJmd0O1VyaSwgUHJpdmF0ZS0m Z3Q7SnNvbik7PGJyPg0KKyAmbmJzcDtpZiAoU3VwcG9ydGVkKSB7PGJyPg0KKyAmbmJzcDsmbmJz cDsmbmJzcDsvLzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Ly8gS2VlcCBVUkkgYW5kIENvbmZp Z0xhbmcgbWFwcGluZzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Ly88YnI+DQorICZuYnNwOyZu YnNwOyZuYnNwO1JlZGZpc2hTZXRSZWRmaXNoVXJpIChSRURGSVNIX0RVTU1ZX0NPTkZJR19MQU5H LCBQcml2YXRlLSZndDtVcmkpOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO3Jl dHVybiAoU3VwcG9ydGVkID8gRUZJX1NVQ0NFU1MgOiBFRklfVU5TVVBQT1JURUQpOzxicj4NCit9 PGJyPg0KKzxicj4NCisvKio8YnI+DQorICZuYnNwO0hhbmRsZSBSZWRmaXNoIHJlc291cmNlIGlu IFVyaS48YnI+DQorPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO1ByaXZhdGUg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7UG9pbnRlciB0byBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRF IGluc3RhbmNlLjxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtVcmkgJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VVJJIHRvIFJlZGZpc2ggcmVzb3VyY2Ug dGhhdCB3ZSBsaWtlIHRvIHByb2Nlc3MuPGJyPg0KKzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklf U1VDQ0VTUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtIYW5kbGUgcmVzb3VyY2Ugc3VjY2Vzc2Z1bGx5 Ljxicj4NCisgJm5ic3A7QHJldHZhbCBPdGhlcnMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U29tZSBlcnJvciBoYXBwZW5lZC48YnI+DQorPGJyPg0K KyoqLzxicj4NCitFRklfU1RBVFVTPGJyPg0KK0hhbmRsZVJlc291cmNlICg8YnI+DQorICZuYnNw O0lOICZuYnNwO1JFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgJm5ic3A7KlByaXZhdGUs PGJyPg0KKyAmbmJzcDtJTiAmbmJzcDtFRklfU1RSSU5HICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1VyaTxi cj4NCisgJm5ic3A7KTxicj4NCit7PGJyPg0KKyAmbmJzcDtFRklfU1RBVFVTICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1N0YXR1czs8 YnI+DQorICZuYnNwO1JFREZJU0hfU0NIRU1BX0lORk8gJm5ic3A7U2NoZW1hSW5mbzs8YnI+DQor ICZuYnNwO0VGSV9TVFJJTkcgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29uZmlnTGFuZzs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAo KFByaXZhdGUgPT0gTlVMTCkgfHwgSVNfRU1QVFlfU1RSSU5HIChVcmkpKSB7PGJyPg0KKyAmbmJz cDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOzxicj4NCisgJm5ic3A7 fTxicj4NCis8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBSZXNvdXJjZSBtYXRjaDxi cj4NCisgJm5ic3A7Ly88YnI+DQorPGJyPg0KKyAmbmJzcDtERUJVRyAoKFJFREZJU0hfREVCVUdf VFJBQ0UsICZxdW90OyVhOiBwcm9jZXNzIHJlc291cmNlIGZvcjogJXNcbiZxdW90OywgX19mdW5j X18sIFVyaSkpOzxicj4NCis8YnI+DQorICZuYnNwO1N0YXR1cyA9IEdldFJlZGZpc2hTY2hlbWFJ bmZvIChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSwgUHJpdmF0ZS0mZ3Q7SnNvblN0cnVjdFBy b3RvY29sLCBVcmksIE5VTEwsICZhbXA7U2NoZW1hSW5mbyk7PGJyPg0KKyAmbmJzcDtpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAoKERFQlVH X0VSUk9SLCAmcXVvdDslYTogZmFpbGVkIHRvIGdldCBzY2hlbWEgaW5mb3JtYXRpb24gZnJvbTog JXMgJXJcbiZxdW90OywgX19mdW5jX18sIFVyaSwgU3RhdHVzKSk7PGJyPg0KKyAmbmJzcDsmbmJz cDsmbmJzcDtyZXR1cm4gU3RhdHVzOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNw Oy8vPGJyPg0KKyAmbmJzcDsvLyBDaGVjayBhbmQgc2VlIGlmIHRoaXMgaXMgdGFyZ2V0IHJlc291 cmNlIHRoYXQgd2Ugd2FudCB0byBoYW5kbGUuPGJyPg0KKyAmbmJzcDsvLyBTb21lIHJlc291cmNl IGlzIGhhbmRsZWQgYnkgb3RoZXIgcHJvdmlkZXIgc28gd2UgaGF2ZSB0byBtYWtlIHN1cmUgdGhp cyBmaXJzdC48YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtERUJVRyAoKFJFREZJU0hfREVC VUdfVFJBQ0UsICZxdW90OyVhOiBJZGVudGlmeSBmb3IgJXNcbiZxdW90OywgX19mdW5jX18sIFVy aSkpOzxicj4NCisgJm5ic3A7Q29uZmlnTGFuZyA9IFJlZGZpc2hHZXRDb25maWdMYW5ndWFnZSAo VXJpKTs8YnI+DQorICZuYnNwO2lmIChDb25maWdMYW5nID09IE5VTEwpIHs8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwO1N0YXR1cyA9IEVka0lJUmVkZmlzaFJlc291cmNlQ29uZmlnSWRlbnRpZnkg KCZhbXA7U2NoZW1hSW5mbywgVXJpLCBOVUxMLCBQcml2YXRlLSZndDtJbmZvcm1hdGlvbkV4Y2hh bmdlKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8 YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmIChTdGF0dXMgPT0gRUZJX1VO U1VQUE9SVEVEKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICZxdW90OyVhOiBcJnF1b3Q7JXNcJnF1 b3Q7IGlzIG5vdCBoYW5kbGVkIGJ5IHVzXG4mcXVvdDssIF9fZnVuY19fLCBVcmkpKTs8YnI+DQor ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBFRklfU1VD Q0VTUzs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO30gZWxzZSBpZiAoU3Rh dHVzID09IEVGSV9OT1RfRk9VTkQpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoUkVERklTSF9ERUJVR19UUkFDRSwgJnF1b3Q7JWE6IFwm cXVvdDslc1wmcXVvdDsgaGFzIG5vdGhpbmcgdG8gaGFuZGxlXG4mcXVvdDssIF9fZnVuY19fLCBV cmkpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jl dHVybiBFRklfU1VDQ0VTUzs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308 YnI+DQorPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAoKERFQlVH X0VSUk9SLCAmcXVvdDslYTogZmFpbCB0byBpZGVudGlmeSByZXNvdXJjZTogXCZxdW90OyVzXCZx dW90OzogJXJcbiZxdW90OywgX19mdW5jX18sIFVyaSwgU3RhdHVzKSk7PGJyPg0KKyAmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gU3RhdHVzOzxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7fTxicj4NCisgJm5ic3A7fSBlbHNlIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RF QlVHICgoUkVERklTSF9ERUJVR19UUkFDRSwgJnF1b3Q7JWE6IGhpc3RvcnkgcmVjb3JkIGZvdW5k OiAlc1xuJnF1b3Q7LCBfX2Z1bmNfXywgQ29uZmlnTGFuZykpOzxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7RnJlZVBvb2wgKENvbmZpZ0xhbmcpOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQor ICZuYnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBDaGVjayBhbmQgc2VlIGlmIHRhcmdldCBwcm9wZXJ0 eSBleGlzdCBvciBub3QgZXZlbiB3aGVuIGNvbGxlY3Rpb24gbWVtYmVyIGV4aXN0cy48YnI+DQor ICZuYnNwOy8vIElmIG5vdCwgd2Ugc2lsbCBkbyBwcm92aXNpb24uPG86cD48L286cD48L3A+DQo8 L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0 byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG8iPiVzL3NpbGwvc3RpbGw8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21hcmdpbi1ib3R0b206MTIu MHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9w OjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t YWx0OmF1dG8iPisgJm5ic3A7Ly88YnI+DQorICZuYnNwO0RFQlVHICgoUkVERklTSF9ERUJVR19U UkFDRSwgJnF1b3Q7JWEgQ2hlY2sgZm9yICVzXG4mcXVvdDssIF9fZnVuY19fLCBVcmkpKTs8YnI+ DQorICZuYnNwO1N0YXR1cyA9IEVka0lJUmVkZmlzaFJlc291cmNlQ29uZmlnQ2hlY2sgKCZhbXA7 U2NoZW1hSW5mbywgVXJpLCBOVUxMKTs8YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1 cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmIChTdGF0dXMgPT0gRUZJX1VOU1VQUE9S VEVEKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAoKFJFREZJ U0hfREVCVUdfVFJBQ0UsICZxdW90OyVhOiBcJnF1b3Q7JXNcJnF1b3Q7IGlzIG5vdCBoYW5kbGVk IGJ5IHVzXG4mcXVvdDssIF9fZnVuY19fLCBVcmkpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiBFRklfU1VDQ0VTUzs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNw O308YnI+DQorPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsvLzxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7Ly8gVGhlIHRhcmdldCBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCwgZG8gdGhlIHByb3Zp c2lvbiB0byBjcmVhdGUgcHJvcGVydHkuPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsvLzxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAmcXVvdDsl YSBwcm92aXNpb24gZm9yICVzXG4mcXVvdDssIF9fZnVuY19fLCBVcmkpKTs8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwO1N0YXR1cyA9IEVka0lJUmVkZmlzaFJlc291cmNlQ29uZmlnUHJvdmlzaW9u aW5nICgmYW1wO1NjaGVtYUluZm8sIFVyaSwgTlVMTCwgUHJpdmF0ZS0mZ3Q7SW5mb3JtYXRpb25F eGNoYW5nZSwgRkFMU0UpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChE RUJVR19FUlJPUiwgJnF1b3Q7JWE6IGZhaWxlZCB0byBwcm92aXNpb24gd2l0aCBHRVQgbW9kZTog JXJcbiZxdW90OywgX19mdW5jX18sIFN0YXR1cykpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7 fTxicj4NCis8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoUkVERklTSF9ERUJVR19U UkFDRSwgJnF1b3Q7JWE6IHByb2Nlc3MgcmVzb3VyY2UgZm9yOiAlcyBmaW5pc2hlZFxuJnF1b3Q7 LCBfX2Z1bmNfXywgVXJpKSk7PGJyPg0KKzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJu IFN0YXR1czs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5i c3A7Ly8gQ29uc3VtZSBmaXJzdC48YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtERUJVRyAo KFJFREZJU0hfREVCVUdfVFJBQ0UsICZxdW90OyVhIGNvbnN1bWUgZm9yICVzXG4mcXVvdDssIF9f ZnVuY19fLCBVcmkpKTs8YnI+DQorICZuYnNwO1N0YXR1cyA9IEVka0lJUmVkZmlzaFJlc291cmNl Q29uZmlnQ29uc3VtZSAoJmFtcDtTY2hlbWFJbmZvLCBVcmksIE5VTEwpOzxicj4NCisgJm5ic3A7 aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcg KChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IGZhaWxlZCB0byBjb25zdW1lIHJlc291cmNlIGZvcjog JXM6ICVyXG4mcXVvdDssIF9fZnVuY19fLCBVcmksIFN0YXR1cykpOzxicj4NCisgJm5ic3A7fTxi cj4NCis8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBQYXRjaC48YnI+DQorICZuYnNw Oy8vPGJyPg0KKyAmbmJzcDtERUJVRyAoKFJFREZJU0hfREVCVUdfVFJBQ0UsICZxdW90OyVhIHVw ZGF0ZSBmb3IgJXNcbiZxdW90OywgX19mdW5jX18sIFVyaSkpOzxicj4NCisgJm5ic3A7U3RhdHVz ID0gRWRrSUlSZWRmaXNoUmVzb3VyY2VDb25maWdVcGRhdGUgKCZhbXA7U2NoZW1hSW5mbywgVXJp LCBOVUxMKTs8YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiBmYWlsZWQgdG8g dXBkYXRlIHJlc291cmNlIGZvcjogJXM6ICVyXG4mcXVvdDssIF9fZnVuY19fLCBVcmksIFN0YXR1 cykpOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO0RFQlVHICgoUkVERklTSF9E RUJVR19UUkFDRSwgJnF1b3Q7JWE6IHByb2Nlc3MgcmVzb3VyY2UgZm9yOiAlcyBmaW5pc2hlZFxu JnF1b3Q7LCBfX2Z1bmNfXywgVXJpKSk7PGJyPg0KKzxicj4NCisgJm5ic3A7cmV0dXJuIFN0YXR1 czs8YnI+DQorfTxicj4NCmRpZmYgLS1naXQgYS9SZWRmaXNoQ2xpZW50UGtnL0ZlYXR1cmVzL1Nl Y3VyZUJvb3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmMgYi9SZWRmaXNoQ2xpZW50UGtnL0Zl YXR1cmVzL1NlY3VyZUJvb3QvdjFfMV8wL0R4ZS9TZWN1cmVCb290RHhlLmM8YnI+DQpuZXcgZmls ZSBtb2RlIDEwMDY0NDxicj4NCmluZGV4IDAwMDAwMDAwMC4uYTBmNGYzZDE0PGJyPg0KLS0tIC9k ZXYvbnVsbDxicj4NCisrKyBiL1JlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvU2VjdXJlQm9vdC92 MV8xXzAvRHhlL1NlY3VyZUJvb3REeGUuYzxicj4NCkBAIC0wLDAgKzEsODA4IEBAPGJyPg0KKy8q KiBAZmlsZTxicj4NCisgJm5ic3A7UmVkZmlzaCBmZWF0dXJlIGRyaXZlciBpbXBsZW1lbnRhdGlv biAtIFNlY3VyZUJvb3Q8YnI+DQorPGJyPg0KKyAmbmJzcDsoQykgQ29weXJpZ2h0IDIwMjAtMjAy MiBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUCZsdDtCUiZndDs8YnI+ DQorICZuYnNwO0NvcHlyaWdodCAoYykgMjAyMywgTlZJRElBIENPUlBPUkFUSU9OICZhbXA7IEFG RklMSUFURVMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPg0KKzxicj4NCisgJm5ic3A7U1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQ8YnI+DQorPGJyPg0KKyoqLzxi cj4NCis8YnI+DQorI2luY2x1ZGUgJnF1b3Q7Li4vQ29tbW9uL1NlY3VyZUJvb3RDb21tb24uaCZx dW90Ozxicj4NCis8YnI+DQorZXh0ZXJuIFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUg Jm5ic3A7Km1SZWRmaXNoUmVzb3VyY2VQcml2YXRlOzxicj4NCitleHRlcm4gRUZJX0hBTkRMRSAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDttUmVkZmlzaFJlc291cmNlQ29uZmlnUHJvdG9jb2xIYW5kbGU7PGJy Pg0KKzxicj4NCitFRklfU1RBVFVTPGJyPg0KK0hhbmRsZVJlc291cmNlICg8YnI+DQorICZuYnNw O0lOICZuYnNwO1JFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEUgJm5ic3A7KlByaXZhdGUs PGJyPg0KKyAmbmJzcDtJTiAmbmJzcDtFRklfU1RSSU5HICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1VyaTxi cj4NCisgJm5ic3A7KTs8YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7UHJvdmlzaW9uaW5n IHJlZGZpc2ggcmVzb3VyY2UgYnkgZ2l2ZW4gVVJJLjxicj4NCis8YnI+DQorICZuYnNwO0BwYXJh bVtpbl0gJm5ic3A7Jm5ic3A7VGhpcyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQ b2ludGVyIHRvIEVGSV9IUF9SRURGSVNIX0hJSV9QUk9UT0NPTCBpbnN0YW5jZS48YnI+DQorICZu YnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VXJpICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO1RhcmdldCBVUkkgdG8gY3JlYXRlIHJlc291cmNlLjxicj4NCisgJm5ic3A7 QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtQb3N0TW9kZSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUUlVFIGlmIHRoZSByZXNv dXJjZSBkb2VzIG5vdCBleGlzdCwgcG9zdCBtZXRob2QgaXMgdXNlZC48YnI+DQorICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0ZBTFNFIGlmIHRoZSByZXNvdXJjZSBleGlzdCBidXQg cHJvcGVydHkgaXMgbWlzc2luZywgcHV0IG1ldGhvZCBpcyB1c2VkLjxicj4NCis8YnI+DQorICZu YnNwO0ByZXR2YWwgRUZJX1NVQ0NFU1MgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VmFsdWUgaXMgcmV0 dXJuZWQgc3VjY2Vzc2Z1bGx5Ljxicj4NCisgJm5ic3A7QHJldHZhbCBPdGhlcnMgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U29tZSBlcnJvciBoYXBw ZW5lZC48YnI+DQorPGJyPg0KKyoqLzxicj4NCitFRklfU1RBVFVTPGJyPg0KK0VGSUFQSTxicj4N CitSZWRmaXNoUmVzb3VyY2VQcm92aXNpb25pbmdSZXNvdXJjZSAoPGJyPg0KKyAmbmJzcDtJTiAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtFREtJSV9SRURGSVNIX1JFU09VUkNFX0NPTkZJR19QUk9U T0NPTCAmbmJzcDsqVGhpcyw8YnI+DQorICZuYnNwO0lOICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O0VGSV9TVFJJTkcgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7VXJpLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Qk9PTEVBTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb3N0TW9kZTxicj4NCisgJm5ic3A7KTxi cj4NCit7PGJyPg0KKyAmbmJzcDtSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICZuYnNw OypQcml2YXRlOzxicj4NCisgJm5ic3A7RUZJX1NUQVRVUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdGF0 dXM7PGJyPg0KKyAmbmJzcDtSRURGSVNIX1JFU1BPTlNFICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1Jlc3BvbnNlOzxicj4NCis8YnI+DQorICZuYnNwO2lmICgoVGhpcyA9 PSBOVUxMKSB8fCBJU19FTVBUWV9TVFJJTkcgKFVyaSkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwO3JldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxi cj4NCisgJm5ic3A7REVCVUcgKChSRURGSVNIX0RFQlVHX1RSQUNFLCAmcXVvdDslYTogcHJvdmlz aW9uaW5nIGluICVzIG1vZGVcbiZxdW90OywgX19mdW5jX18sIChQb3N0TW9kZSA/IEwmcXVvdDtQ T1NUJnF1b3Q7IDogTCZxdW90O1BBVENIJnF1b3Q7KSkpOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+ DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86 cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+VGhpcyBtZXNz YWdlIGNvbmZsaWN0cyB3aXRoIFBvc3RNb2RlIHBhcmFtZXRlciBkZXNjcmlwdGlvbi48bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86 cD48L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttYXJnaW4tYm90dG9tOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48 L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUu MHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4rPGJyPg0KKyAmbmJz cDtaZXJvTWVtICgmYW1wO1Jlc3BvbnNlLCBzaXplb2YgKFJFREZJU0hfUkVTUE9OU0UpKTs8YnI+ DQorICZuYnNwO1ByaXZhdGUgPSBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFX0RBVEFf RlJPTV9SRVNPVVJDRV9QUk9UT0NPTCAoVGhpcyk7PGJyPg0KKzxicj4NCisgJm5ic3A7aWYgKFBy aXZhdGUtJmd0O1JlZGZpc2hTZXJ2aWNlID09IE5VTEwpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwO3JldHVybiBFRklfTk9UX1JFQURZOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZu YnNwO1N0YXR1cyA9IFJlZGZpc2hIdHRwR2V0UmVzb3VyY2UgKFByaXZhdGUtJmd0O1JlZGZpc2hT ZXJ2aWNlLCBVcmksIE5VTEwsICZhbXA7UmVzcG9uc2UsIFRSVUUpOzxicj4NCisgJm5ic3A7aWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChE RUJVR19FUlJPUiwgJnF1b3Q7JWE6IGdldCByZXNvdXJjZSBmcm9tOiAlcyBmYWlsZWRcbiZxdW90 OywgX19mdW5jX18sIFVyaSkpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIFN0YXR1 czs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtQcml2YXRlLSZndDtVcmkgJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PSBVcmk7PGJyPg0KKyAmbmJzcDtQcml2YXRlLSZndDtQYXls b2FkID0gUmVzcG9uc2UuUGF5bG9hZDs8YnI+DQorICZuYnNwO0FTU0VSVCAoUHJpdmF0ZS0mZ3Q7 UGF5bG9hZCAhPSBOVUxMKTs8YnI+DQorPGJyPg0KKyAmbmJzcDtTdGF0dXMgPSBSZWRmaXNoUHJv dmlzaW9uaW5nUmVzb3VyY2VDb21tb24gKFByaXZhdGUsICFQb3N0TW9kZSk7PGJyPg0KKyAmbmJz cDtpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtERUJV RyAoKERFQlVHX0VSUk9SLCAmcXVvdDslYTogZmFpbGVkIHRvIHByb3Zpc2lvbiByZXNvdXJjZSB0 bzogJXM6ICVyXG4mcXVvdDssIF9fZnVuY19fLCBVcmksIFN0YXR1cykpOzxicj4NCisgJm5ic3A7 fSBlbHNlIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOy8vPGJyPg0KKyAmbmJzcDsmbmJzcDsm bmJzcDsvLyBHZXQgbGF0ZXN0IEVUYWcgb24gVVJJIGFuZCBrZWVwIGl0IGluIHZhcmlhYmxlLjxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Ly88YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO1NldEV0 YWdGcm9tVXJpIChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSwgUHJpdmF0ZS0mZ3Q7VXJpLCBU UlVFKTs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7 Ly8gUmVsZWFzZSByZXNvdXJjZTxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO1JlZGZpc2hI dHRwRnJlZVJlc3BvbnNlICgmYW1wO1Jlc3BvbnNlKTs8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0 O1BheWxvYWQgPSBOVUxMOzxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBTdGF0dXM7PGJyPg0K K308YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7Q29uc3VtZSByZXNvdXJjZSBmcm9tIGdp dmVuIFVSSS48YnI+DQorPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO1RoaXMg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UG9pbnRlciB0byBFRklfSFBfUkVERklT SF9ISUlfUFJPVE9DT0wgaW5zdGFuY2UuPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZu YnNwO1VyaSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgdGFyZ2V0 IFVSSSB0byBjb25zdW1lLjxicj4NCis8YnI+DQorICZuYnNwO0ByZXR2YWwgRUZJX1NVQ0NFU1Mg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VmFsdWUgaXMgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5Ljxicj4N CisgJm5ic3A7QHJldHZhbCBPdGhlcnMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7U29tZSBlcnJvciBoYXBwZW5lZC48YnI+DQorPGJyPg0KKyoqLzxi cj4NCitFRklfU1RBVFVTPGJyPg0KK0VGSUFQSTxicj4NCitSZWRmaXNoUmVzb3VyY2VDb25zdW1l UmVzb3VyY2UgKDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RURLSUlf UkVERklTSF9SRVNPVVJDRV9DT05GSUdfUFJPVE9DT0wgJm5ic3A7KlRoaXMsPGJyPg0KKyAmbmJz cDtJTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtFRklfU1RSSU5HICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1VyaTxicj4NCisgJm5i c3A7KTxicj4NCit7PGJyPg0KKyAmbmJzcDtSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRF ICZuYnNwOypQcml2YXRlOzxicj4NCisgJm5ic3A7RUZJX1NUQVRVUyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtTdGF0dXM7PGJyPg0KKyAmbmJzcDtSRURGSVNIX1JFU1BPTlNFICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Jlc3BvbnNlOzxicj4NCisgJm5ic3A7RUZJX1NUUklORyAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtQZW5kaW5nU2V0dGluZ1VyaTs8YnI+DQorICZuYnNwO1JFREZJU0hf UkVTUE9OU0UgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UGVuZGluZ1Nl dHRpbmdSZXNwb25zZTs8YnI+DQorICZuYnNwO1JFREZJU0hfUkVTUE9OU0UgJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KkV4cGVjdGVkUmVzcG9uc2U7PGJyPg0KKyAmbmJz cDtDSEFSOCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsq RXRhZzs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoKFRoaXMgPT0gTlVMTCkgfHwgSVNfRU1QVFlf U1RSSU5HIChVcmkpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO1plcm9NZW0g KCZhbXA7UmVzcG9uc2UsIHNpemVvZiAoUkVERklTSF9SRVNQT05TRSkpOzxicj4NCisgJm5ic3A7 WmVyb01lbSAoJmFtcDtQZW5kaW5nU2V0dGluZ1Jlc3BvbnNlLCBzaXplb2YgKFJFREZJU0hfUkVT UE9OU0UpKTs8YnI+DQorICZuYnNwO1ByaXZhdGUgPSBSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9Q UklWQVRFX0RBVEFfRlJPTV9SRVNPVVJDRV9QUk9UT0NPTCAoVGhpcyk7PGJyPg0KKzxicj4NCisg Jm5ic3A7aWYgKFByaXZhdGUtJmd0O1JlZGZpc2hTZXJ2aWNlID09IE5VTEwpIHs8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwO3JldHVybiBFRklfTk9UX1JFQURZOzxicj4NCisgJm5ic3A7fTxicj4N Cis8YnI+DQorICZuYnNwO1N0YXR1cyA9IFJlZGZpc2hIdHRwR2V0UmVzb3VyY2UgKFByaXZhdGUt Jmd0O1JlZGZpc2hTZXJ2aWNlLCBVcmksIE5VTEwsICZhbXA7UmVzcG9uc2UsIFRSVUUpOzxicj4N CisgJm5ic3A7aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7REVCVUcgKChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IGdldCByZXNvdXJjZSBmcm9tOiAlcyBm YWlsZWRcbiZxdW90OywgX19mdW5jX18sIFVyaSkpOzxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7 cmV0dXJuIFN0YXR1czs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4N CisgJm5ic3A7Ly8gQ2hlY2sgYW5kIHNlZSBpZiAmcXVvdDtAUmVkZmlzaC5TZXR0aW5ncyZxdW90 OyBleGlzdCBvciBub3QuPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7UGVuZGluZ1NldHRp bmdVcmkgPSBOVUxMOzxicj4NCisgJm5ic3A7U3RhdHVzICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOz0gR2V0UGVuZGluZ1Nl dHRpbmdzICg8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O1JlZGZp c2hTZXJ2aWNlLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmVzcG9uc2UuUGF5bG9h ZCw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7UGVuZGluZ1NldHRpbmdSZXNw b25zZSw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7UGVuZGluZ1NldHRpbmdV cmk8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyk7PGJyPg0KKyAmbmJzcDtpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChSRURG SVNIX0RFQlVHX1RSQUNFLCAmcXVvdDslYTogQFJlZGZpc2guU2V0dGluZ3MgZm91bmQ6ICVzXG4m cXVvdDssIF9fZnVuY19fLCBQZW5kaW5nU2V0dGluZ1VyaSkpOzxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7UHJpdmF0ZS0mZ3Q7VXJpICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOz0gUGVuZGluZ1Nl dHRpbmdVcmk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtFeHBlY3RlZFJlc3BvbnNlID0gJmFt cDtQZW5kaW5nU2V0dGluZ1Jlc3BvbnNlOzxicj4NCisgJm5ic3A7fSBlbHNlIHs8YnI+DQorICZu YnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O1VyaSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9 IFVyaTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0V4cGVjdGVkUmVzcG9uc2UgPSAmYW1wO1Jl c3BvbnNlOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0O1Bh eWxvYWQgPSBFeHBlY3RlZFJlc3BvbnNlLSZndDtQYXlsb2FkOzxicj4NCisgJm5ic3A7QVNTRVJU IChQcml2YXRlLSZndDtQYXlsb2FkICE9IE5VTEwpOzxicj4NCis8YnI+DQorICZuYnNwO1ByaXZh dGUtJmd0O0pzb24gPSBKc29uRHVtcFN0cmluZyAoUmVkZmlzaEpzb25JblBheWxvYWQgKFByaXZh dGUtJmd0O1BheWxvYWQpLCBFREtJSV9KU09OX0NPTVBBQ1QpOzxicj4NCisgJm5ic3A7QVNTRVJU IChQcml2YXRlLSZndDtKc29uICE9IE5VTEwpOzxicj4NCis8YnI+DQorICZuYnNwOy8vPGJyPg0K KyAmbmJzcDsvLyBTZWFyY2hpbmcgZm9yIGV0YWcgaW4gSFRUUCByZXNwb25zZSBoZWFkZXI8YnI+ DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtFdGFnICZuYnNwOyZuYnNwOz0gTlVMTDs8YnI+DQor ICZuYnNwO1N0YXR1cyA9IEdldEh0dHBSZXNwb25zZUV0YWcgKEV4cGVjdGVkUmVzcG9uc2UsICZh bXA7RXRhZyk7PGJyPg0KKyAmbmJzcDtpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDtERUJVRyAoKERFQlVHX0VSUk9SLCAmcXVvdDslYTogZmFpbGVkIHRv IGdldCBFVGFnIGZyb20gSFRUUCBoZWFkZXJcbiZxdW90OywgX19mdW5jX18pKTs8YnI+DQorICZu YnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtTdGF0dXMgPSBSZWRmaXNoQ29uc3VtZVJlc291cmNl Q29tbW9uIChQcml2YXRlLCBQcml2YXRlLSZndDtKc29uLCBFdGFnKTs8YnI+DQorICZuYnNwO2lm IChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgo REVCVUdfRVJST1IsICZxdW90OyVhOiBmYWlsZWQgdG8gY29uc3VtZSByZXNvdXJjZSBmcm9tOiAl czogJXJcbiZxdW90OywgX19mdW5jX18sIFByaXZhdGUtJmd0O1VyaSwgU3RhdHVzKSk7PGJyPg0K KyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwOy8vIFJlbGVhc2Ug cmVzb3VyY2U8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDtSZWRmaXNoSHR0cEZyZWVSZXNw b25zZSAoJmFtcDtSZXNwb25zZSk7PGJyPg0KKyAmbmJzcDtSZWRmaXNoSHR0cEZyZWVSZXNwb25z ZSAoJmFtcDtQZW5kaW5nU2V0dGluZ1Jlc3BvbnNlKTs8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0 O1BheWxvYWQgPSBOVUxMOzxicj4NCis8YnI+DQorICZuYnNwO2lmIChQcml2YXRlLSZndDtKc29u ICE9IE5VTEwpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChQcml2YXRlLSZn dDtKc29uKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O0pzb24gPSBOVUxM Ozxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO2lmIChFdGFnICE9IE5VTEwpIHs8 YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChFdGFnKTs8YnI+DQorICZuYnNwO308 YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoUGVuZGluZ1NldHRpbmdVcmkgIT0gTlVMTCkgezxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7RnJlZVBvb2wgKFBlbmRpbmdTZXR0aW5nVXJpKTs8YnI+DQor ICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtyZXR1cm4gU3RhdHVzOzxicj4NCit9PGJyPg0K Kzxicj4NCisvKio8YnI+DQorICZuYnNwO0dldCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHByb3Rv Y29sLjxicj4NCis8YnI+DQorICZuYnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VGhpcyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb2ludGVyIHRvIEVGSV9IUF9SRURGSVNIX0hJ SV9QUk9UT0NPTCBpbnN0YW5jZS48YnI+DQorICZuYnNwO0BwYXJhbVtvdXRdICZuYnNwO1NjaGVt YSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdXBwb3J0ZWQgc2NoZW1hLjxicj4NCisgJm5ic3A7QHBh cmFtW291dF0gJm5ic3A7TWFqb3IgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3VwcG9ydGVk IG1ham9yIG51bWJlci48YnI+DQorICZuYnNwO0BwYXJhbVtvdXRdICZuYnNwO01pbm9yICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO1N1cHBvcnRlZCBtaW5vciBudW1iZXIuPGJyPg0KKyAmbmJz cDtAcGFyYW1bb3V0XSAmbmJzcDtFcnJhdGEgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3VwcG9ydGVk IGVycmF0YSBudW1iZXIuPGJyPg0KKzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtWYWx1ZSBpcyByZXR1cm5lZCBzdWNjZXNzZnVsbHkuPGJyPg0K KyAmbmJzcDtAcmV0dmFsIE90aGVycyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtTb21lIGVycm9yIGhhcHBlbmVkLjxicj4NCis8YnI+DQorKiovPGJy Pg0KK0VGSV9TVEFUVVM8YnI+DQorRUZJQVBJPGJyPg0KK1JlZGZpc2hSZXNvdXJjZUdldEluZm8g KDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RURLSUlfUkVERklTSF9S RVNPVVJDRV9DT05GSUdfUFJPVE9DT0wgJm5ic3A7KlRoaXMsPGJyPg0KKyAmbmJzcDtPVVQgJm5i c3A7Jm5ic3A7Jm5ic3A7UkVERklTSF9TQ0hFTUFfSU5GTyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqSW5mbzxicj4NCisgJm5i c3A7KTxicj4NCit7PGJyPg0KKyAmbmJzcDtpZiAoKFRoaXMgPT0gTlVMTCkgfHwgKEluZm8gPT0g TlVMTCkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBFRklfSU5WQUxJRF9QQVJB TUVURVI7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7QXNjaWlTdHJDcHlTIChJ bmZvLSZndDtTY2hlbWEsIFJFREZJU0hfU0NIRU1BX1NUUklOR19TSVpFLCBSRVNPVVJDRV9TQ0hF TUEpOzxicj4NCisgJm5ic3A7QXNjaWlTdHJDcHlTIChJbmZvLSZndDtNYWpvciwgUkVERklTSF9T Q0hFTUFfVkVSU0lPTl9TSVpFLCBSRVNPVVJDRV9TQ0hFTUFfTUFKT1IpOzxicj4NCisgJm5ic3A7 QXNjaWlTdHJDcHlTIChJbmZvLSZndDtNaW5vciwgUkVERklTSF9TQ0hFTUFfVkVSU0lPTl9TSVpF LCBSRVNPVVJDRV9TQ0hFTUFfTUlOT1IpOzxicj4NCisgJm5ic3A7QXNjaWlTdHJDcHlTIChJbmZv LSZndDtFcnJhdGEsIFJFREZJU0hfU0NIRU1BX1ZFUlNJT05fU0laRSwgUkVTT1VSQ0VfU0NIRU1B X0VSUkFUQSk7PGJyPg0KKzxicj4NCisgJm5ic3A7cmV0dXJuIEVGSV9TVUNDRVNTOzxicj4NCit9 PGJyPg0KKzxicj4NCisvKio8YnI+DQorICZuYnNwO1VwZGF0ZSByZXNvdXJjZSB0byBnaXZlbiBV UkkuPGJyPg0KKzxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtUaGlzICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BvaW50ZXIgdG8gRUZJX0hQX1JFREZJU0hfSElJ X1BST1RPQ09MIGluc3RhbmNlLjxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtV cmkgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhlIHRhcmdldCBVUkkg dG8gY29uc3VtZS48YnI+DQorPGJyPg0KKyAmbmJzcDtAcmV0dmFsIEVGSV9TVUNDRVNTICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1ZhbHVlIGlzIHJldHVybmVkIHN1Y2Nlc3NmdWxseS48YnI+DQorICZu YnNwO0ByZXR2YWwgT3RoZXJzICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO1NvbWUgZXJyb3IgaGFwcGVuZWQuPGJyPg0KKzxicj4NCisqKi88YnI+DQor RUZJX1NUQVRVUzxicj4NCitFRklBUEk8YnI+DQorUmVkZmlzaFJlc291cmNlVXBkYXRlICg8YnI+ DQorICZuYnNwO0lOICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0VES0lJX1JFREZJU0hfUkVTT1VS Q0VfQ09ORklHX1BST1RPQ09MICZuYnNwOypUaGlzLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7RUZJX1NUUklORyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtVcmk8YnI+DQorICZuYnNwOyk8YnI+DQorezxi cj4NCisgJm5ic3A7UkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAmbmJzcDsqUHJpdmF0 ZTs8YnI+DQorICZuYnNwO0VGSV9TVEFUVVMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3RhdHVzOzxicj4N CisgJm5ic3A7UkVERklTSF9SRVNQT05TRSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtSZXNwb25zZTs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoKFRoaXMgPT0gTlVMTCkg fHwgSVNfRU1QVFlfU1RSSU5HIChVcmkpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1 cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZu YnNwO1plcm9NZW0gKCZhbXA7UmVzcG9uc2UsIHNpemVvZiAoUkVERklTSF9SRVNQT05TRSkpOzxi cj4NCisgJm5ic3A7UHJpdmF0ZSA9IFJFREZJU0hfUkVTT1VSQ0VfQ09NTU9OX1BSSVZBVEVfREFU QV9GUk9NX1JFU09VUkNFX1BST1RPQ09MIChUaGlzKTs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAo UHJpdmF0ZS0mZ3Q7UmVkZmlzaFNlcnZpY2UgPT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7cmV0dXJuIEVGSV9OT1RfUkVBRFk7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisg Jm5ic3A7U3RhdHVzID0gUmVkZmlzaEh0dHBHZXRSZXNvdXJjZSAoUHJpdmF0ZS0mZ3Q7UmVkZmlz aFNlcnZpY2UsIFVyaSwgTlVMTCwgJmFtcDtSZXNwb25zZSwgVFJVRSk7PGJyPg0KKyAmbmJzcDtp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtERUJVRyAo KERFQlVHX0VSUk9SLCAmcXVvdDslYTogZ2V0IHJlc291cmNlIGZyb206ICVzIGZhaWxlZFxuJnF1 b3Q7LCBfX2Z1bmNfXywgVXJpKSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gU3Rh dHVzOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0O1VyaSAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs9IFVyaTs8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0O1Bh eWxvYWQgPSBSZXNwb25zZS5QYXlsb2FkOzxicj4NCisgJm5ic3A7QVNTRVJUIChQcml2YXRlLSZn dDtQYXlsb2FkICE9IE5VTEwpOzxicj4NCis8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0O0pzb24g PSBKc29uRHVtcFN0cmluZyAoUmVkZmlzaEpzb25JblBheWxvYWQgKFByaXZhdGUtJmd0O1BheWxv YWQpLCBFREtJSV9KU09OX0NPTVBBQ1QpOzxicj4NCisgJm5ic3A7QVNTRVJUIChQcml2YXRlLSZn dDtKc29uICE9IE5VTEwpOzxicj4NCis8YnI+DQorICZuYnNwO1N0YXR1cyA9IFJlZGZpc2hVcGRh dGVSZXNvdXJjZUNvbW1vbiAoUHJpdmF0ZSwgUHJpdmF0ZS0mZ3Q7SnNvbik7PGJyPg0KKyAmbmJz cDtpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtERUJV RyAoKERFQlVHX0VSUk9SLCAmcXVvdDslYTogZmFpbGVkIHRvIHVwZGF0ZSByZXNvdXJjZSB0bzog JXM6ICVyXG4mcXVvdDssIF9fZnVuY19fLCBVcmksIFN0YXR1cykpOzxicj4NCisgJm5ic3A7fSBl bHNlIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOy8vPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDsvLyBHZXQgbGF0ZXN0IEVUYWcgb24gVVJJIGFuZCBrZWVwIGl0IGluIHZhcmlhYmxlLjxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Ly88YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO1NldEV0YWdG cm9tVXJpIChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSwgUHJpdmF0ZS0mZ3Q7VXJpLCBUUlVF KTs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7Ly8g UmVsZWFzZSByZXNvdXJjZTxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO1JlZGZpc2hIdHRw RnJlZVJlc3BvbnNlICgmYW1wO1Jlc3BvbnNlKTs8YnI+DQorICZuYnNwO1ByaXZhdGUtJmd0O1Bh eWxvYWQgPSBOVUxMOzxicj4NCis8YnI+DQorICZuYnNwO2lmIChQcml2YXRlLSZndDtKc29uICE9 IE5VTEwpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChQcml2YXRlLSZndDtK c29uKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O0pzb24gPSBOVUxMOzxi cj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBTdGF0dXM7PGJyPg0KK308 YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7Q2hlY2sgcmVzb3VyY2Ugb24gZ2l2ZW4gVVJJ Ljxicj4NCis8YnI+DQorICZuYnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VGhpcyAmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb2ludGVyIHRvIEVGSV9IUF9SRURGSVNIX0hJSV9Q Uk9UT0NPTCBpbnN0YW5jZS48YnI+DQorICZuYnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VXJp ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoZSB0YXJnZXQgVVJJIHRv IGNvbnN1bWUuPGJyPg0KKzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtWYWx1ZSBpcyByZXR1cm5lZCBzdWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJz cDtAcmV0dmFsIE90aGVycyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtTb21lIGVycm9yIGhhcHBlbmVkLjxicj4NCis8YnI+DQorKiovPGJyPg0KK0VG SV9TVEFUVVM8YnI+DQorRUZJQVBJPGJyPg0KK1JlZGZpc2hSZXNvdXJjZUNoZWNrICg8YnI+DQor ICZuYnNwO0lOICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0VES0lJX1JFREZJU0hfUkVTT1VSQ0Vf Q09ORklHX1BST1RPQ09MICZuYnNwOypUaGlzLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7RUZJX1NUUklORyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtVcmk8YnI+DQorICZuYnNwOyk8YnI+DQorezxicj4N CisgJm5ic3A7UkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURSAmbmJzcDsqUHJpdmF0ZTs8 YnI+DQorICZuYnNwO0VGSV9TVEFUVVMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3RhdHVzOzxicj4NCisg Jm5ic3A7UkVERklTSF9SRVNQT05TRSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtSZXNwb25zZTs8YnI+DQorICZuYnNwO0NIQVI4ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypFdGFnOzxicj4NCis8YnI+DQorICZuYnNwO2lmICgo VGhpcyA9PSBOVUxMKSB8fCBJU19FTVBUWV9TVFJJTkcgKFVyaSkpIHs8YnI+DQorICZuYnNwOyZu YnNwOyZuYnNwO3JldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7PGJyPg0KKyAmbmJzcDt9PGJy Pg0KKzxicj4NCisgJm5ic3A7WmVyb01lbSAoJmFtcDtSZXNwb25zZSwgc2l6ZW9mIChSRURGSVNI X1JFU1BPTlNFKSk7PGJyPg0KKyAmbmJzcDtQcml2YXRlID0gUkVERklTSF9SRVNPVVJDRV9DT01N T05fUFJJVkFURV9EQVRBX0ZST01fUkVTT1VSQ0VfUFJPVE9DT0wgKFRoaXMpOzxicj4NCis8YnI+ DQorICZuYnNwO2lmIChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSA9PSBOVUxMKSB7PGJyPg0K KyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX05PVF9SRUFEWTs8YnI+DQorICZuYnNwO308 YnI+DQorPGJyPg0KKyAmbmJzcDtTdGF0dXMgPSBSZWRmaXNoSHR0cEdldFJlc291cmNlIChQcml2 YXRlLSZndDtSZWRmaXNoU2VydmljZSwgVXJpLCBOVUxMLCAmYW1wO1Jlc3BvbnNlLCBUUlVFKTs8 YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiBnZXQgcmVzb3VyY2UgZnJvbTog JXMgZmFpbGVkXG4mcXVvdDssIF9fZnVuY19fLCBVcmkpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwO3JldHVybiBTdGF0dXM7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7UHJp dmF0ZS0mZ3Q7VXJpICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOz0gVXJpOzxicj4NCisgJm5ic3A7 UHJpdmF0ZS0mZ3Q7UGF5bG9hZCA9IFJlc3BvbnNlLlBheWxvYWQ7PGJyPg0KKyAmbmJzcDtBU1NF UlQgKFByaXZhdGUtJmd0O1BheWxvYWQgIT0gTlVMTCk7PGJyPg0KKzxicj4NCisgJm5ic3A7UHJp dmF0ZS0mZ3Q7SnNvbiA9IEpzb25EdW1wU3RyaW5nIChSZWRmaXNoSnNvbkluUGF5bG9hZCAoUHJp dmF0ZS0mZ3Q7UGF5bG9hZCksIEVES0lJX0pTT05fQ09NUEFDVCk7PGJyPg0KKyAmbmJzcDtBU1NF UlQgKFByaXZhdGUtJmd0O0pzb24gIT0gTlVMTCk7PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88YnI+ DQorICZuYnNwOy8vIEZpbmQgZXRhZyBpbiBIVFRQIHJlc3BvbnNlIGhlYWRlcjxicj4NCisgJm5i c3A7Ly88YnI+DQorICZuYnNwO0V0YWcgJm5ic3A7Jm5ic3A7PSBOVUxMOzxicj4NCisgJm5ic3A7 U3RhdHVzID0gR2V0SHR0cFJlc3BvbnNlRXRhZyAoJmFtcDtSZXNwb25zZSwgJmFtcDtFdGFnKTs8 YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiBmYWlsZWQgdG8gZ2V0IEVUYWcg ZnJvbSBIVFRQIGhlYWRlclxuJnF1b3Q7LCBfX2Z1bmNfXykpOzxicj4NCisgJm5ic3A7fTxicj4N Cis8YnI+DQorICZuYnNwO1N0YXR1cyA9IFJlZGZpc2hDaGVja1Jlc291cmNlQ29tbW9uIChQcml2 YXRlLCBQcml2YXRlLSZndDtKc29uLCBFdGFnKTs8YnI+DQorICZuYnNwO2lmIChFRklfRVJST1Ig KFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1Is ICZxdW90OyVhOiBmYWlsZWQgdG8gY2hlY2sgcmVzb3VyY2UgZnJvbTogJXM6ICVyXG4mcXVvdDss IF9fZnVuY19fLCBVcmksIFN0YXR1cykpOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZu YnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBSZWxlYXNlIHJlc291cmNlPGJyPg0KKyAmbmJzcDsvLzxi cj4NCisgJm5ic3A7aWYgKEV0YWcgIT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7 RnJlZVBvb2wgKEV0YWcpOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO1JlZGZp c2hIdHRwRnJlZVJlc3BvbnNlICgmYW1wO1Jlc3BvbnNlKTs8YnI+DQorICZuYnNwO1ByaXZhdGUt Jmd0O1BheWxvYWQgPSBOVUxMOzxicj4NCis8YnI+DQorICZuYnNwO2lmIChQcml2YXRlLSZndDtK c29uICE9IE5VTEwpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChQcml2YXRl LSZndDtKc29uKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O0pzb24gPSBO VUxMOzxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBTdGF0dXM7PGJy Pg0KK308YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7SWRlbnRpZnkgcmVzb3VyY2Ugb24g Z2l2ZW4gVVJJLjxicj4NCis8YnI+DQorICZuYnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VGhp cyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb2ludGVyIHRvIEVES0lJX1JFREZJ U0hfUkVTT1VSQ0VfQ09ORklHX1BST1RPQ09MIGluc3RhbmNlLjxicj4NCisgJm5ic3A7QHBhcmFt W2luXSAmbmJzcDsmbmJzcDtVcmkgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7VGhlIHRhcmdldCBVUkkgdG8gY29uc3VtZS48YnI+DQorPGJyPg0KKyAmbmJzcDtAcmV0dmFs IEVGSV9TVUNDRVNTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgaXMgdGFyZ2V0IHJlc291cmNl IHdoaWNoIHdlIHdhbnQgdG8gaGFuZGxlLjxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfVU5TVVBQ T1JURUQgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7VGhpcyBpcyBub3QgdGhlIHRhcmdldCByZXNvdXJjZS48YnI+DQorICZuYnNwO0ByZXR2YWwg T3RoZXJzICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O1NvbWUgZXJyb3IgaGFwcGVuZWQuPGJyPg0KKzxicj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxi cj4NCitFRklBUEk8YnI+DQorUmVkZmlzaFJlc291cmNlSWRlbnRpZnkgKDxicj4NCisgJm5ic3A7 SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RURLSUlfUkVERklTSF9SRVNPVVJDRV9DT05GSUdf UFJPVE9DT0wgJm5ic3A7KlRoaXMsPGJyPg0KKyAmbmJzcDtJTiAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtFRklfU1RSSU5HICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO1VyaTxicj4NCisgJm5ic3A7KTxicj4NCit7PGJyPg0KKyAmbmJz cDtSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICZuYnNwOypQcml2YXRlOzxicj4NCisg Jm5ic3A7RUZJX1NUQVRVUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdGF0dXM7PGJyPg0KKyAmbmJzcDtS RURGSVNIX1JFU1BPTlNFICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Jl c3BvbnNlOzxicj4NCis8YnI+DQorICZuYnNwO2lmICgoVGhpcyA9PSBOVUxMKSB8fCBJU19FTVBU WV9TVFJJTkcgKFVyaSkpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBFRklfSU5W QUxJRF9QQVJBTUVURVI7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7WmVyb01l bSAoJmFtcDtSZXNwb25zZSwgc2l6ZW9mIChSRURGSVNIX1JFU1BPTlNFKSk7PGJyPg0KKyAmbmJz cDtQcml2YXRlID0gUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURV9EQVRBX0ZST01fUkVT T1VSQ0VfUFJPVE9DT0wgKFRoaXMpOzxicj4NCis8YnI+DQorICZuYnNwO2lmIChQcml2YXRlLSZn dDtSZWRmaXNoU2VydmljZSA9PSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1 cm4gRUZJX05PVF9SRUFEWTs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtTdGF0 dXMgPSBSZWRmaXNoSHR0cEdldFJlc291cmNlIChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSwg VXJpLCBOVUxMLCAmYW1wO1Jlc3BvbnNlLCBUUlVFKTs8YnI+DQorICZuYnNwO2lmIChFRklfRVJS T1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJS T1IsICZxdW90OyVhOiBnZXQgcmVzb3VyY2UgZnJvbTogJXMgZmFpbGVkXG4mcXVvdDssIF9fZnVu Y19fLCBVcmkpKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBTdGF0dXM7PGJyPg0K KyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7UHJpdmF0ZS0mZ3Q7VXJpICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOz0gVXJpOzxicj4NCisgJm5ic3A7UHJpdmF0ZS0mZ3Q7UGF5bG9hZCA9IFJl c3BvbnNlLlBheWxvYWQ7PGJyPg0KKyAmbmJzcDtBU1NFUlQgKFByaXZhdGUtJmd0O1BheWxvYWQg IT0gTlVMTCk7PGJyPg0KKzxicj4NCisgJm5ic3A7UHJpdmF0ZS0mZ3Q7SnNvbiA9IEpzb25EdW1w U3RyaW5nIChSZWRmaXNoSnNvbkluUGF5bG9hZCAoUHJpdmF0ZS0mZ3Q7UGF5bG9hZCksIEVES0lJ X0pTT05fQ09NUEFDVCk7PGJyPg0KKyAmbmJzcDtBU1NFUlQgKFByaXZhdGUtJmd0O0pzb24gIT0g TlVMTCk7PGJyPg0KKzxicj4NCisgJm5ic3A7U3RhdHVzID0gUmVkZmlzaElkZW50aWZ5UmVzb3Vy Y2VDb21tb24gKFByaXZhdGUsIFByaXZhdGUtJmd0O0pzb24pOzxicj4NCisgJm5ic3A7aWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChERUJV R19FUlJPUiwgJnF1b3Q7JWE6IGlkZW50aWZ5ICVzIGZhaWxlZDogJXJcbiZxdW90OywgX19mdW5j X18sIFVyaSwgU3RhdHVzKSk7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88 YnI+DQorICZuYnNwOy8vIFJlbGVhc2UgcmVzb3VyY2U8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAm bmJzcDtSZWRmaXNoSHR0cEZyZWVSZXNwb25zZSAoJmFtcDtSZXNwb25zZSk7PGJyPg0KKyAmbmJz cDtQcml2YXRlLSZndDtQYXlsb2FkID0gTlVMTDs8YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoUHJp dmF0ZS0mZ3Q7SnNvbiAhPSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtGcmVlUG9v bCAoUHJpdmF0ZS0mZ3Q7SnNvbik7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtQcml2YXRlLSZn dDtKc29uID0gTlVMTDs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtyZXR1cm4g U3RhdHVzOzxicj4NCit9PGJyPg0KKzxicj4NCitFREtJSV9SRURGSVNIX1JFU09VUkNFX0NPTkZJ R19QUk9UT0NPTCAmbmJzcDttUmVkZmlzaFJlc291cmNlQ29uZmlnID0gezxicj4NCisgJm5ic3A7 UmVkZmlzaFJlc291cmNlUHJvdmlzaW9uaW5nUmVzb3VyY2UsPGJyPg0KKyAmbmJzcDtSZWRmaXNo UmVzb3VyY2VDb25zdW1lUmVzb3VyY2UsPGJyPg0KKyAmbmJzcDtSZWRmaXNoUmVzb3VyY2VVcGRh dGUsPGJyPg0KKyAmbmJzcDtSZWRmaXNoUmVzb3VyY2VDaGVjayw8YnI+DQorICZuYnNwO1JlZGZp c2hSZXNvdXJjZUlkZW50aWZ5LDxicj4NCisgJm5ic3A7UmVkZmlzaFJlc291cmNlR2V0SW5mbzxi cj4NCit9Ozxicj4NCis8YnI+DQorLyoqPGJyPg0KKyAmbmJzcDtJbml0aWFsaXplIGEgUmVkZmlz aCBjb25maWd1cmUgaGFuZGxlci48YnI+DQorPGJyPg0KKyAmbmJzcDtUaGlzIGZ1bmN0aW9uIHdp bGwgYmUgY2FsbGVkIGJ5IHRoZSBSZWRmaXNoIGNvbmZpZyBkcml2ZXIgdG8gaW5pdGlhbGl6ZSBl YWNoIFJlZGZpc2ggY29uZmlndXJlPGJyPg0KKyAmbmJzcDtoYW5kbGVyLjxicj4NCis8YnI+DQor ICZuYnNwO0BwYXJhbVtpbl0gJm5ic3A7Jm5ic3A7VGhpcyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQb2ludGVyIHRvIEVES0lJ X1JFREZJU0hfQ09ORklHX0hBTkRMRVJfUFJPVE9DT0wgaW5zdGFuY2UuPGJyPg0KKyAmbmJzcDtA cGFyYW1baW5dICZuYnNwOyZuYnNwO1JlZGZpc2hDb25maWdTZXJ2aWNlSW5mbyBSZWRmaXNoIHNl cnZpY2UgaW5mb3JtYXRpb24uPGJyPg0KKzxicj4NCisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VT UyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgaGFuZGxl ciBoYXMgYmVlbiBpbml0aWFsaXplZCBzdWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJzcDtAcmV0dmFs IEVGSV9ERVZJQ0VfRVJST1IgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RmFpbGVkIHRvIGNyZWF0ZSBvciBjb25m aWd1cmUgdGhlIFJFU1QgRVggcHJvdG9jb2wgaW5zdGFuY2UuPGJyPg0KKyAmbmJzcDtAcmV0dmFs IEVGSV9BTFJFQURZX1NUQVJURUQgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBoYW5kbGVyIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6 ZWQuPGJyPg0KKyAmbmJzcDtAcmV0dmFsIE90aGVyICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0Vy cm9yIGhhcHBlbnMgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbi48YnI+DQorPGJyPg0KKyoqLzxi cj4NCitFRklfU1RBVFVTPGJyPg0KK0VGSUFQSTxicj4NCitSZWRmaXNoUmVzb3VyY2VJbml0ICg8 YnI+DQorICZuYnNwO0lOICZuYnNwO0VES0lJX1JFREZJU0hfQ09ORklHX0hBTkRMRVJfUFJPVE9D T0wgJm5ic3A7KlRoaXMsPGJyPg0KKyAmbmJzcDtJTiAmbmJzcDtSRURGSVNIX0NPTkZJR19TRVJW SUNFX0lORk9STUFUSU9OICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypSZWRmaXNoQ29uZmlnU2Vy dmljZUluZm88YnI+DQorICZuYnNwOyk8YnI+DQorezxicj4NCisgJm5ic3A7UkVERklTSF9SRVNP VVJDRV9DT01NT05fUFJJVkFURSAmbmJzcDsqUHJpdmF0ZTs8YnI+DQorPGJyPg0KKyAmbmJzcDtQ cml2YXRlID0gUkVERklTSF9SRVNPVVJDRV9DT01NT05fUFJJVkFURV9EQVRBX0ZST01fQ09ORklH X1BST1RPQ09MIChUaGlzKTs8YnI+DQorPGJyPg0KKyAmbmJzcDtQcml2YXRlLSZndDtSZWRmaXNo U2VydmljZSA9IFJlZGZpc2hDcmVhdGVTZXJ2aWNlIChSZWRmaXNoQ29uZmlnU2VydmljZUluZm8p Ozxicj4NCisgJm5ic3A7aWYgKFByaXZhdGUtJmd0O1JlZGZpc2hTZXJ2aWNlID09IE5VTEwpIHs8 YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiBFRklfREVWSUNFX0VSUk9SOzxicj4NCisg Jm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBFRklfU1VDQ0VTUzs8YnI+DQorfTxi cj4NCis8YnI+DQorLyoqPGJyPg0KKyAmbmJzcDtTdG9wIGEgUmVkZmlzaCBjb25maWd1cmUgaGFu ZGxlci48YnI+DQorPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dICZuYnNwOyZuYnNwO1RoaXMgJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UG9pbnRlciB0byBFREtJSV9SRURGSVNIX0NP TkZJR19IQU5ETEVSX1BST1RPQ09MIGluc3RhbmNlLjxicj4NCis8YnI+DQorICZuYnNwO0ByZXR2 YWwgRUZJX1NVQ0NFU1MgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBoYW5kbGVyIGhhcyBiZWVu IHN0b3BlZCBzdWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJzcDtAcmV0dmFsIE90aGVycyAmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTb21lIGVycm9yIGhh cHBlbmVkLjxicj4NCis8YnI+DQorKiovPGJyPg0KK0VGSV9TVEFUVVM8YnI+DQorRUZJQVBJPGJy Pg0KK1JlZGZpc2hSZXNvdXJjZVN0b3AgKDxicj4NCisgJm5ic3A7SU4gJm5ic3A7RURLSUlfUkVE RklTSF9DT05GSUdfSEFORExFUl9QUk9UT0NPTCAmbmJzcDsqVGhpczxicj4NCisgJm5ic3A7KTxi cj4NCit7PGJyPg0KKyAmbmJzcDtSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRFICZuYnNw OypQcml2YXRlOzxicj4NCis8YnI+DQorICZuYnNwO1ByaXZhdGUgPSBSRURGSVNIX1JFU09VUkNF X0NPTU1PTl9QUklWQVRFX0RBVEFfRlJPTV9DT05GSUdfUFJPVE9DT0wgKFRoaXMpOzxicj4NCis8 YnI+DQorICZuYnNwO2lmIChQcml2YXRlLSZndDtFdmVudCAhPSBOVUxMKSB7PGJyPg0KKyAmbmJz cDsmbmJzcDsmbmJzcDtnQlMtJmd0O0Nsb3NlRXZlbnQgKFByaXZhdGUtJmd0O0V2ZW50KTs8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwO1ByaXZhdGUtJmd0O0V2ZW50ID0gTlVMTDs8YnI+DQorICZu YnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAoUHJpdmF0ZS0mZ3Q7UmVkZmlzaFNlcnZpY2Ug IT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7UmVkZmlzaENsZWFudXBTZXJ2aWNl IChQcml2YXRlLSZndDtSZWRmaXNoU2VydmljZSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtQ cml2YXRlLSZndDtSZWRmaXNoU2VydmljZSA9IE5VTEw7PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxi cj4NCisgJm5ic3A7cmV0dXJuIEVGSV9TVUNDRVNTOzxicj4NCit9PGJyPg0KKzxicj4NCitFREtJ SV9SRURGSVNIX0NPTkZJR19IQU5ETEVSX1BST1RPQ09MICZuYnNwO21SZWRmaXNoQ29uZmlnSGFu ZGxlciA9IHs8YnI+DQorICZuYnNwO1JlZGZpc2hSZXNvdXJjZUluaXQsPGJyPg0KKyAmbmJzcDtS ZWRmaXNoUmVzb3VyY2VTdG9wPGJyPg0KK307PGJyPg0KKzxicj4NCisvKio8YnI+DQorICZuYnNw O0NhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gZ0VmaVJlc3RKc29uU3RydWN0dXJlUHJvdG9jb2xHdWlk IGlzIGluc3RhbGxlZC48YnI+DQorPGJyPg0KKyAmbmJzcDtAcGFyYW1baW5dIEV2ZW50ICZuYnNw OyZuYnNwOyZuYnNwO0V2ZW50IHdob3NlIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiBpcyBiZWluZyBp bnZva2VkLjxicj4NCisgJm5ic3A7QHBhcmFtW2luXSBDb250ZXh0ICZuYnNwO1BvaW50ZXIgdG8g dGhlIG5vdGlmaWNhdGlvbiBmdW5jdGlvbidzIGNvbnRleHQuPGJyPg0KKyoqLzxicj4NCitWT0lE PGJyPg0KK0VGSUFQSTxicj4NCitFZmlSZXN0SnNvblN0cnVjdHVyZVByb3RvY29sSXNSZWFkeSAo PGJyPg0KKyAmbmJzcDtJTiAmbmJzcDtFRklfRVZFTlQgJm5ic3A7RXZlbnQsPGJyPg0KKyAmbmJz cDtJTiAmbmJzcDtWT0lEICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypDb250 ZXh0PGJyPg0KKyAmbmJzcDspPGJyPg0KK3s8YnI+DQorICZuYnNwO0VGSV9TVEFUVVMgJm5ic3A7 U3RhdHVzOzxicj4NCis8YnI+DQorICZuYnNwO2lmIChtUmVkZmlzaFJlc291cmNlUHJpdmF0ZSA9 PSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm47PGJyPg0KKyAmbmJzcDt9 PGJyPg0KKzxicj4NCisgJm5ic3A7aWYgKG1SZWRmaXNoUmVzb3VyY2VQcml2YXRlLSZndDtKc29u U3RydWN0UHJvdG9jb2wgIT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJu Ozxicj4NCisgJm5ic3A7fTxicj4NCis8YnI+DQorICZuYnNwO1N0YXR1cyA9IGdCUy0mZ3Q7TG9j YXRlUHJvdG9jb2wgKDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7JmFtcDtnRWZpUmVzdEpzb25TdHJ1Y3R1cmVQcm90b2NvbEd1aWQsPGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtOVUxMLDxicj4NCisg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KFZPSUQgKiopJmFt cDttUmVkZmlzaFJlc291cmNlUHJpdmF0ZS0mZ3Q7SnNvblN0cnVjdFByb3RvY29sPGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDspOzxicj4NCisgJm5i c3A7aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVC VUcgKChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IGZhaWxlZCB0byBsb2NhdGUgZ0VmaVJlc3RKc29u U3RydWN0dXJlUHJvdG9jb2xHdWlkOiAlclxuJnF1b3Q7LCBfX2Z1bmNfXywgU3RhdHVzKSk7PGJy Pg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Z0JTLSZndDtDbG9zZUV2ZW50IChFdmVu dCk7PGJyPg0KK308YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7VW5sb2FkcyBhbiBpbWFn ZS48YnI+DQorPGJyPg0KKyAmbmJzcDtAcGFyYW0gJm5ic3A7SW1hZ2VIYW5kbGUgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SGFuZGxl IHRoYXQgaWRlbnRpZmllcyB0aGUgaW1hZ2UgdG8gYmUgdW5sb2FkZWQuPGJyPg0KKzxicj4NCisg Jm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgaW1hZ2UgaGFzIGJlZW4gdW5sb2FkZWQu PGJyPg0KKyAmbmJzcDtAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBJbWFnZUhhbmRsZSBp cyBub3QgYSB2YWxpZCBpbWFnZSBoYW5kbGUuPGJyPg0KKzxicj4NCisqKi88YnI+DQorRUZJX1NU QVRVUzxicj4NCitFRklBUEk8YnI+DQorUmVkZmlzaFJlc291cmNlVW5sb2FkICg8YnI+DQorICZu YnNwO0lOIEVGSV9IQU5ETEUgJm5ic3A7SW1hZ2VIYW5kbGU8YnI+DQorICZuYnNwOyk8YnI+DQor ezxicj4NCisgJm5ic3A7RUZJX1NUQVRVUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdGF0dXM7PGJyPg0KKyAmbmJzcDtFREtJSV9SRURGSVNI X0NPTkZJR19IQU5ETEVSX1BST1RPQ09MICZuYnNwOypDb25maWdIYW5kbGVyOzxicj4NCis8YnI+ DQorICZuYnNwO2lmIChtUmVkZmlzaFJlc291cmNlUHJpdmF0ZSA9PSBOVUxMKSB7PGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX05PVF9SRUFEWTs8YnI+DQorICZuYnNwO308YnI+ DQorPGJyPg0KKyAmbmJzcDtDb25maWdIYW5kbGVyID0gTlVMTDs8YnI+DQorPGJyPg0KKyAmbmJz cDsvLzxicj4NCisgJm5ic3A7Ly8gRmlyc3RseSwgZmluZCBDb25maWdIYW5kbGVyIFByb3RvY29s IGludGVyZmFjZSBpbiB0aGlzIEltYWdlSGFuZGxlLjxicj4NCisgJm5ic3A7Ly88YnI+DQorICZu YnNwO1N0YXR1cyA9IGdCUy0mZ3Q7T3BlblByb3RvY29sICg8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0ltYWdlSGFuZGxlLDxicj4NCisgJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDtnRWRrSUlSZWRmaXNo Q29uZmlnSGFuZGxlclByb3RvY29sR3VpZCw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyhWT0lEICoqKSZhbXA7Q29uZmlnSGFuZGxlciw8YnI+DQor ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO05VTEwsPGJyPg0K KyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtOVUxMLDxicj4N CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RUZJX09QRU5f UFJPVE9DT0xfQllfSEFORExFX1BST1RPQ09MPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDspOzxicj4NCisgJm5ic3A7aWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSB8fCAoQ29uZmlnSGFuZGxlciA9PSBOVUxMKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7cmV0dXJuIFN0YXR1czs8YnI+DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDtDb25m aWdIYW5kbGVyLSZndDtTdG9wIChDb25maWdIYW5kbGVyKTs8YnI+DQorPGJyPg0KKyAmbmJzcDsv Lzxicj4NCisgJm5ic3A7Ly8gTGFzdCwgdW5pbnN0YWxsIENvbmZpZ0hhbmRsZXIgUHJvdG9jb2wg YW5kIHJlc291cmNlIHByb3RvY29sLjxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO1N0YXR1 cyA9IGdCUy0mZ3Q7VW5pbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMgKDxicj4NCisg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SW1hZ2VIYW5kbGUs PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmYW1w O2dFZGtJSVJlZGZpc2hDb25maWdIYW5kbGVyUHJvdG9jb2xHdWlkLDxicj4NCisgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29uZmlnSGFuZGxlciw8YnI+DQor ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7Z0Vka0lJ UmVkZmlzaFJlc291cmNlQ29uZmlnUHJvdG9jb2xHdWlkLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDttUmVkZmlzaFJlc291cmNlUHJpdmF0 ZS0mZ3Q7UmVkZmlzaFJlc291cmNlQ29uZmlnLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TlVMTDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KTs8YnI+DQorPGJyPg0KKyAmbmJzcDtGcmVlUG9vbCAo bVJlZGZpc2hSZXNvdXJjZVByaXZhdGUpOzxicj4NCisgJm5ic3A7bVJlZGZpc2hSZXNvdXJjZVBy aXZhdGUgPSBOVUxMOzxicj4NCis8YnI+DQorICZuYnNwO3JldHVybiBTdGF0dXM7PGJyPg0KK308 YnI+DQorPGJyPg0KKy8qKjxicj4NCisgJm5ic3A7VGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHByb3Zp ZGVkIGJ5IFJlZGZpc2ggRmVhdHVyZSBkcml2ZXIuPGJyPg0KKzxicj4NCisgJm5ic3A7QHBhcmFt W2luXSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO1BvaW50ZXIgdG8gRURLSUlfUkVERklTSF9GRUFUVVJFX1BST1RPQ09MIGluc3Rh bmNlLjxicj4NCisgJm5ic3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtGZWF0 dXJlQWN0aW9uICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoZSBhY3Rpb24g UmVkZmlzaCBmZWF0dXJlIGRyaXZlciBzaG91bGQgdGFrZS48YnI+DQorICZuYnNwO0BwYXJhbVtp bl0gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VXJpICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO1RoZSBjb2xsZWN0aW9uIFVSSS48YnI+DQorICZuYnNwO0BwYXJhbVtpbl0g Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q29udGV4dCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgY29udGV4 dCBvZiBSZWRmaXNoIGZlYXR1cmUgZHJpdmVyLjxicj4NCisgJm5ic3A7QHBhcmFtW2luLG91dF0g SW5mb3JtYXRpb25FeGNoYW5nZSBUaGUgcG9pbnRlciB0byBSRVNPVVJDRV9JTkZPUk1BVElPTl9F WENIQU5HRTxicj4NCis8YnI+DQorICZuYnNwO0ByZXR2YWwgRUZJX1NVQ0NFU1MgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7UmVkZmlzaCBmZWF0dXJlIGRyaXZlciBjYWxsYmFjayBpcyBleGVjdXRlZCBz dWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJzcDtAcmV0dmFsIE90aGVycyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTb21lIGVycm9ycyBoYXBwZW5lZC48 YnI+DQorPGJyPg0KKyAmbmJzcDtAcmV0dmFsIEVGSV9TVUNDRVNTICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO1JlZGZpc2ggZmVhdHVyZSBkcml2ZXIgY2FsbGJhY2sgaXMgZXhlY3V0ZWQgc3VjY2Vzc2Z1 bGx5Ljxicj4NCisgJm5ic3A7QHJldHZhbCBPdGhlcnMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U29tZSBlcnJvcnMgaGFwcGVuZWQuPGJyPg0KKzxi cj4NCisqKi88YnI+DQorRUZJX1NUQVRVUzxicj4NCitFRklBUEk8YnI+DQorUmVkZmlzaEV4dGVy bmFsUmVzb3VyY2VSZXNvdXJjZUZlYXR1cmVDYWxsYmFjayAoPGJyPg0KKyAmbmJzcDtJTiAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtFREtJSV9SRURGSVNIX0ZFQVRVUkVfUFJPVE9DT0wgJm5ic3A7 KlRoaXMsPGJyPg0KKyAmbmJzcDtJTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtGRUFUVVJFX0NB TExCQUNLX0FDVElPTiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtGZWF0dXJlQWN0aW9uLDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Vk9JRCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsq Q29udGV4dCw8YnI+DQorICZuYnNwO0lOIE9VVCBSRVNPVVJDRV9JTkZPUk1BVElPTl9FWENIQU5H RSAmbmJzcDsmbmJzcDsqSW5mb3JtYXRpb25FeGNoYW5nZTxicj4NCisgJm5ic3A7KTxicj4NCit7 PGJyPg0KKyAmbmJzcDtFRklfU1RBVFVTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1N0YXR1czs8YnI+DQor ICZuYnNwO1JFREZJU0hfU0VSVklDRSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtSZWRmaXNoU2VydmljZTs8YnI+DQorICZuYnNwO1JFREZJU0hfUkVTT1VSQ0Vf Q09NTU9OX1BSSVZBVEUgJm5ic3A7KlByaXZhdGU7PGJyPg0KKyAmbmJzcDtFRklfU1RSSU5HICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1Jlc291cmNlVXJpOzxicj4NCisgJm5ic3A7RUZJX1NUUklORyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtTZWN1cmVCb290VXJpOzxicj4NCis8YnI+DQorICZuYnNwO2lmIChGZWF0 dXJlQWN0aW9uICE9IENhbGxiYWNrQWN0aW9uU3RhcnRPcGVyYXRpb24pIHs8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiBFRklfVU5TVVBQT1JURUQ7PGJyPg0KKyAmbmJzcDt9PGJyPg0K Kzxicj4NCisgJm5ic3A7UHJpdmF0ZSA9IChSRURGSVNIX1JFU09VUkNFX0NPTU1PTl9QUklWQVRF ICopQ29udGV4dDs8YnI+DQorPGJyPg0KKyAmbmJzcDtSZWRmaXNoU2VydmljZSA9IFByaXZhdGUt Jmd0O1JlZGZpc2hTZXJ2aWNlOzxicj4NCisgJm5ic3A7aWYgKFJlZGZpc2hTZXJ2aWNlID09IE5V TEwpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90 OyVhOiBubyBSZWRmaXNoIHNlcnZpY2UgY29uZmlndXJlZFxuJnF1b3Q7LCBfX2Z1bmNfXykpOzxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIEVGSV9OT1RfUkVBRFk7PGJyPg0KKyAmbmJz cDt9PGJyPg0KKzxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwOy8vIFNhdmUgaW4gcHJpdmF0 ZSBzdHJ1Y3R1cmUuPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7UHJpdmF0ZS0mZ3Q7SW5m b3JtYXRpb25FeGNoYW5nZSA9IEluZm9ybWF0aW9uRXhjaGFuZ2U7PGJyPg0KKzxicj4NCisgJm5i c3A7Ly88YnI+DQorICZuYnNwOy8vIEZpbmQgUmVkZmlzaCB2ZXJzaW9uIG9uIFJlZGZpc2ggc2Vy PGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7UHJpdmF0ZS0mZ3Q7UmVkZmlzaFZlcnNpb24g PSBSZWRmaXNoR2V0VmVyc2lvbiAoUmVkZmlzaFNlcnZpY2UpOzxicj4NCis8YnI+DQorICZuYnNw Oy8vPGJyPg0KKyAmbmJzcDsvLyBDcmVhdGUgdGhlIGZ1bGwgVVJJIGZyb20gUmVkZmlzaCBzZXJ2 aWNlIHJvb3QuPGJyPg0KKyAmbmJzcDsvLzxicj4NCisgJm5ic3A7UmVzb3VyY2VVcmkgPSAoRUZJ X1NUUklORylBbGxvY2F0ZVplcm9Qb29sIChNQVhfVVJJX0xFTkdUSCAqIHNpemVvZiAoQ0hBUjE2 KSk7PGJyPg0KKyAmbmJzcDtpZiAoUmVzb3VyY2VVcmkgPT0gTlVMTCkgezxicj4NCisgJm5ic3A7 Jm5ic3A7Jm5ic3A7REVCVUcgKChERUJVR19FUlJPUiwgJnF1b3Q7JWE6IEZhaWwgdG8gYWxsb2Nh dGUgbWVtb3J5IGZvciBmdWxsIFVSSS5cbiZxdW90OywgX19mdW5jX18pKTs8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzs8YnI+DQorICZuYnNwO308 YnI+DQorPGJyPg0KKyAmbmJzcDtTdHJDYXRTIChSZXNvdXJjZVVyaSwgTUFYX1VSSV9MRU5HVEgs IFByaXZhdGUtJmd0O1JlZGZpc2hWZXJzaW9uKTs8YnI+DQorICZuYnNwO1N0ckNhdFMgKFJlc291 cmNlVXJpLCBNQVhfVVJJX0xFTkdUSCwgSW5mb3JtYXRpb25FeGNoYW5nZS0mZ3Q7U2VuZEluZm9y bWF0aW9uLkZ1bGxVcmkpOzxicj4NCis8YnI+DQorICZuYnNwOy8vPGJyPg0KKyAmbmJzcDsvLyBJ bml0aWFsaXplIGNvbGxlY3Rpb24gcGF0aDxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO1Nl Y3VyZUJvb3RVcmkgPSBSZWRmaXNoR2V0VXJpIChSZXNvdXJjZVVyaSk7PGJyPg0KKyAmbmJzcDtp ZiAoU2VjdXJlQm9vdFVyaSA9PSBOVUxMKSB7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtBU1NF UlQgKEZBTFNFKTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO0ZyZWVQb29sIChSZXNvdXJjZVVy aSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7 PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7U3RhdHVzID0gSGFuZGxlUmVzb3Vy Y2UgKFByaXZhdGUsIFNlY3VyZUJvb3RVcmkpOzxicj4NCisgJm5ic3A7aWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7REVCVUcgKChERUJVR19FUlJPUiwg JnF1b3Q7JWE6IHByb2Nlc3MgZXh0ZXJuYWwgcmVzb3VyY2U6ICVzIGZhaWxlZDogJXJcbiZxdW90 OywgX19mdW5jX18sIFNlY3VyZUJvb3RVcmksIFN0YXR1cykpOzxicj4NCisgJm5ic3A7fTxicj4N Cis8YnI+DQorICZuYnNwO0ZyZWVQb29sIChTZWN1cmVCb290VXJpKTs8YnI+DQorICZuYnNwO0Zy ZWVQb29sIChSZXNvdXJjZVVyaSk7PGJyPg0KKyAmbmJzcDtyZXR1cm4gU3RhdHVzOzxicj4NCit9 PGJyPg0KKzxicj4NCisvKio8YnI+DQorICZuYnNwO0NhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gZ0Vk a0lJUmVkZmlzaEZlYXR1cmVQcm90b2NvbEd1aWQgaXMgaW5zdGFsbGVkLjxicj4NCis8YnI+DQor ICZuYnNwO0BwYXJhbVtpbl0gRXZlbnQgJm5ic3A7Jm5ic3A7Jm5ic3A7RXZlbnQgd2hvc2Ugbm90 aWZpY2F0aW9uIGZ1bmN0aW9uIGlzIGJlaW5nIGludm9rZWQuPGJyPg0KKyAmbmJzcDtAcGFyYW1b aW5dIENvbnRleHQgJm5ic3A7UG9pbnRlciB0byB0aGUgbm90aWZpY2F0aW9uIGZ1bmN0aW9uJ3Mg Y29udGV4dC48YnI+DQorKiovPGJyPg0KK1ZPSUQ8YnI+DQorRUZJQVBJPGJyPg0KK0Vka0lJUmVk ZmlzaEZlYXR1cmVQcm90b2NvbElzUmVhZHkgKDxicj4NCisgJm5ic3A7SU4gJm5ic3A7RUZJX0VW RU5UICZuYnNwO0V2ZW50LDxicj4NCisgJm5ic3A7SU4gJm5ic3A7Vk9JRCAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqQ29udGV4dDxicj4NCisgJm5ic3A7KTxicj4NCit7PGJy Pg0KKyAmbmJzcDtFRklfU1RBVFVTICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1N0YXR1czs8YnI+DQorICZuYnNwO0VE S0lJX1JFREZJU0hfRkVBVFVSRV9QUk9UT0NPTCAmbmJzcDsqRmVhdHVyZVByb3RvY29sOzxicj4N Cis8YnI+DQorICZuYnNwO2lmIChtUmVkZmlzaFJlc291cmNlUHJpdmF0ZSA9PSBOVUxMKSB7PGJy Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm47PGJyPg0KKyAmbmJzcDt9PGJyPg0KKzxicj4N CisgJm5ic3A7aWYgKG1SZWRmaXNoUmVzb3VyY2VQcml2YXRlLSZndDtGZWF0dXJlUHJvdG9jb2wg IT0gTlVMTCkgezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuOzxicj4NCisgJm5ic3A7 fTxicj4NCis8YnI+DQorICZuYnNwO1N0YXR1cyA9IGdCUy0mZ3Q7TG9jYXRlUHJvdG9jb2wgKDxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDtn RWRrSUlSZWRmaXNoRmVhdHVyZVByb3RvY29sR3VpZCw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO05VTEwsPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsoVk9JRCAqKikmYW1wO0ZlYXR1cmVQcm90b2Nv bDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KTs8 YnI+DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNw OyZuYnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiBmYWlsZWQgdG8gbG9jYXRlIGdF ZGtJSVJlZGZpc2hGZWF0dXJlUHJvdG9jb2xHdWlkOiAlclxuJnF1b3Q7LCBfX2Z1bmNfXywgU3Rh dHVzKSk7PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtnQlMtJmd0O0Nsb3NlRXZlbnQgKEV2ZW50 KTs8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JldHVybjs8YnI+DQorICZuYnNwO308YnI+DQor PGJyPg0KKyAmbmJzcDtTdGF0dXMgPSBGZWF0dXJlUHJvdG9jb2wtJmd0O1JlZ2lzdGVyICg8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO0ZlYXR1cmVQcm90b2NvbCw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JFREZJU0hfTUFOQUdFRF9VUkksPGJy Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtSZWRmaXNoRXh0ZXJuYWxSZXNvdXJjZVJlc291cmNlRmVhdHVyZUNhbGxiYWNrLDxi cj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7KFZPSUQgKiltUmVkZmlzaFJlc291cmNlUHJpdmF0ZTxicj4NCisgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KTs8YnI+ DQorICZuYnNwO2lmIChFRklfRVJST1IgKFN0YXR1cykpIHs8YnI+DQorICZuYnNwOyZuYnNwOyZu YnNwO0RFQlVHICgoREVCVUdfRVJST1IsICZxdW90OyVhOiBmYWlsZWQgdG8gcmVnaXN0ZXIgJXM6 ICVyXG4mcXVvdDssIF9fZnVuY19fLCBSRURGSVNIX01BTkFHRURfVVJJLCBTdGF0dXMpKTs8YnI+ DQorICZuYnNwO308YnI+DQorPGJyPg0KKyAmbmJzcDttUmVkZmlzaFJlc291cmNlUHJpdmF0ZS0m Z3Q7RmVhdHVyZVByb3RvY29sID0gRmVhdHVyZVByb3RvY29sOzxicj4NCis8YnI+DQorICZuYnNw O2dCUy0mZ3Q7Q2xvc2VFdmVudCAoRXZlbnQpOzxicj4NCit9PGJyPg0KKzxicj4NCisvKio8YnI+ DQorICZuYnNwO1RoaXMgaXMgdGhlIGRlY2xhcmF0aW9uIG9mIGFuIEVGSSBpbWFnZSBlbnRyeSBw b2ludC4gVGhpcyBlbnRyeSBwb2ludCBpczxicj4NCisgJm5ic3A7dGhlIHNhbWUgZm9yIFVFRkkg QXBwbGljYXRpb25zLCBVRUZJIE9TIExvYWRlcnMsIGFuZCBVRUZJIERyaXZlcnMgaW5jbHVkaW5n PGJyPg0KKyAmbmJzcDtib3RoIGRldmljZSBkcml2ZXJzIGFuZCBidXMgZHJpdmVycy4gSXQgaW5p dGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBhbmQ8YnI+DQorICZuYnNwO3B1Ymxpc2ggdGhl IGRyaXZlciBiaW5kaW5nIHByb3RvY29sLjxicj4NCis8YnI+DQorICZuYnNwO0BwYXJhbVtpbl0g Jm5ic3A7Jm5ic3A7SW1hZ2VIYW5kbGUgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhl IGZpcm13YXJlIGFsbG9jYXRlZCBoYW5kbGUgZm9yIHRoZSBVRUZJIGltYWdlLjxicj4NCisgJm5i c3A7QHBhcmFtW2luXSAmbmJzcDsmbmJzcDtTeXN0ZW1UYWJsZSAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtBIHBvaW50ZXIgdG8gdGhlIEVGSSBTeXN0ZW0gVGFibGUuPGJyPg0KKzxicj4N CisgJm5ic3A7QHJldHZhbCBFRklfU1VDQ0VTUyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgb3BlcmF0aW9uIGNvbXBsZXRlZCBz dWNjZXNzZnVsbHkuPGJyPg0KKyAmbmJzcDtAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO0VGSV9JU0NTSV9JTklUSUFUT1JfTkFNRV9QUk9UT0NPTCB3YXMg aW5zdGFsbGVkIHVuZXhwZWN0ZWRseS48YnI+DQorICZuYnNwO0ByZXR2YWwgT3RoZXJzICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO090aGVyIGVycm9ycyBhcyBpbmRpY2F0ZWQuPGJy Pg0KKyoqLzxicj4NCitFRklfU1RBVFVTPGJyPg0KK0VGSUFQSTxicj4NCitSZWRmaXNoUmVzb3Vy Y2VFbnRyeVBvaW50ICg8YnI+DQorICZuYnNwO0lOIEVGSV9IQU5ETEUgJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SW1hZ2VIYW5kbGUsPGJyPg0KKyAmbmJzcDtJTiBF RklfU1lTVEVNX1RBQkxFICZuYnNwOypTeXN0ZW1UYWJsZTxicj4NCisgJm5ic3A7KTxicj4NCit7 PGJyPg0KKyAmbmJzcDtFRklfU1RBVFVTICZuYnNwO1N0YXR1czs8YnI+DQorICZuYnNwO1ZPSUQg Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KlJlZ2lzdHJhdGlvbjs8 YnI+DQorPGJyPg0KKyAmbmJzcDtpZiAobVJlZGZpc2hSZXNvdXJjZVByaXZhdGUgIT0gTlVMTCkg ezxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIEVGSV9BTFJFQURZX1NUQVJURUQ7PGJy Pg0KKyAmbmJzcDt9PGJyPg0KKzxicj4NCisgJm5ic3A7bVJlZGZpc2hSZXNvdXJjZUNvbmZpZ1By b3RvY29sSGFuZGxlID0gSW1hZ2VIYW5kbGU7PGJyPg0KKzxicj4NCisgJm5ic3A7bVJlZGZpc2hS ZXNvdXJjZVByaXZhdGUgPSBBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFJFREZJU0hfUkVTT1VS Q0VfQ09NTU9OX1BSSVZBVEUpKTs8YnI+DQorICZuYnNwO0NvcHlNZW0gKCZhbXA7bVJlZGZpc2hS ZXNvdXJjZVByaXZhdGUtJmd0O0NvbmZpZ0hhbmRsZXIsICZhbXA7bVJlZGZpc2hDb25maWdIYW5k bGVyLCBzaXplb2YgKEVES0lJX1JFREZJU0hfQ09ORklHX0hBTkRMRVJfUFJPVE9DT0wpKTs8YnI+ DQorICZuYnNwO0NvcHlNZW0gKCZhbXA7bVJlZGZpc2hSZXNvdXJjZVByaXZhdGUtJmd0O1JlZGZp c2hSZXNvdXJjZUNvbmZpZywgJmFtcDttUmVkZmlzaFJlc291cmNlQ29uZmlnLCBzaXplb2YgKEVE S0lJX1JFREZJU0hfUkVTT1VSQ0VfQ09ORklHX1BST1RPQ09MKSk7PGJyPg0KKzxicj4NCisgJm5i c3A7Ly88YnI+DQorICZuYnNwOy8vIFB1Ymxpc2ggY29uZmlnIGhhbmRsZXIgcHJvdG9jb2wgYW5k IHJlc291cmNlIHByb3RvY29sLjxicj4NCisgJm5ic3A7Ly88YnI+DQorICZuYnNwO1N0YXR1cyA9 IGdCUy0mZ3Q7SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2VzICg8YnI+DQorICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7SW1hZ2VIYW5kbGUs PGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmYW1w O2dFZGtJSVJlZGZpc2hDb25maWdIYW5kbGVyUHJvdG9jb2xHdWlkLDxicj4NCisgJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDttUmVkZmlzaFJlc291cmNl UHJpdmF0ZS0mZ3Q7Q29uZmlnSGFuZGxlciw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7Z0Vka0lJUmVkZmlzaFJlc291cmNlQ29uZmlnUHJv dG9jb2xHdWlkLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7JmFtcDttUmVkZmlzaFJlc291cmNlUHJpdmF0ZS0mZ3Q7UmVkZmlzaFJlc291cmNlQ29u ZmlnLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 TlVMTDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 KTs8YnI+DQorPGJyPg0KKyAmbmJzcDtFZmlDcmVhdGVQcm90b2NvbE5vdGlmeUV2ZW50ICg8YnI+ DQorICZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7Z0VmaVJlc3RKc29uU3RydWN0dXJlUHJvdG9jb2xH dWlkLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7VFBMX0NBTExCQUNLLDxicj4NCisgJm5ic3A7 Jm5ic3A7Jm5ic3A7RWZpUmVzdEpzb25TdHJ1Y3R1cmVQcm90b2NvbElzUmVhZHksPGJyPg0KKyAm bmJzcDsmbmJzcDsmbmJzcDtOVUxMLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDtSZWdp c3RyYXRpb248YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyk7PGJyPg0KKzxicj4NCisgJm5ic3A7 RWZpQ3JlYXRlUHJvdG9jb2xOb3RpZnlFdmVudCAoPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsm YW1wO2dFZGtJSVJlZGZpc2hGZWF0dXJlUHJvdG9jb2xHdWlkLDxicj4NCisgJm5ic3A7Jm5ic3A7 Jm5ic3A7VFBMX0NBTExCQUNLLDxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7RWRrSUlSZWRmaXNo RmVhdHVyZVByb3RvY29sSXNSZWFkeSw8YnI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyhWT0lEICop bVJlZGZpc2hSZXNvdXJjZVByaXZhdGUsPGJyPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmYW1wO1Jl Z2lzdHJhdGlvbjxicj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7KTs8YnI+DQorPGJyPg0KKyAmbmJz cDtyZXR1cm4gU3RhdHVzOzxicj4NCit9PGJyPg0KZGlmZiAtLWdpdCBhL1JlZGZpc2hDbGllbnRQ a2cvUmVkZmlzaENsaWVudC5mZGYuaW5jIGIvUmVkZmlzaENsaWVudFBrZy9SZWRmaXNoQ2xpZW50 LmZkZi5pbmM8YnI+DQppbmRleCA1OWI4YWNiYTEuLjE1NGY2NDFiMiAxMDA2NDQ8YnI+DQotLS0g YS9SZWRmaXNoQ2xpZW50UGtnL1JlZGZpc2hDbGllbnQuZmRmLmluYzxicj4NCisrKyBiL1JlZGZp c2hDbGllbnRQa2cvUmVkZmlzaENsaWVudC5mZGYuaW5jPGJyPg0KQEAgLTI1LDYgKzI1LDcgQEA8 YnI+DQombmJzcDsmbmJzcDtJTkYgUmVkZmlzaENsaWVudFBrZy9IaWlUb1JlZGZpc2hCaW9zRHhl L0hpaVRvUmVkZmlzaEJpb3NEeGUuaW5mPGJyPg0KJm5ic3A7Jm5ic3A7SU5GIFJlZGZpc2hDbGll bnRQa2cvRmVhdHVyZXMvQm9vdE9wdGlvbkNvbGxlY3Rpb24vQm9vdE9wdGlvbkNvbGxlY3Rpb25E eGUuaW5mPGJyPg0KJm5ic3A7Jm5ic3A7SU5GIFJlZGZpc2hDbGllbnRQa2cvRmVhdHVyZXMvQm9v dE9wdGlvbi92MV8wXzQvRHhlL0Jvb3RPcHRpb25EeGUuaW5mPGJyPg0KKyAmbmJzcDtJTkYgUmVk ZmlzaENsaWVudFBrZy9GZWF0dXJlcy9TZWN1cmVCb290L3YxXzFfMC9EeGUvU2VjdXJlQm9vdER4 ZS5pbmY8YnI+DQo8YnI+DQombmJzcDsmbmJzcDshaW5jbHVkZSBSZWRmaXNoQ2xpZW50UGtnL1Jl ZGZpc2hKc29uU3RydWN0dXJlRHhlLmZkZi5pbmM8YnI+DQombmJzcDsmbmJzcDsjPGJyPg0KLS0g PGJyPg0KMi4zNC4xPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t LWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvYmxvY2txdW90ZT4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvIj5SZWdhcmRzLDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5NaWtlPG86cD48L286cD48L3A+DQo8L2Rpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwv ZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9i bG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+UmVnYXJkcyw8bzpwPjwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk1pa2UuPG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsmbmJz cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+ DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg0KCjxkaXYgd2lkdGg9IjEiIHN0eWxlPSJjb2xv cjp3aGl0ZTtjbGVhcjpib3RoIj5fLl8sXy5fLF88L2Rpdj4KPGhyPgoKCkdyb3Vwcy5pbyBMaW5r czo8cD4KCgogIAogICAgWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91 cC4KICAKICAKCgo8cD4KPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vZWRrMi5ncm91 cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzExNzI5NCI+Vmlldy9SZXBseSBPbmxpbmUgKCMxMTcyOTQp PC9hPiB8CgoKICAKCnwKCiAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vZ3JvdXBz LmlvL210LzEwNDkyNzg0OC83Njg2MTc2Ij5NdXRlIFRoaXMgVG9waWM8L2E+CgoKfCA8YSBocmVm PSJodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvcG9zdCI+TmV3IFRvcGljPC9hPgoKPGJy PgoKCgoKPGEgaHJlZj0iaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL2VkaXRzdWIvNzY4 NjE3NiI+WW91ciBTdWJzY3JpcHRpb248L2E+IHwKPGEgaHJlZj0ibWFpbHRvOmRldmVsK293bmVy QGVkazIuZ3JvdXBzLmlvIj5Db250YWN0IEdyb3VwIE93bmVyPC9hPiB8Cgo8YSBocmVmPSJodHRw czovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIiPlVuc3Vic2NyaWJlPC9hPgoKIFtyZWJl Y2NhQG9wZW5mdy5pb108YnI+CjxkaXYgd2lkdGg9IjEiIHN0eWxlPSJjb2xvcjp3aGl0ZTtjbGVh cjpib3RoIj5fLl8sXy5fLF88L2Rpdj4KDQo= --_000_MW4PR12MB7031A683D18933F7F384D50DD93F2MW4PR12MB7031namp_--