From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id o8NMoAmM152532 for ; Thu, 23 Sep 2010 17:50:10 -0500 Subject: Re: [PATCH VER 4] Extend project quotas to support 32bit project identificators. From: Alex Elder In-Reply-To: <1285177343-11108-1-git-send-email-arekm@maven.pl> References: <1285177343-11108-1-git-send-email-arekm@maven.pl> Date: Thu, 23 Sep 2010 17:51:01 -0500 Message-ID: <1285282261.1973.176.camel@doink> Mime-Version: 1.0 Reply-To: aelder@sgi.com List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: xfs-bounces@oss.sgi.com Errors-To: xfs-bounces@oss.sgi.com To: Arkadiusz =?UTF-8?Q?Mi=C5=9Bkiewicz?= Cc: xfs@oss.sgi.com T24gV2VkLCAyMDEwLTA5LTIyIGF0IDE5OjQyICswMjAwLCBBcmthZGl1c3ogTWnFm2tpZXdpY3og d3JvdGU6Cj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIDMyYml0IHByb2plY3QgcXVvdGEg aWRlbnRpZmljYXRvcnMuCj4gCj4gT24gZGlzayBmb3JtYXQgaXMgYmFja3dhcmQgY29tcGF0aWJs ZSB3aXRoIDE2Yml0IHByb2ppZCBudW1iZXJzLiBwcm9qaWQKPiBvbiBkaXNrIGlzIG5vdyBrZWVw dCBpbiB0d28gMTZiaXQgdmFsdWVzIC0gZGlfcHJvamlkX2xvICh3aGljaCBob2xkcyB0aGUKPiBz YW1lIHBvc2l0aW9uIGFzIG9sZCAxNmJpdCBwcm9qaWQgdmFsdWUpIGFuZCBuZXcgZGlfcHJvamlk X2hpICh0YWtlcwo+IGV4aXN0aW5nIHBhZGRpbmcpIGFuZCBjb252ZXJ0ZXMgZnJvbS90byAzMmJp dCB2YWx1ZSBvbiB0aGUgZmx5Lgo+IAo+IFBST0pJRDMyQklUIGZlYXR1cmUyIGZsYWcgaXMgc2V0 IGF1dG9tYXRpY2x5IHdoZW4gdHJ5aW5nIHRvIHVzZSAzMmJpdAo+IHF1b3RhIHByb2plY3QgaWRl bnRpZmljYXRvci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPGFy ZWttQG1hdmVuLnBsPgo+IC0tLQoKU29ycnkgaXQgdG9vayBtZSBzbyBsb25nIHRvIHJldmlldyB0 aGlzLiAgSSBoYXZlIHNvbWUgZmVlZGJhY2suCgpJIHRoaW5rIHdoYXQgeW91J3ZlIGRvbmUgbG9v a3MgZ2VuZXJhbGx5IGdvb2QuICBUaGUKb25seSBpc3N1ZXMgYXJlIHJlbGF0ZWQgdG8gdGhlIG5l dyBmZWF0dXJlIGJpdC4gIEkgYWxzbwp3b25kZXIgd2hldGhlciB0aGVyZSBpcyAqYW55KiBjaGFu Y2UgdGhlIChmb3JtZXJseSBwYWQpCnByb2ppZF9oaSBmaWVsZCBjb250YWlucyBhbnl0aGluZyBv dGhlciB0aGFuIDAgb24gZGlzayBmb3IKYW55IGV4aXN0aW5nIGZpbGVzeXN0ZW1zLgoKCkZpcnN0 IG9mIGFsbCwgSSdsbCBzYXkgdGhhdCBJIHRoaW5rIHRoZSBzdXBlcmJsb2NrIGZsYWcKc2hvdWxk IGJlIHNldCBvbmx5IGlmIGl0IGlzIGtub3duIHRoZSBmaWxlIHN5c3RlbSBoYXMKKGF0IG9uZSB0 aW1lKSBoZWxkIGF0IGxlYXN0IG9uZSBwcm9qZWN0IGlkIHJlcXVpcmluZwptb3JlIHRoYW4gMTYg Yml0cyB0byByZXByZXNlbnQuICBFdmVuIGlmIDMyLWJpdCBwcm9qZWN0CmlkcyBhcmUgc3VwcG9y dGVkLCB0aGUgZmxhZyBzaG91bGQgbm90IGJlIHNldCBvbiB0aGUKc3VwZXJibG9jayBpZiBubyBw cm9qZWN0IGlkID49IDJeMTYgaXMgcHJlc2VudC4KCgpUaGUgd2F5IHlvdXIgY29kZSBpcyBub3cs IGluIHhmc19pb2N0bF9zZXRhdHRyKCkgbm8gbG9uZ2VyCnJldHVybnMgRUlOVkFMIHdoZW4gYSBw YXNzZWQtaW4gcHJvamVjdCBleGNlZWRzIHRoYXQKcmVwcmVzZW50YWJsZSBpbiAxNiBiaXRzLiAg SW5zdGVhZCwgaWYgdGhlIHBhc3NlZC1pbiB2YWx1ZQppcyA+PSAyXjE2IHlvdSBmb3JjZSB0aGUg c3VwZXJibG9jayB0byBoYXZlIHRoZSBuZXcKUFJPSklEMzJCSVQgZmVhdHVyZSBmbGFnIHR1cm5l ZCBvbi4gIChUaGlzIGlzIGNvbnNpc3RlbnQKd2l0aCB3aGF0IEkgc3VnZ2VzdCwgYWJvdmUuKQoK QnV0IEkgZG9uJ3QgYWdyZWUgd2l0aCBzZXR0aW5nIHRoYXQgZmxhZyBpbiBhbGwgY2FzZXMsCmV2 ZW4gd2hlbiBhIDMyLWJpdCBwcm9qZWN0IGlkIHZhbHVlIGlzIHN1cHBsaWVkLiAgSSBjb3VsZApl bnZpc2lvbiwgZm9yIGV4YW1wbGUsIHNvbWVvbmUgd2FudGluZyB0byBhdm9pZCBleGNlZWRpbmcK dGhlIDE2IGJpdCBsaW1pdCB0byBlbnN1cmUgdGhlaXIgZmlsZSBzeXN0ZW0gcmVtYWlucwpjb21w YXRpYmxlIHdpdGggdGhlIG9sZGVyIGZvcm1hdC4gIE9uIHRoZSBvdGhlciBoYW5kLAphdXRvbWF0 aWNhbGx5IHNldHRpbmcgaXQgaXMgdXNlZnVsIGFzIHdlbGwuCgoKSW5zdGVhZCwgdGhpbmsgaXQg d291bGQgYmUgZ29vZCB0byBoYXZlIGEgbW91bnQgZmxhZyB0aGF0CmluZGljYXRlcyB3aGV0aGVy IDMyLWJpdCBwcm9qZWN0IGlkcyBhcmUgdG8gYmUgc3VwcG9ydGVkCihkZWZhdWx0OiBub3Qgc3Vw cG9ydGVkKS4gIElmIHRoZSBzdXBlcmJsb2NrIHJlYWQgaW4gYXQKbW91bnQgdGltZSBoYWQgUFJP SklEMzJCSVQgc2V0LCBidXQgdGhlIG1vdW50IG9wdGlvbnMgZGlkCm5vdCBpbmRpY2F0ZSAzMi1i aXQgcHJvamVjdCBpZCBzdXBwb3J0LCB0aGUgbW91bnQgc2hvdWxkCmZhaWwgd2l0aCBhbiBleHBs YW5hdGlvbi4gIChXaXRob3V0IGVuYWJsaW5nIHRoZSBtb3VudApmbGFnIHdlIHdvdWxkIG5vdCBo YW5kbGUgbGFyZ2UgcHJvamVjdCBpZHMgcHJvcGVybHkpLgoKSWYgdGhlIG1vdW50IGZsYWcgd2Vy ZSBzdXBwbGllZCBidXQgdGhlIHN1cGVyYmxvY2sgZGlkIG5vdAooeWV0KSBoYXZlIHRoZSBmbGFn IHNldCwgdGhhdCdzIE9LLiAgSWYgYW55IHByb2plY3QgaWQgdGhhdApyZXF1aXJlZCA+IDE2IGJp dHMgdG8gcmVwcmVzZW50IGdvdCByZWNvcmRlZCwgdGhlIHN1cGVyYmxvY2sKZmVhdHVyZSBiaXQg d291bGQgYmUgc2V0IHRvIGluZGljYXRlIHRoYXQgKGFzIHlvdSBwcm9wb3NlKS4KCk1hdGNoaW5n IG1vdW50IGFuZCBzdXBlcmJsb2NrIGZsYWdzIHdvdWxkIG9mIGNvdXJzZSBiZSBhCnN1cHBvcnRl ZCBjb25maWd1cmF0aW9uLgoKCklmIHRoZSBtb3VudCBmbGFnIGlzIHNldCwgdGhlbiA+PSAyXjE2 IHByb2plY3QgaWRzIHdvdWxkCmJlIGFjY2VwdGVkIGluIHhmc19pb2N0bF9zZXRhdHRyKCkgKGFz IHlvdSBub3cgZG8pLCBidXQKaWYgaXQgaXMgbm90IHNldCBpdCB3b3VsZCBub3QgYmUgYWxsb3dl ZCAoYXMgdGhlIGV4aXN0aW5nCmNvZGUgZG9lcykuCgpUaGUgbW91bnQgZmxhZyBjb3VsZCBmdXJ0 aGVybW9yZSBhZmZlY3QgaG93IHRoZSBwcm9qaWRfaGkKc3VwZXJibG9jayBmaWVsZCBpcyBpbnRl cnByZXRlZC4gIElmIHRoZSAzMi1iaXQgcHJvamVjdCBpZAptb3VudCBmbGFnIGlzIG5vdCBzZXQs IHRoZW4gdGhlIHByb2ppZF9oaSB3b3VsZCBiZSBmb3JjZWQKdG8gMCB3aGVuIHJlYWQgb2ZmIHRo ZSBkaXNrIGFuZCBhc3NlcnRlZCAwIHdoZW4gd3JpdGluZwp0byB0aGUgZGlzay4gIFNpbWlsYXJs eSwgaWYgdGhlIHN1cGVyYmxvY2sgZmxhZyBpbmRpY2F0ZWQKbm8gPjE2LWJpdCBwcm9qZWN0IGlk cyB3ZXJlIHByZXNlbnQsIHRoZWlyIHByb2ppZF9oaQp2YWx1ZXMgd291bGQgYmUgZm9yY2VkIHRv IDAgKGV2ZW4gaWYgdGhlIG1vdW50IGZsYWcKaW5kaWNhdGVkIDMyLWJpdCBzdXBwb3J0KS4gCgoK SXQgbWF5IHdlbGwgYmUgdGhhdCBYRlMgaGFzIGFsd2F5cyBhbmQgY29uc2lzdGVudGx5CndyaXR0 ZW4gMCdzIGluIHRoZSBwYWQgZmllbGRzIGZvciB0aGUgYWZmZWN0ZWQgc3RydWN0dXJlcwpoZXJl LiAgQW5kIGlmIHNvLCB0aGVyZSdzIG5vIHJlYXNvbiB0byBiZSBjb25jZXJuZWQKdGhhdCBhbnkg ZXhpc3RpbmcgZmlsZXN5c3RlbXMgaGF2ZSBub24temVybyBnYXJiYWdlCnRoYXQgd291bGQgaGF2 ZSBhbnkgYWR2ZXJzZSBlZmZlY3QuICBUaGUgImZvcmNlZCB6ZXJvIgpoYW5kbGluZyBJIG1lbnRp b25lZCBhYm92ZSB3b3VsZCBhZGRyZXNzIG1vc3Qgb2YgdGhlc2UKY2FzZXMuICBJZiB0aGVyZSBp cyBhbnkgcmlzayBvZiBub24temVybyB2YWx1ZXMgaW4KdGhlIHByb2ppZF9oaSBsb2NhdGlvbiB3 ZSBtYXkgbmVlZCBhIHV0aWxpdHkgb2Ygc29tZQpraW5kIHRvIGZpeCB0aGF0IGJlZm9yZSBhbGxv d2luZyBhIGZpbGVzeXN0ZW0gdG8gYmUKbW91bnRlZCB3aXRoID4xNiBiaXQgcHJvamlkIHN1cHBv cnQuCgoKT0ssIGVub3VnaCBvZiB0aGF0LiAgSSBoYXZlIGEgZmV3IG90aGVyIHNwZWNpZmljIGNv bW1lbnRzCnJlbGF0ZWQgdG8geW91ciBhY3R1YWwgY29kZSwgYmVsb3cuCgoJCQkJCS1BbGV4Cgo+ IFdoYXQgaGFzIGNoYW5nZWQ/Cj4gLSBzYl9iYWRfZmVhdHVyZXMyIGlzIGFsc28gdXBkYXRlZAo+ IC0gbmV3IGhlbHBlciAtIHhmc19hZGRwcm9qaWQzMmJpdAo+IC0gZHJvcCAxNmJpdCBwcm9qaWQg cHJvdGVjdGlvbiBpbiBsYXRlc3Qga2VybmVscwo+IAo+IEkgdGhpbmsgaXQncyByZWFkeSB0byBt ZXJnZSBidXQgaXQgbGFja3MgZmluYWwgUmV2aWV3ZWQtYnksCj4gVGVzdGVkLWJ5IChiZXNpZGUg bWUpIGV0YyA6LSgKCi4gLiAuCgo+IGRpZmYgLS1naXQgYS9mcy94ZnMvbGludXgtMi42L3hmc19p b2N0bC5jCj4gYi9mcy94ZnMvbGludXgtMi42L3hmc19pb2N0bC5jCj4gaW5kZXggNGZlYzQyNy4u YWE3MjQ2NSAxMDA2NDQKPiAtLS0gYS9mcy94ZnMvbGludXgtMi42L3hmc19pb2N0bC5jCj4gKysr IGIvZnMveGZzL2xpbnV4LTIuNi94ZnNfaW9jdGwuYwoKLiAuIC4KCj4gQEAgLTk1MywxMyArOTQ2 LDIyIEBAIHhmc19pb2N0bF9zZXRhdHRyKAo+ICAgICAgICAgICAgICAgICBnb3RvIGVycm9yX3Jl dHVybjsKPiAgICAgICAgIH0KPiAgCj4gLSAgICAgICAvKgo+IC0gICAgICAgICogRG8gYSBxdW90 YSByZXNlcnZhdGlvbiBvbmx5IGlmIHByb2ppZCBpcyBhY3R1YWxseSBnb2luZyB0bwo+IGNoYW5n ZS4KPiAtICAgICAgICAqLwo+ICAgICAgICAgaWYgKG1hc2sgJiBGU1hfUFJPSklEKSB7Cj4gKyAg ICAgICAgICAgICAgIC8qCj4gKyAgICAgICAgICAgICAgICAqIFN3aXRjaCBvbiB0aGUgUFJPSklE MzJCSVQgc3VwZXJibG9jayBiaXQgd2hlbgo+IG5lZWRlZAo+ICsgICAgICAgICAgICAgICAgKiAo aW1wbGllcyBhbHNvIEZFQVRVUkVTMikKPiArICAgICAgICAgICAgICAgICovCj4gKyAgICAgICAg ICAgICAgIGlmICgheGZzX3NiX3ZlcnNpb25faGFzcHJvamlkMzJiaXQoJmlwLT5pX21vdW50LT5t X3NiKQo+ICYmCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYS0+ZnN4X3Byb2pp ZCA+IChfX3VpbnQxNl90KS0xKQoKRG9uJ3QgYm90aGVyIGNoZWNraW5nIHRoZSB2ZXJzaW9uIGhl cmUsIHlvdSBkbyB0aGF0IGFnYWluIGluIHRoZQp4ZnNfYWRkcHJvamlkMzJiaXQoKSBoZWxwZXIu ICBKdXN0IGNoZWNrIGZvciBleGNlZWRpbmcgdGhlIGxpbWl0LgoKPiArICAgICAgICAgICAgICAg ICAgICAgICB4ZnNfYWRkcHJvamlkMzJiaXQodHAsIGlwKTsKPiArCgouIC4gLgoKPiBkaWZmIC0t Z2l0IGEvZnMveGZzL3hmc19pbm9kZS5oIGIvZnMveGZzL3hmc19pbm9kZS5oCj4gaW5kZXggMDg5 OGM1NC4uNWJiYjEwMCAxMDA2NDQKPiAtLS0gYS9mcy94ZnMveGZzX2lub2RlLmgKPiArKysgYi9m cy94ZnMveGZzX2lub2RlLmgKLiAuIC4KCj4gQEAgLTMzNSw2ICszMzYsMjMgQEAgeGZzX2lmbGFn c190ZXN0X2FuZF9jbGVhcih4ZnNfaW5vZGVfdCAqaXAsIHVuc2lnbmVkIHNob3J0IGZsYWdzKQo+ ICB9Cj4gIAo+ICAvKgo+ICsgKiBQcm9qZWN0IHF1b3RhIGlkIGhlbHBlcnMKPiArICovCj4gK3N0 YXRpYyBpbmxpbmUgcHJpZF90Cj4gK3hmc19nZXRfcHJvamlkKHhmc19pbm9kZV90ICppcCkKPiAr ewo+ICsJcmV0dXJuIChwcmlkX3QpKGlwLT5pX2QuZGlfcHJvamlkX2hpKSA8PCAxNiB8IGlwLT5p X2QuZGlfcHJvamlkX2xvOwoKTm8gbmVlZCBmb3IgdGhlIHBhcmVudGhlc2VzIGFyb3VuZCBpcC0+ aV9kLmRpX3Byb2ppZF9oaSBoZXJlLgoKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkCj4g K3hmc19zZXRfcHJvamlkKHhmc19pbm9kZV90ICppcCwKPiArCQlwcmlkX3QgcHJvamlkKQo+ICt7 Cj4gKwlpcC0+aV9kLmRpX3Byb2ppZF9oaSA9IChfX3VpbnQxNl90KSAocHJvamlkID4+IDE2KTsK PiArCWlwLT5pX2QuZGlfcHJvamlkX2xvID0gKF9fdWludDE2X3QpIChwcm9qaWQgJiAweGZmZmYp Owo+ICt9Cj4gKwo+ICsvKgo+ICAgKiBNYW5hZ2UgdGhlIGlfZmx1c2ggcXVldWUgZW1iZWRkZWQg aW4gdGhlIGlub2RlLiAgVGhpcyBjb21wbGV0aW9uCj4gICAqIHF1ZXVlIHN5bmNocm9uaXplcyBw cm9jZXNzZXMgYXR0ZW1wdGluZyB0byBmbHVzaCB0aGUgaW4tY29yZQo+ICAgKiBpbm9kZSBiYWNr IHRvIGRpc2suCgouIC4gLgoKPiBkaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19zYi5oIGIvZnMveGZz L3hmc19zYi5oCj4gaW5kZXggMWIwMTdjNi4uZjc2NzRjNCAxMDA2NDQKPiAtLS0gYS9mcy94ZnMv eGZzX3NiLmgKPiArKysgYi9mcy94ZnMveGZzX3NiLmgKCi4gLiAuCgo+IEBAIC00OTUsNiArNDk3 LDE5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZnNfc2JfdmVyc2lvbl9yZW1vdmVhdHRyMih4ZnNf c2JfdCAqc2JwKQo+ICAJCXNicC0+c2JfdmVyc2lvbm51bSAmPSB+WEZTX1NCX1ZFUlNJT05fTU9S RUJJVFNCSVQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbmxpbmUgaW50IHhmc19zYl92ZXJzaW9uX2hh c3Byb2ppZDMyYml0KHhmc19zYl90ICpzYnApCj4gK3sKPiArCXJldHVybiB4ZnNfc2JfdmVyc2lv bl9oYXNtb3JlYml0cyhzYnApICYmCj4gKwkJKHNicC0+c2JfZmVhdHVyZXMyICYgWEZTX1NCX1ZF UlNJT04yX1BST0pJRDMyQklUKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIHhmc19z Yl92ZXJzaW9uX2FkZHByb2ppZDMyYml0KHhmc19zYl90ICpzYnApCj4gK3sKPiArCXNicC0+c2Jf dmVyc2lvbm51bSB8PSBYRlNfU0JfVkVSU0lPTl9NT1JFQklUU0JJVDsKCk1PUkVCSVRTQklUIGlz IG9ubHkgbWVhbmluZ2Z1bCBmb3Igc3VwZXJibG9jayB2ZXJzaW9uIDQuClNvIHlvdSBzaG91bGQg Zmlyc3QgY29udmVydCB0aGlzIGZpZWxkIHRvIHZlcnNpb24gNC4KWW91IG1pZ2h0IHVzZSB1c2lu ZyBzb21ldGhpbmcgbGlrZSB0aGlzIChidXQgc2V0dGluZwp0aGUgZXh0cmEgYml0cyBtYXkgYmUg bW9yZSB0aGFuIHlvdSB3YW50KToKCXNicC0+c2JfdmVyc2lvbm51bSA9IHhmc19zYl92ZXJzaW9u X3RvbmV3KHNicC0+c2JfdmVyc2lvbm51bSk7CglzYnAtPnNiX3ZlcnNpb25udW0gfD0gWEZTX1NC X1ZFUlNJT05fTU9SRUJJVFNCSVQ7CgooSXQgbG9va3MgbGlrZSB4ZnNfc2JfdmVyc2lvbl9hZGRh dHRyMigpIHNob3VsZCBoYXZlIGJlZW4Kd3JpdHRlbiB0aGF0IHdheSBhbHNvLikKCj4gKwlzYnAt PnNiX2ZlYXR1cmVzMiB8PSBYRlNfU0JfVkVSU0lPTjJfUFJPSklEMzJCSVQ7Cj4gKwlzYnAtPnNi X2JhZF9mZWF0dXJlczIgfD0gWEZTX1NCX1ZFUlNJT04yX1BST0pJRDMyQklUOwoKVGhlcmUgaXMg bm8gbmVlZCB0byBzZXQgdGhlIHNiX2JhZF9mZWF0dXJlczIgZmllbGQuICBOb25lCm9mIHRoZSBv dGhlciB2ZXJzaW9uIGZ1bmN0aW9ucyBkbyB0aGlzLiAgSXQgaXMgZml4ZWQgd2hlbgp0aGUgZmls ZSBzeXN0ZW0gaXMgbW91bnRlZCBpZiBuZWNlc3NhcnkuCgo+ICt9Cj4gKwo+ICAvKgo+ICAgKiBl bmQgb2Ygc3VwZXJibG9jayB2ZXJzaW9uIG1hY3Jvcwo+ICAgKi8KCi4gLiAuCgo+IGRpZmYgLS1n aXQgYS9mcy94ZnMveGZzX3Zub2Rlb3BzLmMgYi9mcy94ZnMveGZzX3Zub2Rlb3BzLmMKPiBpbmRl eCA0YzdjN2JmLi43MjMxOWE5IDEwMDY0NAo+IC0tLSBhL2ZzL3hmcy94ZnNfdm5vZGVvcHMuYwo+ ICsrKyBiL2ZzL3hmcy94ZnNfdm5vZGVvcHMuYwoKLiAuIC4KCj4gQEAgLTE5NzgsOSArMTk3OCw5 IEBAIHhmc19zeW1saW5rKAo+ICAKPiAgCXVkcXAgPSBnZHFwID0gTlVMTDsKPiAgCWlmIChkcC0+ aV9kLmRpX2ZsYWdzICYgWEZTX0RJRkxBR19QUk9KSU5IRVJJVCkKPiAtCQlwcmlkID0gZHAtPmlf ZC5kaV9wcm9qaWQ7Cj4gKwkJcHJpZCA9IHhmc19nZXRfcHJvamlkKGRwKTsKPiAgCWVsc2UKPiAt CQlwcmlkID0gKHhmc19wcmlkX3QpZGZsdHByaWQ7Cj4gKwkJcHJpZCA9IGRmbHRwcmlkOwoKSSBr bm93IHRoaXMgaXNuJ3QgeW91ciBkb2luZywgYnV0ICJkZmx0cHJpZCIgaXMgYSBjb21wbGV0ZSBD UkFQCnN5bWJvbCBuYW1lLCBlc3BlY2lhbGx5IG9uZSB0aGF0IHNob3VsZCBiZSBjb25zdHJhaW5l ZCB0byB0aGUgWEZTCnNjb3BlLiAgSG93IGFib3V0IHJlbmFtaW5nIHRoaXMgWEZTX1BST0pJRF9E RUZBVUxUIG9yIHNvbWV0aGluZz8KCiAKPiAgCS8qCj4gIAkgKiBNYWtlIHN1cmUgdGhhdCB3ZSBo YXZlIGFsbG9jYXRlZCBkcXVvdChzKSBvbiBkaXNrLgoKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwp4ZnMgbWFpbGluZyBsaXN0Cnhmc0Bvc3Muc2dpLmNv bQpodHRwOi8vb3NzLnNnaS5jb20vbWFpbG1hbi9saXN0aW5mby94ZnMK