From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: [GIT] Networking Date: Sun, 20 Nov 2011 15:33:14 -0500 (EST) Message-ID: <20111120.153314.1776640087722636315.davem@davemloft.net> Mime-Version: 1.0 Content-Type: Text/Plain; charset=utf-8 Content-Transfer-Encoding: base64 Cc: akpm@linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: torvalds@linux-foundation.org Return-path: Received: from shards.monkeyblade.net ([198.137.202.13]:54816 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752117Ab1KTUdT (ORCPT ); Sun, 20 Nov 2011 15:33:19 -0500 Sender: netdev-owner@vger.kernel.org List-ID: DQpJdCdzIGJlZW4gYWJvdXQgdHdvIHdlZWtzIHNpbmNlIHRoZSBsYXN0IGJhdGNoIG9mIG5ldHdv cmtpbmcgZml4ZXMuDQoNClRoZSBtYWpvcml0eSBpcyBkcml2ZXIgc3R1ZmYsIGFzIGlzIHVzdWFs bHkgdGhlIGNhc2UuDQoNClNvbWUgc21hbGwgY29ycmVjdGlvbnMgaGVyZSBhbmQgdGhlcmUgZm9y IHRoZSBkcml2ZXJzL25ldC8NCnJlYXJyYW5nZW1lbnQuICBBbmQgdGhlbiB0aGUgdXN1YWwgY29s bGVjdGlvbiBvZiBmaXhlcyBmb3IgY29yZSBjcmFzaGVzDQphbmQgbWlzYmVoYXZpb3JzLg0KDQox KSBLaWxsIHJlZmVyZW5jZXMgdG8gcmVtb3ZlZCBORVRfRVRIRVJORVQga2NvbmZpZyB2YXJpYWJs ZSwgdGhpcyB3YXMgcmVtb3ZlZA0KICAgZHVyaW5nIEplZmYgS2lyc2hlcidzIGRyaXZlcnMvbmV0 LyByZWFycmFuZ2VtZW50IGR1cmluZyB0aGlzIG1lcmdlIHdpbmRvdy4NCg0KMikgUmV2ZXJ0IEwy Q0FQIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCBjaGFuZ2UgYXMgaXQgY2F1c2VzIHJlZ3Jlc3Np b25zLA0KICAgZnJvbSBBcmVrIExpY2h3YS4NCg0KMykgQmx1ZXRvb3RoJ3MgbDJjYXBfc2V0X3Rp bWVyKCkgZXhwZWN0cyB0aW1lb3V0cyBpbiBtaWxpc2Vjb25kcywgYnV0IGNhbGxlcnMNCiAgIHdl cmUgbm90IGFkanVzdGVkIGNvcnJlY3RseS4gIEZpeCBmcm9tIEFuZHJ6ZWogS2Fjem1hcmVrLg0K DQo0KSBwbV9zY2hlZHVsZV9zdXNwZW5kKCkgaW4gcjgxNjkgbmVlZHMgYW4gaW5jcmVhc2VkIGRl bGF5IHBhcmFtZXRlciBpbiBvcmRlcg0KICAgdG8gaGFuZGxlIGFsbCBjYXNlcyBwcm9wZXJseSwg ZnJvbSBIYXllcyBXYW5nLg0KDQo1KSBJUFY2IG11c3QgZHJvcCBhbGwgcGFja2V0cyB1c2luZyBh IG11bHRpY2FzdCBzb3VyY2UgYWRkcmVzcywgZml4IGZyb20NCiAgIEJyaWFuIEhhbGV5Lg0KDQo2 KSBORVRfSVBfQUxJR04gaXMgbm90IGEgZml4ZWQgdmxhdWUsIGJ1dCB0aGUgc21zYzc1eHggVVNC IGRyaXZlciB0cmVhdGVkIGl0DQogICBhcyBzdWNoLiAgSXQgd2FudHMgdG8gdXNlIGEgZml4ZWQg dmFsdWUgb2YgJzInIHNvIGNyZWF0ZSBhbmQgdXNlIGEgbG9jYWwNCiAgIG1hY3JvIGluIHRoaXMg ZHJpdmVyIHRvIGFjaGlldmUgdGhhdC4gIEZyb20gTmljbyBFcmZ1cnRoLg0KDQo3KSBsMnRwX3Vk cF9yZWN2X2NvcmUoKSBuZWVkcyB0byBzYW1wbGUgc2tiLT5kYXRhIGFmdGVyIGFueSBwb3RlbnRp YWwgaGVhZGVyDQogICByZWFsbG9jYXRpb24sIG90aGVyd2lzZSB3ZSBjb3VsZCBiZSByZWZlcmVu Y2luZyBmcmVlJ2QgdXAgZGF0YS4gIEZpeA0KICAgZnJvbSBFcmljIER1bWF6ZXQuDQoNCjgpIERv bid0IGFjY2lkZW50bHkgcmVwb3J0IGEgbmVnYXRpdmUgUE1UVSBleHBpcmUgdGltZSBpbiBydF9m aWxsX2luZm8oKSwgZml4DQogICBmcm9tIFN0ZWZmZW4gS2xhc3NlcnQuDQoNCjkpIFdpcmVsZXNz IGNvbm5lY3Rpb24gbW9uaXRvciBjYW4gcmFjZSB3aXRoIHN1c3BlbmQsIGNhbmNlbCB0aGUgbW9u aXRvciB3b3JrDQogICBlYXJsaWVyIGluIFNUQSBxdWllc2NlIHRvIGF2b2lkIHRoZSBwcm9ibGVt LiAgRml4IGZyb20gSm9oYW5uZXMgQmVyZy4NCg0KMTApIFRFTUFDIGRyaXZlciBlbmFibGVzIGlu dGVycnVwdHMgYmVmb3JlIHRoZSBjaGlwIGlzIGZ1bGx5IHByb2dyYW1tZWQgYW5kDQogICAgcmVh ZHksIGZpeCBmcm9tIFJpY2FyZG8gUmliYWxkYS4NCg0KMTEpIElQU0VDIEFIIGNvZGUgZG9lc24n dCBwcm9wYWdhdGUgZXJyb3IgY29kZXMgY29ycmVjdGx5LCBicmVha2luZyB0aGluZ3MNCiAgICB3 aGVuIHVzaW5nIGFzeW5jIGNyeXB0byBoYXNoaW5nLiAgRml4ZXMgZnJvbSBOaWNrIEJvd2xlci4N Cg0KMTIpIEZpeCBjcmFzaCB3aGVuIHVzaW5nIFJGIGtpbGwgdG8gZGlzYWJsZSB0aGUgcmFkaW8g aW4gaXdsd2lmaSwgZnJvbQ0KICAgIEVtbWFudWVsIEdydW1iYWNoLg0KDQoxMykgaXB2NiB0dW5u ZWwgZHJpdmVyIGRvZXNuJ3QgcmVjb3JkIHRoZSByaWdodCBkZXZpY2UgbmFtZSBpbiBpdCdzDQog ICAgcGFyYW1ldGVycyBkdWUgdG8gaG93IHRoZSBkcml2ZXIgbm93IG1ha2VzIHVzZSBvZiByZWdp c3Rlcl9uZXRkZXZpY2UoKQ0KICAgIHRvIHRha2UgY2FyZSBvZiB3aGF0IGV4cGxpY2l0IGNhbGxz IHRvIGRldl9hbGxvY19uYW1lKCkgdXNlIHRvIGRvLg0KICAgIEZpeCBieSBjb3B5aW5nIG91dCB0 aGUgbmFtZSBhdCBhIGxhdGVyIHBvaW50IGluIHRpbWUsIGZyb20gSm9zaCBCb3llci4NCg0KMTQp IEJyaWRnZSBuZWVkcyB0byB0YWtlIC0+bXVsdGljYXN0X2xvY2sgd2l0aCBzb2Z0aXJxIGRpc2Fi bGVkIGluIG9yZGVyDQogICAgdG8gYXZvaWQgZGVhZGxvY2tzLCBmaXggZnJvbSBBbmRyZXkgVmFn aW4uDQoNCjE1KSBJUFY2IGhhcyBhIGNvbXBsZXRlbHkgc2VwZXJhdGUgdHlwZS1vZi1zZXJ2aWNl IHZhbHVlIGl0IG1haW50YWlucywgc28gd2UNCiAgICBuZWVkIHRvIHJlcG9ydCB0aGlzIHVzaW5n IGEgc2VwZXJhdGUgbmV0bGluayBhdHRyaWJ1dGUgYWxvbmdzaXplIGlwdjQncyBUT1MNCiAgICBp biB0aGUgc29ja2V0IGR1bXBpbmcgY29kZS4gIEZpeCBmcm9tIE1hY2llaiDFu2VuY3p5b3dza2ku DQoNCjE2KSBNaXNzaW5nIGluY2x1ZGVzIGxlYWQgdG8gY29tcGlsZXIgZXJyb3Igb2YgTUlQUyBs YW50aXEgZHJpdmVyLg0KICAgIEZyb20gSm9obiBDcmlzcGluLg0KDQoxNykgQSBzZXQgb2YgYnVn IGZpeGVzIHRvIHRoZSBsb25nIG1hbGlnbmVkIGFuZCBub3Qgd2VsbCBtYWludGFpbmVkIEFTSVgN CiAgICBkcml2ZXIgZnJvbSBHcmFudCBHcnVuZGxlci4gIFRoZSBnb29kIG5ld3MgaXMgdGhhdCB0 aGUgdmVuZG9yIGlzIHdvcmtpbmcNCiAgICB0b2dldGhlciB3aXRoIEdyYW50IGFuZCBvdGhlcnMg dG8gZ2V0IHRoaXMgZHJpdmVyIGJhY2sgaW50byB3ZWxsLW1haW50YWluZWQNCiAgICBzaGFwZS4N Cg0KMTgpIFRoZSAibWlzc2luZyBiaF91bmxvY2tfc29jaygpIiBmaXggaW4gdGNwX3Y0X3N5bl9y ZWN2X3NvY2soKSB3YXMgbm90DQogICAgY29tcGxldGUsIHRpbWVycyBjb3VsZCBiZSBydW5uaW5n IHRvbyBzbyB3ZSBoYXZlIHRvIGtpbGwgdGhvc2Ugb2ZmIGFzDQogICAgd2VsbCBvdGhlcndpc2Ug d2UgY3Jhc2guICBGaXggZnJvbSBFcmljIER1bWF6ZXQsIHRlc3RlZCBieSBTaW1vbiBLaXJieQ0K ICAgIHdobyBjb3VsZCByZXByb2R1Y2UgdGhlc2UgdGltZXIgY3Jhc2hlcy4NCg0KMTkpIFBhcnRp YWwgY2hlY2tzdW1zIGFyZW4ndCBhZGp1c3RlZCBjb3JyZWN0ZWQgYWZ0ZXIgcHVsbGluZyB0aGUg aXB2Ng0KICAgIG11bHRpY2FzdCBoZWFkZXJzIGluIHRoZSBicmlkZ2luZyBjb2RlLiAgRml4IGZy b20gU3RlcGhlbiBIZW1taW5nZXINCiAgICBhbmQgdGVzdGVkIGJ5IE1hcnRpbiBWb2xmLg0KDQoy MCkgcjYwNDAgdXNlcyAiJiYiIGluc3RlYWQgb2YgIiYiIGluIGJpdHdpc2UgdGVzdCwgZml4IGZy b20gRmxvcmlhbiBGYWluZWxsaS4NCg0KMjEpIFNLWTIgYnVnIGZpeGVzIGZyb20gU3RlcGhlbiBI ZW1taW5nZXIsIGluIHBhcnRpY3VsYXIgZmFpbGVkIHNodXRkb3ducyBzaG91bGQNCiAgICBiZSBm aXhlZCBub3cuDQoNCjIyKSBzdG1tYWMgdGltZW91dCBsb29wIGRlcGVuZHMgdXBvbiB0aGUgdGlt ZSBpdCB0YWtlcyByZWFkbCgpIHRvIG9jY3VyLCB1c2UNCiAgICBhIHByb3BlciBtZGVsYXkoKSBp bnN0ZWFkLiAgRml4IGZyb20gRnJhbmNlc2NvIFZpcmxpbnppLg0KDQoyMykgc3RtbWFjIGNhbm5v dCB0YWtlIHRoZSBwcml2LT5sb2NrIGluIHN0bW1hY19pb2N0bCgpJ3MgUEhZIGxheWVyIGNhbGxz LA0KICAgIGJlY2F1c2UgdGhvc2Ugc2xlZXAuICBUaGFua2Z1bGx5IHRoZSBwcml2LT5sb2NrIGlz bid0IGFjdHVhbGx5IG5lZWRlZA0KICAgIGhlcmUsIHNvIHNpbXBseSBzdG9wIHRha2luZyBpdC4g IEZpeCBmcm9tIFNyaW5pdmFzIEthbmRhZ2F0bGEuDQoNCjI0KSBmX3Bob25ldCBkcml2ZXIgYXBw ZW5kcyBwYWdlIHRvIHRoZSB3cm9uZyBTS0IgZnJhZ21lbnQgc2xvdCwgZml4IGZyb20NCiAgICBS w6ltaSBEZW5pcy1Db3VybW9udC4NCg0KMjUpIElDTVAgcmVkaXJlY3QgaW4gaXB2NCB3ZXJlIG5v dCBwcm9wYWdhdGluZyBwcm9wZXJseSBpbnRvIGFsbCBleGlzdGluZw0KICAgIHJvdXRpbmcgY2Fj aGUgZW50cmllcy4gIEZsYXZpbyBMZWl0bmVyIGVhcmxpZXIgdHJpZWQgdG8gY3VyZSB0aGlzIHBy b2JsZW0NCiAgICBidXQgaGlzIGZpeCB0dXJuZWQgb3V0IHRvIGJlIGluc3VmZmljaWVudC4gIEZy b20gRXJpYyBEdW1hemV0Lg0KDQpQbGVhc2UgcHVsbCwgdGhhbmtzIGEgbG90IQ0KDQpUaGUgZm9s bG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IGE3Njc4MzVmNmRjODUyNzdlNDBmYmZlNjlhMjlj MTg4MTdkNmMwMGI6DQoNCiAgTWVyZ2UgYnJhbmNoICdod21vbi1mb3ItbGludXMnIG9mIGdpdDov L2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9ncm9lY2svbGludXgtc3Rh Z2luZyAoMjAxMS0xMS0xOSAxMDo1NjowMSAtMDgwMCkNCg0KYXJlIGF2YWlsYWJsZSBpbiB0aGUg Z2l0IHJlcG9zaXRvcnkgYXQ6DQoNCiAgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51 eC9rZXJuZWwvZ2l0L2RhdmVtL25ldC5naXQgbWFzdGVyDQoNCkFtaXRrdW1hciBLYXJ3YXIgKDEp Og0KICAgICAgbXdpZmlleDogZml4IGFzc29jaWF0aW9uIGlzc3VlIHdpdGggQVAgY29uZmlndXJl ZCBpbiBoaWRkZW4gU1NJRCBtb2RlDQoNCkFuZHJleSBWYWdpbiAoMSk6DQogICAgICBicmlkZ2U6 IEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgb24gYnItPm11bHRpY2FzdF9sb2NrDQoNCkFuZHJ6ZWog S2Fjem1hcmVrICgxKToNCiAgICAgIEJsdWV0b290aDogVXNlIG1pbGlzZWNvbmRzIGZvciBMMkNB UCBjaGFubmVsIHRpbWVvdXRzDQoNCkFyZWsgTGljaHdhICgxKToNCiAgICAgIEJsdWV0b290aDog UmV2ZXJ0OiBGaXggTDJDQVAgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50DQoNCkFyZW5kIHZhbiBT cHJpZWwgKDEpOg0KICAgICAgYnJjbTgwMjExOiBzbWFjOiBlbGltaW5hdGUgYSBudWxsIHBvaW50 ZXIgZGVyZWZlcmVuY2UgaW4gZG1hLmMNCg0KQnJpYW4gSGFsZXkgKDEpOg0KICAgICAgaXB2Njog ZHJvcCBwYWNrZXRzIHdoZW4gc291cmNlIGFkZHJlc3MgaXMgbXVsdGljYXN0DQoNCkNocmlzdGlh biBCb3JudHJhZWdlciAoMSk6DQogICAgICBxZXRoOiByZW1vdmUgV0FSTl9PTiBsZWZ0b3Zlcg0K DQpEYXZpZCBTLiBNaWxsZXIgKDQpOg0KICAgICAgTWVyZ2UgYnJhbmNoICdmb3ItZGF2ZW0nIG9m IGdpdDovL2dpdC5rZXJuZWwub3JnLy4uLi9saW52aWxsZS93aXJlbGVzcw0KICAgICAgbmV0OiBG aXggcmVmZXJlbmNlcyB0byBkZWxldGVkIE5FVF9FVEhFUk5FVCBLY29uZmlnIHNldHRpbmcuDQog ICAgICBNZXJnZSBicmFuY2ggJ2Zvci1kYXZlbScgb2YgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvLi4u L2xpbnZpbGxlL3dpcmVsZXNzDQogICAgICBNZXJnZSBicmFuY2ggJ2Zvci1kYXZlbScgb2YgZ2l0 Oi8vZ2l0Lmtlcm5lbC5vcmcvLi4uL2xpbnZpbGxlL3dpcmVsZXNzDQoNCkRtaXRyeSBLcmF2a292 ICgxKToNCiAgICAgIGJueDJ4OiBjYWNoZS1pbiBjb21wcmVzc2VkIGZ3IGltYWdlDQoNCkVpbmFy IEx1ZWNrICgxKToNCiAgICAgIHFldGg6IFJlZHVjZSBDUFUgY29uc3VtcHRpb24gdGhyb3VnaCBs ZXNzIFNJR0EtciBjYWxscw0KDQpFbGlhZCBQZWxsZXIgKDEpOg0KICAgICAgbWFjODAyMTE6IHVz ZSBtaW4gcmF0ZSBhcyBiYXNpYyByYXRlIGZvciBidWdneSBBUHMNCg0KRW1tYW51ZWwgR3J1bWJh Y2ggKDEpOg0KICAgICAgaXdsd2lmaTogYXZvaWQgYSBwYW5pYyB3aGVuIHVubG9hZGluZyB0aGUg bW9kdWxlIHdpdGggUkYgS2lsbA0KDQpFcmljIER1bWF6ZXQgKDUpOg0KICAgICAgbDJ0cDogZml4 IGwydHBfdWRwX3JlY3ZfY29yZSgpDQogICAgICBuZXQ6IG1pbl9wbXR1IGRlZmF1bHQgaXMgNTUy DQogICAgICB0Y3A6IGNsZWFyIHhtaXQgdGltZXJzIGluIHRjcF92NF9zeW5fcmVjdl9zb2NrKCkN CiAgICAgIHBpbmc6IGRvbnQgaW5jcmVtZW50IElDTVBfTUlCX0lORVJST1JTDQogICAgICBpcHY0 OiBmaXggcmVkaXJlY3QgaGFuZGxpbmcNCg0KRXlhbCBTaGFwaXJhICgxKToNCiAgICAgIHdsMTJ4 eDogZml4IHdsMTJ4eF9zY2FuX3NjaGVkX3NjYW5fc3NpZF9saXN0KCkgY2hlY2sgdGhhdCBhbGwg Z2l2ZW4gc3NpZHMgYXJlIGluIGZpbHRlcnMNCg0KRmVuZyBLaW5nICgxKToNCiAgICAgIHRjcDog Rml4IGNvbW1lbnRzIGZvciBOYWdsZSBhbGdvcml0aG0NCg0KRmxvcmlhbiBGYWluZWxsaSAoMSk6 DQogICAgICByNjA0MDogZml4IGNoZWNrIGFnYWluc3QgTUNST19IQVNIRU4gYml0IGluIHI2MDQw X211bHRpY2FzdF9saXN0DQoNCkZyYW5jZXNjbyBWaXJsaW56aSAoMik6DQogICAgICBzdG1tYWM6 IHVzZSBtZGVsYXkgb24gdGltZW91dCBvZiBzdyByZXNldA0KICAgICAgc3RtbWFjOiBmaXggcG0g ZnVuY3Rpb25zIGF2b2lkaW5nIHNsZWVwIG9uIHNwaW5sb2NrDQoNCkZyYW5rIEJsYXNjaGthICgx KToNCiAgICAgIHFldGg6IGwzIGZpeCByY3Ugc3BsYXQgaW4geG1pdA0KDQpHZXJ0amFuIHZhbiBX aW5nZXJkZSAoMik6DQogICAgICBydDJ4MDA6IEFkZCBVU0IgZGV2aWNlIElEIG9mIEJ1ZmZhbG8g V0xJLVVDLUdOSFAuDQogICAgICBydDJ4MDA6IEZpeCBzbGVlcC13aGlsZS1hdG9taWMgYnVnIGlu IHBvd2Vyc2F2aW5nIGNvZGUuDQoNCkdpdXNlcHBlIENBVkFMTEFSTyAoMSk6DQogICAgICBzdG1t YWM6IHBhcmFtZXRlcnMgYXV0by10dW5pbmcgdGhyb3VnaCBIVyBjYXAgcmVnDQoNCkdyYW50IEdy dW5kbGVyICg1KToNCiAgICAgIG5ldC1uZXh0OmFzaXg6UEhZX01PREVfUlRMODIxMUNMIHNob3Vs ZCBiZSAweEMNCiAgICAgIG5ldC1uZXh0OmFzaXg6cG9sbCBpbiBhc2l4X2dldF9waHlpZCBpbiBj YXNlIHBoeSBub3QgcmVhZHkNCiAgICAgIG5ldC1uZXh0OmFzaXg6IHJlZHVjZSBBWDg4NzcyIGlu aXQgdGltZSBieSBhYm91dCAyIHNlY29uZHMNCiAgICAgIG5ldC1uZXh0OmFzaXg6IFYyIG1vcmUg Zml4ZXMgZm9yIGF4ODgxNzggcGh5IGluaXQgc2VxdWVuY2UNCiAgICAgIG5ldC1uZXh0OmFzaXg6 IFYyIFVwZGF0ZSBWRVJTSU9ODQoNCkhlbG11dCBTY2hhYSAoMSk6DQogICAgICBhdGg6IEZpeCBO VUxMIHB0ciBkZXJlZmVyZW5jZSBpbiBhdGhfcmVnX2FwcGx5X3dvcmxkX2ZsYWdzDQoNCkphbnVz ei5EemllZHppY0B0aWV0by5jb20gKDEpOg0KICAgICAgbWFjODAyMTE6IHVBUFNEIC0gZml4IElF RUU4MDIxMV9GQ1RMX01PUkVEQVRBIGJpdCBzZXR0aW5nDQoNCkplYW4tQ2hyaXN0b3BoZSBQTEFH TklPTC1WSUxMQVJEICgxKToNCiAgICAgIG5ldC9jYWRlbmNlOiBlbmFibGUgYnkgZGVmYXVsdCBO RVRfQVRNRUwNCg0KSmVzcGVyIEp1aGwgKDQpOg0KICAgICAgbmV0LCB3aXJlbGVzcywgbXdpZmll eDogRml4IG1lbSBsZWFrIGluIG13aWZpZXhfdXBkYXRlX2N1cnJfYnNzX3BhcmFtcygpDQogICAg ICBuZXQvcGFja2V0OiByZW1vdmUgZGVhZCBjb2RlIGFuZCB1bm5lZWRlZCB2YXJpYWJsZSBmcm9t IHByYl9zZXR1cF9yZXRpcmVfYmxrX3RpbWVyKCkNCiAgICAgIG5ldC9wYWNrZXQ6IFJldmVydCBp bmNvcnJlY3QgZGVhZC1jb2RlIGNoYW5nZXMgdG8gcHJiX3NldHVwX3JldGlyZV9ibGtfdGltZXIN CiAgICAgIE5ldCwgbGliZXJ0YXM6IFJlc29sdmUgbWVtb3J5IGxlYWsgaW4gaWZfc3BpX2hvc3Rf dG9fY2FyZCgpDQoNCkpvZSBQZXJjaGVzICgxKToNCiAgICAgIHBjaF9nYmU6IE1vdmUgI2luY2x1 ZGUgb2YgbW9kdWxlLmgNCg0KSm9oYW5uZXMgQmVyZyAoNyk6DQogICAgICBubDgwMjExOiBmaXgg SFQgY2FwYWJpbGl0eSBhdHRyaWJ1dGUgdmFsaWRhdGlvbg0KICAgICAgY2ZnODAyMTE6IGFsbG93 IHNldHRpbmcgVFhRIHBhcmFtZXRlcnMgb25seSBpbiBBUCBtb2RlDQogICAgICBjZmc4MDIxMTog Zml4IGNtcF9pZXMNCiAgICAgIGNmZzgwMjExOiBmaXggbWlzc2luZyBrZXJuZWwtZG9jDQogICAg ICBtYWM4MDIxMTogZml4IE5VTEwgZGVyZWZlcmVuY2UgaW4gcmFkaW90YXAgY29kZQ0KICAgICAg bWFjODAyMTE6IGZpeCBidWcgaW4gaWVlZTgwMjExX2J1aWxkX3Byb2JlX3JlcQ0KICAgICAgbWFj ODAyMTE6IGZpeCByYWNlIGJldHdlZW4gY29ubmVjdGlvbiBtb25pdG9yICYgc3VzcGVuZA0KDQpK b2huIENyaXNwaW4gKDEpOg0KICAgICAgTkVUOiBNSVBTOiBsYW50aXE6IGZpeCBldG9wIGNvbXBp bGUgZXJyb3INCg0KSm9obiBXLiBMaW52aWxsZSAoNCk6DQogICAgICBNZXJnZSBicmFuY2ggJ21h c3Rlcicgb2YgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvLi4uL3BhZG92YW4vYmx1ZXRvb3RoDQogICAg ICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vcmEua2VybmVsLm9yZy8uLi4vbGludmls bGUvd2lyZWxlc3MgaW50byBmb3ItZGF2ZW0NCiAgICAgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBv ZiBnaXQ6Ly9naXQua2VybmVsLm9yZy8uLi4vbGludmlsbGUvd2lyZWxlc3MgaW50byBmb3ItZGF2 ZW0NCiAgICAgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBnaXQ6Ly9naXQua2VybmVsLm9yZy8u Li4vbGludmlsbGUvd2lyZWxlc3MgaW50byBmb3ItZGF2ZW0NCg0KSm9zaCBCb3llciAoMSk6DQog ICAgICBpcDZfdHVubmVsOiBjb3B5IHBhcm1zLm5hbWUgYWZ0ZXIgcmVnaXN0ZXJfbmV0ZGV2aWNl DQoNCkxpIFdlaSAoMSk6DQogICAgICBpcHY0OiBmaXggZm9yIGlwX29wdGlvbnNfcmN2X3Nycigp IGRhZGRyIHVwZGF0ZS4NCg0KTHVpcyBSLiBSb2RyaWd1ZXogKDEpOg0KICAgICAgY2ZnODAyMTE6 IGZpeCBidWcgb24gcmVndWxhdG9yeSBjb3JlIGV4aXQgb24gYWNjZXNzIHRvIGxhc3RfcmVxdWVz dA0KDQpNYWNpZWogxbtlbmN6eWtvd3NraSAoMSk6DQogICAgICBuZXQtbmV0bGluazogQWRkIGEg bmV3IGF0dHJpYnV0ZSB0byBleHBvc2UgVENMQVNTIHZhbHVlcyB2aWEgbmV0bGluaw0KDQpNYXJr IEthbWljaG9mZiAoMSk6DQogICAgICBuZXQvdXNiOiBNaXNjLiBmaXhlcyBmb3IgdGhlIExHLVZM NjAwIExURSBVU0IgbW9kZW0NCg0KTmljayBCb3dsZXIgKDMpOg0KICAgICAgYWg6IENvcnJlY3Rs eSBwYXNzIGVycm9yIGNvZGVzIGluIGFoYXNoIG91dHB1dCBjYWxsYmFjay4NCiAgICAgIGFoOiBS ZWFkIG5leHRoZHIgdmFsdWUgYmVmb3JlIG92ZXJ3cml0aW5nIGl0IGluIGFoYXNoIGlucHV0IGNh bGxiYWNrLg0KICAgICAgYWg6IERvbid0IHJldHVybiBORVRfWE1JVF9EUk9QIG9uIGlucHV0Lg0K DQpOaWNvIEVyZnVydGggKDEpOg0KICAgICAgRml4IGluY29ycmVjdCB1c2FnZSBvZiBORVRfSVBf QUxJR04NCg0KUGF1bCBCb2xsZSAoMik6DQogICAgICBuZXQ6IGRyaXZlcnMvbmV0L2hpcHBpL0tj b25maWcgc2hvdWxkIGJlIHNvdXJjZWQNCiAgICAgIHJkczogZHJvcCAic2VsZWN0IExMSVNUIg0K DQpSYWZhxYIgTWnFgmVja2kgKDIpOg0KICAgICAgYjQzOiBmaWxsIGN0bDEgd29yZCBvbiBhbGwg bmV3ZXIgUEhZcywgZml4IFBIWSBlcnJvcnMNCiAgICAgIGI0MzogSFQtUEhZOiByZXBvcnQgc2ln bmFsIHRvIG1hYzgwMjExDQoNClJpY2FyZG8gUmliYWxkYSAoMik6DQogICAgICBuZXQvdGVtYWM6 IEZJWCBzZWdmYXVsdCB3aGVuIHByb2Nlc3Mgb2xkIGlycXMNCiAgICAgIG5ldC9sbF90ZW1hYzog RklYIDogV2FpdCBmb3IgaW5kaXJlY3Qgd2FpdCB0byBlbmQNCg0KUm9iZXJ0IE1hcmtsdW5kICgx KToNCiAgICAgIG5ldC9zbXNjOTExeDogQWx3YXlzIHdhaXQgZm9yIHRoZSBjaGlwIHRvIGJlIHJl YWR5DQoNClLDqW1pIERlbmlzLUNvdXJtb250ICgxKToNCiAgICAgIGZfcGhvbmV0OiBmaXggcGFn ZSBvZmZzZXQgb2YgZmlyc3QgcmVjZWl2ZWQgZnJhZ21lbnQNCg0KU3Jpbml2YXMgS2FuZGFnYXRs YSAoMik6DQogICAgICBzdG1tYWM6IGZpeCBhZHZlcnRpc2luZyAxMDAwQmFzZSBjYXBhYmlsdGll cyBmb3Igbm9uIEdNSUkgaWZhY2UNCiAgICAgIHN0bW1hYzogcmVtb3ZlIHNwaW5fbG9jayBpbiBz dG1tYWNfaW9jdGwuDQoNClN0ZWZmZW4gS2xhc3NlcnQgKDEpOg0KICAgICAgaXB2NDogRml4IGlu ZXRwZWVyIGV4cGlyZSB0aW1lIGluZm9ybWF0aW9uDQoNClN0ZXBoZW4gSGVtbWluZ2VyICgxKToN CiAgICAgIE1BSU5UQUlORVJTOiBjaGFuZ2UgZW1haWwgYWRkcmVzcyBmb3Igc2hlbW1pbmdlcg0K DQpTdGV2ZW4gTWlhbyAoMSk6DQogICAgICB3aXJlbGVzczogbGliZXJ0YXM6IGZpeCB1bmFsaWdu ZWQgbGU2NCBhY2Nlc3Nlcw0KDQpVcnN1bGEgQnJhdW4gKDIpOg0KICAgICAgcWV0aDogcmV0dXJu IHdpdGggLUVQRVJNIGlmIHNuaWZmaW5nIGlzIG5vdCBlbmFibGVkDQogICAgICBuZXRpdWN2OiBy ZWluc2VydCBkZXZfYWxsb2NfbmFtZSBmb3IgZGV2aWNlIG5hbWluZw0KDQpWZWFjZXNsYXYgRmFs aWNvICgxKToNCiAgICAgIGJvbmRpbmc6IERvbid0IGFsbG93IG1vZGUgY2hhbmdlIHZpYSBzeXNm cyB3aXRoIHNsYXZlcyBwcmVzZW50DQoNCldlbi1jaGllbiBKZXNzZSBTdW5nICgxKToNCiAgICAg IEJsdWV0b290aDogQWRkIHN1cHBvcnQgZm9yIEJyb2FkY29tIEJDTTIwNzAyQTANCg0KWWV2Z2Vu eSBQZXRyaWxpbiAoMSk6DQogICAgICBtbHg0X2VuOiBSZW1vdmUgRkNTIGJ5dGVzIGZyb20gcGFj a2V0IGxlbmd0aC4NCg0KZGF2aWQgZGVjb3RpZ255ICgxKToNCiAgICAgIGZvcmNlZGV0aDogZml4 IHN0YXRzIG9uIGhhcmR3YXJlIHdpdGhvdXQgZXh0ZW5kZWQgc3RhdHMgc3VwcG9ydA0KDQpoYXll c3dhbmcgKDEpOg0KICAgICAgcjgxNjk6IGluY3JlYXNlIHRoZSBkZWxheSBwYXJhbWV0ZXIgb2Yg cG1fc2NoZWR1bGVfc3VzcGVuZA0KDQpvZnRlZGFsICgxKToNCiAgICAgIHN1bmhtZTogQWxsb3cg dXNhZ2Ugb24gU0JJIGJhc2VkIFNCdXMgc3lzdGVtcw0KDQpzdGVwaGVuIGhlbW1pbmdlciAoOSk6 DQogICAgICBicmlkZ2U6IGNvcnJlY3QgSVB2NiBjaGVja3N1bSBhZnRlciBwdWxsDQogICAgICBz a3kyOiBmaXggaGFuZyBvbiBzaHV0ZG93biAoYW5kIG90aGVyIGlycSBpc3N1ZXMpDQogICAgICBz a3kyOiBwY2kgcG9zdGluZyBpc3N1ZXMNCiAgICAgIHNreTI6IHJlbmFtZSB1cC9kb3duIGZ1bmN0 aW9ucw0KICAgICAgc2t5MjogcmVkdWNlIGRlZmF1bHQgVHggcmluZyBzaXplDQogICAgICBza3ky OiB1c2VkIGZpeGVkIFJTUyBrZXkNCiAgICAgIHNreTI6IHZlcnNpb24gMS4zMA0KICAgICAgc2t5 MjogZW5mb3JjZSBtaW5pbXVtIHJpbmcgc2l6ZQ0KICAgICAgc2t5MjogZml4IGhhbmcgaW4gbmFw aV9kaXNhYmxlDQoNCiBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lzY3RsLnR4dCAgICAg ICAgICAgICB8ICAgIDIgKy0NCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDYgKy0NCiBhcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9LY29u ZmlnICAgICAgICAgICAgICAgICB8ICAgIDIgKy0NCiBhcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVy cy9LY29uZmlnICAgICAgICAgICAgICAgICB8ICAgIDIgKy0NCiBkcml2ZXJzL2JsdWV0b290aC9i dHVzYi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKw0KIGRyaXZlcnMvbmV0L0tj b25maWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArDQogZHJpdmVycy9u ZXQvYm9uZGluZy9ib25kX3N5c2ZzLmMgICAgICAgICAgICAgICAgICAgfCAgICA3ICsNCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMgICB8ICAgNTAgKysr KystLS0tDQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54Mnhfc3AuYyAg ICAgfCAgIDE1ICstLQ0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZyAgICAg ICAgICAgICAgIHwgICAgMSArDQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbGFudGlxX2V0b3AuYyAg ICAgICAgICAgICAgICAgfCAgICAyICsNCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL3Nr eTIuYyAgICAgICAgICAgICAgICB8ICAxMDYgKysrKysrKysrKystLS0tLS0NCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tYXJ2ZWxsL3NreTIuaCAgICAgICAgICAgICAgICB8ICAgIDEgKw0KIGRyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvZW5fcnguYyAgICAgICAgIHwgICAgNiArLQ0K IGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWx4NF9lbi5oICAgICAgIHwgICAg MSArDQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbnZpZGlhL2ZvcmNlZGV0aC5jICAgICAgICAgICAg fCAgIDM2ICsrKysrLS0NCiAuLi4vbmV0L2V0aGVybmV0L29raS1zZW1pL3BjaF9nYmUvcGNoX2di ZV9wYXJhbS5jICB8ICAgIDIgKy0NCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9yZGMvcjYwNDAuYyAg ICAgICAgICAgICAgICAgICB8ICAgIDIgKy0NCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVr L3I4MTY5LmMgICAgICAgICAgICAgICB8ICAgIDIgKy0NCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9z bXNjL3Ntc2M5MTF4LmMgICAgICAgICAgICAgICB8ICAgMTIgKysNCiAuLi4vbmV0L2V0aGVybmV0 L3N0bWljcm8vc3RtbWFjL2R3bWFjMTAwMF9kbWEuYyAgICB8ICAgIDMgKy0NCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYzEwMF9kbWEuYyB8ICAgIDMgKy0NCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaCAgICAgICB8ICAgIDIgKy0N CiAuLi4vbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19ldGh0b29sLmMgICB8ICAg IDYgKw0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMg IHwgIDExNyArKysrKysrKysrKystLS0tLS0tDQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3VuL3N1 bmhtZS5jICAgICAgICAgICAgICAgICAgfCAgICAyICstDQogZHJpdmVycy9uZXQvZXRoZXJuZXQv eGlsaW54L2xsX3RlbWFjX21haW4uYyAgICAgICAgfCAgICA3ICstDQogZHJpdmVycy9uZXQvaGlw cGkvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstDQogZHJpdmVycy9u ZXQvdXNiL2FzaXguYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDY4ICsrKysrKysr Ky0tLQ0KIGRyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYyAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgMiArLQ0KIGRyaXZlcnMvbmV0L3VzYi9sZy12bDYwMC5jICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyNSArKy0tLQ0KIGRyaXZlcnMvbmV0L3VzYi9zbXNjNzV4eC5jICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgNyArLQ0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9yZWdk LmMgICAgICAgICAgICAgICAgICAgIHwgICAgMiArDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvYjQz L3htaXQuYyAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsrLQ0KIGRyaXZlcnMvbmV0L3dpcmVs ZXNzL2I0My94bWl0LmggICAgICAgICAgICAgICAgICAgIHwgICAxNiArKystDQogZHJpdmVycy9u ZXQvd2lyZWxlc3MvYnJjbTgwMjExL2JyY21zbWFjL2RtYS5jICAgICAgfCAgICA1ICstDQogZHJp dmVycy9uZXQvd2lyZWxlc3MvaXdsd2lmaS9pd2wtdHJhbnMtcGNpZS5jICAgICAgfCAgIDMzICsr Ky0tLQ0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2NmZy5jICAgICAgICAgICAgICAg IHwgICAgMiArLQ0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NwaS5jICAgICAg ICAgICAgIHwgICAgMSArDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC9zY2FuLmMgICAg ICAgICAgICAgICAgfCAgICA5ICstDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0Mjgw MHVzYi5jICAgICAgICAgICAgfCAgICAxICsNCiBkcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAv cnQyeDAwLmggICAgICAgICAgICAgICB8ICAgIDEgKw0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3J0 MngwMC9ydDJ4MDBkZXYuYyAgICAgICAgICAgIHwgICAyMiArKysrLQ0KIGRyaXZlcnMvbmV0L3dp cmVsZXNzL3dsMTJ4eC9zY2FuLmMgICAgICAgICAgICAgICAgIHwgICAgMiArLQ0KIGRyaXZlcnMv czM5MC9uZXQvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQ0KIGRy aXZlcnMvczM5MC9uZXQvbGNzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiAr LQ0KIGRyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgMiArDQogZHJpdmVycy9zMzkwL25ldC9xZXRoX2NvcmUuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAzICstDQogZHJpdmVycy9zMzkwL25ldC9xZXRoX2NvcmVfbWFpbi5jICAgICAgICAg ICAgICAgICAgfCAgICAxIC0NCiBkcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jICAgICAg ICAgICAgICAgICAgICB8ICAgIDcgKw0KIGRyaXZlcnMvczM5MC9uZXQvcWV0aF9sM19zeXMuYyAg ICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQ0KIGRyaXZlcnMvdXNiL2dhZGdldC9mX3Bob25l dC5jICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQ0KIGluY2x1ZGUvbGludXgvaW5ldF9k aWFnLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArLQ0KIGluY2x1ZGUvbmV0L2Js dWV0b290aC9sMmNhcC5oICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArLQ0KIGluY2x1ZGUv bmV0L2NmZzgwMjExLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArDQogbmV0 L2JsdWV0b290aC9oY2lfY29ubi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICst DQogbmV0L2JsdWV0b290aC9sMmNhcF9jb3JlLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDE2ICsrLS0NCiBuZXQvYnJpZGdlL2JyX211bHRpY2FzdC5jICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDYgKy0NCiBuZXQvaXB2NC9haDQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgIDggKy0NCiBuZXQvaXB2NC9pbmV0X2RpYWcuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgIDQgKy0NCiBuZXQvaXB2NC9pcF9vcHRpb25zLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKw0KIG5ldC9pcHY0L3BpbmcuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiAtDQogbmV0L2lwdjQvcm91dGUuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIwICsrKysrKysrKysrLS0tLS0t LS0tDQogbmV0L2lwdjQvdGNwX2lwdjQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAxICsNCiBuZXQvaXB2NC90Y3Bfb3V0cHV0LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDIgKy0NCiBuZXQvaXB2Ni9haDYuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgIDggKy0NCiBuZXQvaXB2Ni9pcDZfaW5wdXQuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgIDggKysNCiBuZXQvaXB2Ni9pcDZfdHVubmVsLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0NCiBuZXQvbDJ0cC9sMnRwX2NvcmUuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0NCiBuZXQvbWFjODAyMTEvbWxt ZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKy0NCiBuZXQvbWFj ODAyMTEvcnguYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKy0NCiBu ZXQvbWFjODAyMTEvc3RhX2luZm8uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDgg Ky0NCiBuZXQvbWFjODAyMTEvdXRpbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgIDQgKw0KIG5ldC9yZHMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgMSAtDQogbmV0L3dpcmVsZXNzL25sODAyMTEuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICA5ICstDQogbmV0L3dpcmVsZXNzL3JlZy5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAzICsNCiBuZXQvd2lyZWxlc3Mvc2Nhbi5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKystDQogNzcgZmlsZXMgY2hhbmdlZCwgNjA0IGlu c2VydGlvbnMoKyksIDMxMiBkZWxldGlvbnMoLSkNCg==