From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id BEDF51B411 for ; Sat, 20 Apr 2019 23:08:07 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Apr 2019 14:08:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,375,1549958400"; d="scan'208";a="339280108" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 20 Apr 2019 14:08:06 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sat, 20 Apr 2019 14:08:06 -0700 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.26]) by fmsmsx156.amr.corp.intel.com ([169.254.13.7]) with mapi id 14.03.0415.000; Sat, 20 Apr 2019 14:08:06 -0700 From: "Wiles, Keith" To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= CC: "dev@dpdk.org" , "stephen@networkplumber.org" Thread-Topic: [dpdk-dev] [RFC v2 2/2] eal: introduce random generator function with upper bound Thread-Index: AQHU9vYHy+QcSN+TO0KJF76GEiwoIaZGAbEA Date: Sat, 20 Apr 2019 21:08:05 +0000 Message-ID: References: <20190408123029.6701-1-mattias.ronnblom@ericsson.com> <20190419212138.17422-1-mattias.ronnblom@ericsson.com> <20190419212138.17422-3-mattias.ronnblom@ericsson.com> In-Reply-To: <20190419212138.17422-3-mattias.ronnblom@ericsson.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.251.87.186] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC v2 2/2] eal: introduce random generator function with upper bound X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Apr 2019 21:08:08 -0000 DQoNCj4gT24gQXByIDE5LCAyMDE5LCBhdCA1OjIxIFBNLCBNYXR0aWFzIFLDtm5uYmxvbSA8bWF0 dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPiANCj4gQWRkIGEgZnVuY3Rpb24g cnRlX3JhbmRfbWF4KCkgd2hpY2ggZ2VuZXJhdGVzIGFuIHVuaWZvcm1seSBkaXN0cmlidXRlZA0K PiBwc2V1ZG8tcmFuZG9tIG51bWJlciBsZXNzIHRoYW4gYSB1c2VyLXNwZWNpZmllZCB1cHBlciBi b3VuZC4NCj4gDQo+IFRoZSBjb21tb25seSB1c2VkIHBhdHRlcm4gcnRlX3JhbmQoKSAlIFNPTUVf VkFMVUUsIGluIGFkZGl0aW9uIHRvDQo+IGJlaW5nIHNsb3csIGFsc28gY3JlYXRlcyBiaWFzZWQg cmVzdWx0cyBpZiBTT01FX1ZBTFVFIGlzIG5vdCBhIHBvd2VyDQo+IG9mIDIuIFRoaXMgYmlhcyBp cyB2ZXJ5IHNtYWxsIGZvciBzbWFsbCBTT01FX1ZBTFVFLCBidXQgaW5jcmVhc2VzDQo+IGxpbmVh cmx5IHdpdGggbGFyZ2VyIFNPTUVfVkFMVUUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXR0aWFz IFLDtm5uYmxvbSA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+DQo+IC0tLQ0KPiBsaWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfcmFuZG9tLmggfCAxNiArKysrKysrKysrKysr KysrDQo+IGxpYi9saWJydGVfZWFsL2NvbW1vbi9ydGVfcmFuZG9tLmMgICAgICAgICB8IDIwICsr KysrKysrKysrKysrKysrKysrDQo+IGxpYi9saWJydGVfZWFsL3J0ZV9lYWxfdmVyc2lvbi5tYXAg ICAgICAgICB8ICAxICsNCj4gMyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspDQo+IA0K PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX3JhbmRvbS5o IGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX3JhbmRvbS5oDQo+IGluZGV4IDY2 ZGZlOGFlNy4uMDUzOTEyMTY4IDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9ydGVfcmFuZG9tLmgNCj4gKysrIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1 ZGUvcnRlX3JhbmRvbS5oDQo+IEBAIC00Nyw2ICs0NywyMiBAQCBydGVfc3JhbmQodWludDY0X3Qg c2VlZHZhbCk7DQo+IHVpbnQ2NF90DQo+IHJ0ZV9yYW5kKHZvaWQpOw0KPiANCj4gKy8qKg0KPiAr ICogR2VuZXJhdGVzIGEgcHNldWRvLXJhbmRvbSBudW1iZXIgbGVzcyB0aGFuIHVwcGVyX2JvdW5k Lg0KPiArICoNCj4gKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbiB1bmlmb3JtbHkgZGlzdHJp YnV0ZWQgKHVuYmlhc2VkKSByYW5kb20NCj4gKyAqIG51bWJlciBsb3dlciB0aGFuIGEgdXNlci1z cGVjaWZpZWQgbWF4aW11bSB2YWx1ZS4NCj4gKyAqDQo+ICsgKiBJZiBjYWxsZWQgZnJvbSBsY29y ZSB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGlzIHRocmVhZC1zYWZlLg0KPiArICoNCj4gKyAqIEBw YXJhbSB1cHBlcl9ib3VuZA0KPiArICogICBUaGUgdXBwZXIgYm91bmQgb2YgdGhlIGdlbmVyYXRl ZCBudW1iZXIuDQo+ICsgKiBAcmV0dXJuDQo+ICsgKiAgIEEgcHNldWRvLXJhbmRvbSB2YWx1ZSBi ZXR3ZWVuIDAgYW5kICh1cHBlcl9ib3VuZC0xKS4NCj4gKyAqLw0KPiArdWludDY0X3QNCj4gK3J0 ZV9yYW5kX21heCh1aW50NjRfdCB1cHBlcl9ib3VuZCk7DQo+ICsNCj4gI2lmZGVmIF9fY3BsdXNw bHVzDQo+IH0NCj4gI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24v cnRlX3JhbmRvbS5jIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL3J0ZV9yYW5kb20uYw0KPiBpbmRl eCAyODhlN2I4YzUuLmJmOTI0MDQ3MCAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9lYWwvY29t bW9uL3J0ZV9yYW5kb20uYw0KPiArKysgYi9saWIvbGlicnRlX2VhbC9jb21tb24vcnRlX3JhbmRv bS5jDQo+IEBAIC0xMzEsNiArMTMxLDI2IEBAIHJ0ZV9yYW5kKHZvaWQpDQo+IAlyZXR1cm4gX19y dGVfcmFuZF9sZnNyMjU4KHN0YXRlKTsNCj4gfQ0KPiANCj4gK3VpbnQ2NF90IF9fcnRlX2V4cGVy aW1lbnRhbA0KPiArcnRlX3JhbmRfbWF4KHVpbnQ2NF90IHVwcGVyX2JvdW5kKQ0KPiArew0KPiAr CXVpbnQ4X3QgemVyb3M7DQo+ICsJdWludDY0X3QgbWFzayA9IH4oKHVpbnQ2NF90KTApOw0KPiAr CXVpbnQ2NF90IHJlczsNCj4gKw0KPiArCWlmICh1cHBlcl9ib3VuZCA8IDIpDQo+ICsJCXJldHVy biAwOw0KPiArDQo+ICsJemVyb3MgPSBfX2J1aWx0aW5fY2x6bGwodXBwZXJfYm91bmQpOw0KPiAr CW1hc2sgPj49IHplcm9zOw0KPiArDQo+ICsJZG8gew0KPiArCQlyZXMgPSBydGVfcmFuZCgpICYg bWFzazsNCj4gKwl9IHdoaWxlICh1bmxpa2VseShyZXMgPj0gdXBwZXJfYm91bmQpKTsNCg0KTXkg Y29uY2VybiBoZXJlIGlzIHRoZSBudW1iZXJzIG9mIHRpbWVzIHRoaXMgbG9vcCBjb3VsZCBiZSBl eGVjdXRlZCBhcyB0aGUgdXBwZXIgYm91bmQgY291bGQgYmUganVzdCBvdmVyIGEgcG93ZXIgb2Yg MiBhbmQgaXQgaXMgYSBsYXJnZSBudW1iZXIgbWVhbmluZyB0aGUgbnVtYmVyIG9mIHZhbHVlcyBh Ym92ZSB1cHBlciBtYXggYW5kIHRoZSBwb3dlciBvZiAyIGNvdWxkIGJlIGh1Z2UuIEFtIEkgbG9v a2luZyB0aGlzIGxvb3AgY29ycmVjdGx5LiBJZiBteSB0aG91Z2h0IHByb2Nlc3MgaXMgY29ycmVj dCBpdCBjb3VsZCB0YWtlIGEgbG9uZyB0aW1lIHRvIGdldCBhIHZhbHVlIGxlc3MgdGhhIG4gdXBw ZXIgbWF4LCBjb3JyZWN0Pw0KDQpJZiBldmVyeSB0aGluZyBhbGlnbnMgaW4gYSBiYWQgd2F5IGl0 IGNvdWxkIGJlIGEgbGFyZ2UgbnVtYmVyIG9mIGxvb3BzIGFuZCBjYXVzZSBhbGwga2luZHMgb2Yg cHJvYmxlbXMuIFdoYXQgY291bGQgYmUgZG9uZSBoZXJlIG9yIGlzIHRoaXMgYSBub24taXNzdWU/ DQo+ICsNCj4gKwlyZXR1cm4gcmVzOw0KPiArfQ0KPiArDQo+IFJURV9JTklUKHJ0ZV9yYW5kX2lu aXQpDQo+IHsNCj4gCXJ0ZV9zcmFuZChydGVfZ2V0X3RpbWVyX2N5Y2xlcygpKTsNCj4gZGlmZiAt LWdpdCBhL2xpYi9saWJydGVfZWFsL3J0ZV9lYWxfdmVyc2lvbi5tYXAgYi9saWIvbGlicnRlX2Vh bC9ydGVfZWFsX3ZlcnNpb24ubWFwDQo+IGluZGV4IDBkNjA2NjhmYS4uOGY1YjhjNmE2IDEwMDY0 NA0KPiAtLS0gYS9saWIvbGlicnRlX2VhbC9ydGVfZWFsX3ZlcnNpb24ubWFwDQo+ICsrKyBiL2xp Yi9saWJydGVfZWFsL3J0ZV9lYWxfdmVyc2lvbi5tYXANCj4gQEAgLTM2Nyw2ICszNjcsNyBAQCBF WFBFUklNRU5UQUwgew0KPiAJcnRlX21wX3NlbmRtc2c7DQo+IAlydGVfb3B0aW9uX3JlZ2lzdGVy Ow0KPiAJcnRlX3JhbmQ7DQo+ICsJcnRlX3JhbmRfbWF4Ow0KPiAJcnRlX3JlYWxsb2Nfc29ja2V0 Ow0KPiAJcnRlX3NlcnZpY2VfbGNvcmVfYXR0cl9nZXQ7DQo+IAlydGVfc2VydmljZV9sY29yZV9h dHRyX3Jlc2V0X2FsbDsNCj4gLS0gDQo+IDIuMTcuMQ0KPiANCg0KUmVnYXJkcywNCktlaXRoDQoN Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id E20BCA00E6 for ; Sat, 20 Apr 2019 23:08:09 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F17721B57E; Sat, 20 Apr 2019 23:08:08 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id BEDF51B411 for ; Sat, 20 Apr 2019 23:08:07 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Apr 2019 14:08:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,375,1549958400"; d="scan'208";a="339280108" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 20 Apr 2019 14:08:06 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sat, 20 Apr 2019 14:08:06 -0700 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.26]) by fmsmsx156.amr.corp.intel.com ([169.254.13.7]) with mapi id 14.03.0415.000; Sat, 20 Apr 2019 14:08:06 -0700 From: "Wiles, Keith" To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= CC: "dev@dpdk.org" , "stephen@networkplumber.org" Thread-Topic: [dpdk-dev] [RFC v2 2/2] eal: introduce random generator function with upper bound Thread-Index: AQHU9vYHy+QcSN+TO0KJF76GEiwoIaZGAbEA Date: Sat, 20 Apr 2019 21:08:05 +0000 Message-ID: References: <20190408123029.6701-1-mattias.ronnblom@ericsson.com> <20190419212138.17422-1-mattias.ronnblom@ericsson.com> <20190419212138.17422-3-mattias.ronnblom@ericsson.com> In-Reply-To: <20190419212138.17422-3-mattias.ronnblom@ericsson.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.251.87.186] Content-Type: text/plain; charset="UTF-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC v2 2/2] eal: introduce random generator function with upper bound X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190420210805.osDagDBIqgKPX3C1B0uGBK9LjOC6zydHHuf0ppkFJt8@z> DQoNCj4gT24gQXByIDE5LCAyMDE5LCBhdCA1OjIxIFBNLCBNYXR0aWFzIFLDtm5uYmxvbSA8bWF0 dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPiANCj4gQWRkIGEgZnVuY3Rpb24g cnRlX3JhbmRfbWF4KCkgd2hpY2ggZ2VuZXJhdGVzIGFuIHVuaWZvcm1seSBkaXN0cmlidXRlZA0K PiBwc2V1ZG8tcmFuZG9tIG51bWJlciBsZXNzIHRoYW4gYSB1c2VyLXNwZWNpZmllZCB1cHBlciBi b3VuZC4NCj4gDQo+IFRoZSBjb21tb25seSB1c2VkIHBhdHRlcm4gcnRlX3JhbmQoKSAlIFNPTUVf VkFMVUUsIGluIGFkZGl0aW9uIHRvDQo+IGJlaW5nIHNsb3csIGFsc28gY3JlYXRlcyBiaWFzZWQg cmVzdWx0cyBpZiBTT01FX1ZBTFVFIGlzIG5vdCBhIHBvd2VyDQo+IG9mIDIuIFRoaXMgYmlhcyBp cyB2ZXJ5IHNtYWxsIGZvciBzbWFsbCBTT01FX1ZBTFVFLCBidXQgaW5jcmVhc2VzDQo+IGxpbmVh cmx5IHdpdGggbGFyZ2VyIFNPTUVfVkFMVUUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXR0aWFz IFLDtm5uYmxvbSA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+DQo+IC0tLQ0KPiBsaWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfcmFuZG9tLmggfCAxNiArKysrKysrKysrKysr KysrDQo+IGxpYi9saWJydGVfZWFsL2NvbW1vbi9ydGVfcmFuZG9tLmMgICAgICAgICB8IDIwICsr KysrKysrKysrKysrKysrKysrDQo+IGxpYi9saWJydGVfZWFsL3J0ZV9lYWxfdmVyc2lvbi5tYXAg ICAgICAgICB8ICAxICsNCj4gMyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspDQo+IA0K PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX3JhbmRvbS5o IGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX3JhbmRvbS5oDQo+IGluZGV4IDY2 ZGZlOGFlNy4uMDUzOTEyMTY4IDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9ydGVfcmFuZG9tLmgNCj4gKysrIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1 ZGUvcnRlX3JhbmRvbS5oDQo+IEBAIC00Nyw2ICs0NywyMiBAQCBydGVfc3JhbmQodWludDY0X3Qg c2VlZHZhbCk7DQo+IHVpbnQ2NF90DQo+IHJ0ZV9yYW5kKHZvaWQpOw0KPiANCj4gKy8qKg0KPiAr ICogR2VuZXJhdGVzIGEgcHNldWRvLXJhbmRvbSBudW1iZXIgbGVzcyB0aGFuIHVwcGVyX2JvdW5k Lg0KPiArICoNCj4gKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbiB1bmlmb3JtbHkgZGlzdHJp YnV0ZWQgKHVuYmlhc2VkKSByYW5kb20NCj4gKyAqIG51bWJlciBsb3dlciB0aGFuIGEgdXNlci1z cGVjaWZpZWQgbWF4aW11bSB2YWx1ZS4NCj4gKyAqDQo+ICsgKiBJZiBjYWxsZWQgZnJvbSBsY29y ZSB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGlzIHRocmVhZC1zYWZlLg0KPiArICoNCj4gKyAqIEBw YXJhbSB1cHBlcl9ib3VuZA0KPiArICogICBUaGUgdXBwZXIgYm91bmQgb2YgdGhlIGdlbmVyYXRl ZCBudW1iZXIuDQo+ICsgKiBAcmV0dXJuDQo+ICsgKiAgIEEgcHNldWRvLXJhbmRvbSB2YWx1ZSBi ZXR3ZWVuIDAgYW5kICh1cHBlcl9ib3VuZC0xKS4NCj4gKyAqLw0KPiArdWludDY0X3QNCj4gK3J0 ZV9yYW5kX21heCh1aW50NjRfdCB1cHBlcl9ib3VuZCk7DQo+ICsNCj4gI2lmZGVmIF9fY3BsdXNw bHVzDQo+IH0NCj4gI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24v cnRlX3JhbmRvbS5jIGIvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL3J0ZV9yYW5kb20uYw0KPiBpbmRl eCAyODhlN2I4YzUuLmJmOTI0MDQ3MCAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9lYWwvY29t bW9uL3J0ZV9yYW5kb20uYw0KPiArKysgYi9saWIvbGlicnRlX2VhbC9jb21tb24vcnRlX3JhbmRv bS5jDQo+IEBAIC0xMzEsNiArMTMxLDI2IEBAIHJ0ZV9yYW5kKHZvaWQpDQo+IAlyZXR1cm4gX19y dGVfcmFuZF9sZnNyMjU4KHN0YXRlKTsNCj4gfQ0KPiANCj4gK3VpbnQ2NF90IF9fcnRlX2V4cGVy aW1lbnRhbA0KPiArcnRlX3JhbmRfbWF4KHVpbnQ2NF90IHVwcGVyX2JvdW5kKQ0KPiArew0KPiAr CXVpbnQ4X3QgemVyb3M7DQo+ICsJdWludDY0X3QgbWFzayA9IH4oKHVpbnQ2NF90KTApOw0KPiAr CXVpbnQ2NF90IHJlczsNCj4gKw0KPiArCWlmICh1cHBlcl9ib3VuZCA8IDIpDQo+ICsJCXJldHVy biAwOw0KPiArDQo+ICsJemVyb3MgPSBfX2J1aWx0aW5fY2x6bGwodXBwZXJfYm91bmQpOw0KPiAr CW1hc2sgPj49IHplcm9zOw0KPiArDQo+ICsJZG8gew0KPiArCQlyZXMgPSBydGVfcmFuZCgpICYg bWFzazsNCj4gKwl9IHdoaWxlICh1bmxpa2VseShyZXMgPj0gdXBwZXJfYm91bmQpKTsNCg0KTXkg Y29uY2VybiBoZXJlIGlzIHRoZSBudW1iZXJzIG9mIHRpbWVzIHRoaXMgbG9vcCBjb3VsZCBiZSBl eGVjdXRlZCBhcyB0aGUgdXBwZXIgYm91bmQgY291bGQgYmUganVzdCBvdmVyIGEgcG93ZXIgb2Yg MiBhbmQgaXQgaXMgYSBsYXJnZSBudW1iZXIgbWVhbmluZyB0aGUgbnVtYmVyIG9mIHZhbHVlcyBh Ym92ZSB1cHBlciBtYXggYW5kIHRoZSBwb3dlciBvZiAyIGNvdWxkIGJlIGh1Z2UuIEFtIEkgbG9v a2luZyB0aGlzIGxvb3AgY29ycmVjdGx5LiBJZiBteSB0aG91Z2h0IHByb2Nlc3MgaXMgY29ycmVj dCBpdCBjb3VsZCB0YWtlIGEgbG9uZyB0aW1lIHRvIGdldCBhIHZhbHVlIGxlc3MgdGhhIG4gdXBw ZXIgbWF4LCBjb3JyZWN0Pw0KDQpJZiBldmVyeSB0aGluZyBhbGlnbnMgaW4gYSBiYWQgd2F5IGl0 IGNvdWxkIGJlIGEgbGFyZ2UgbnVtYmVyIG9mIGxvb3BzIGFuZCBjYXVzZSBhbGwga2luZHMgb2Yg cHJvYmxlbXMuIFdoYXQgY291bGQgYmUgZG9uZSBoZXJlIG9yIGlzIHRoaXMgYSBub24taXNzdWU/ DQo+ICsNCj4gKwlyZXR1cm4gcmVzOw0KPiArfQ0KPiArDQo+IFJURV9JTklUKHJ0ZV9yYW5kX2lu aXQpDQo+IHsNCj4gCXJ0ZV9zcmFuZChydGVfZ2V0X3RpbWVyX2N5Y2xlcygpKTsNCj4gZGlmZiAt LWdpdCBhL2xpYi9saWJydGVfZWFsL3J0ZV9lYWxfdmVyc2lvbi5tYXAgYi9saWIvbGlicnRlX2Vh bC9ydGVfZWFsX3ZlcnNpb24ubWFwDQo+IGluZGV4IDBkNjA2NjhmYS4uOGY1YjhjNmE2IDEwMDY0 NA0KPiAtLS0gYS9saWIvbGlicnRlX2VhbC9ydGVfZWFsX3ZlcnNpb24ubWFwDQo+ICsrKyBiL2xp Yi9saWJydGVfZWFsL3J0ZV9lYWxfdmVyc2lvbi5tYXANCj4gQEAgLTM2Nyw2ICszNjcsNyBAQCBF WFBFUklNRU5UQUwgew0KPiAJcnRlX21wX3NlbmRtc2c7DQo+IAlydGVfb3B0aW9uX3JlZ2lzdGVy Ow0KPiAJcnRlX3JhbmQ7DQo+ICsJcnRlX3JhbmRfbWF4Ow0KPiAJcnRlX3JlYWxsb2Nfc29ja2V0 Ow0KPiAJcnRlX3NlcnZpY2VfbGNvcmVfYXR0cl9nZXQ7DQo+IAlydGVfc2VydmljZV9sY29yZV9h dHRyX3Jlc2V0X2FsbDsNCj4gLS0gDQo+IDIuMTcuMQ0KPiANCg0KUmVnYXJkcywNCktlaXRoDQoN Cg==