From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaegeuk Kim Subject: Re: f2fs: BUG_ON() is triggered when mount valid f2fs filesystem Date: Thu, 17 Apr 2014 16:45:20 +0900 Message-ID: <1397720720.7727.28.camel@kjgkr> References: <52F320FC.50803@ispras.ru> <534BC29B.3020408@ispras.ru> <1397559864.7727.5.camel@kjgkr> <534E494C.7050909@ispras.ru> <1397691337.7727.18.camel@kjgkr> <534F2A32.9030405@ispras.ru> Reply-To: jaegeuk.kim@samsung.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Wah2i-0006iB-He for linux-f2fs-devel@lists.sourceforge.net; Thu, 17 Apr 2014 07:47:32 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-MD5:128) (Exim 4.76) id 1Wah2g-0005Um-1E for linux-f2fs-devel@lists.sourceforge.net; Thu, 17 Apr 2014 07:47:32 +0000 Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N4600D9Y0AYSG30@mailout2.samsung.com> for linux-f2fs-devel@lists.sourceforge.net; Thu, 17 Apr 2014 16:47:22 +0900 (KST) In-reply-to: <534F2A32.9030405@ispras.ru> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: Alexey Khoroshilov Cc: Andrey Tsyvarev , linux-kernel , linux-f2fs-devel@lists.sourceforge.net SGksCgoyMDE0LTA0LTE2ICjsiJgpLCAxODoxMSAtMDcwMCwgQWxleGV5IEtob3Jvc2hpbG92Ogo+ IEhpLAo+IAo+IEJ1dCB3b3VsZCBub3QgYWJpbGl0eSB0byB0cmlnZ2VyIEJVR19PTiBieSBtb3Vu dGluZyBhIGNyYWZ0ZWQgaW1hZ2UKPiBjb25zaWRlcmVkIGFzIGFuIGlzc3VlIGhhdmluZyBzZWN1 cml0eSBpbXBsaWNhdGlvbnM/CgpTb3JyeSwgSSBjYW4ndCBjb21lIHVwIHdpdGggeW91LgpDb3Vs ZCB5b3UgcGxlYXNlIGV4cGxhaW4gd2h5IHRoaXMgY2FuIGJlIHJlbGF0ZWQgdG8gdGhlIHNlY3Vy aXR5IGhvbGU/CkRpZCB5b3UgbWVhbiBpdCBuZWVkcyB0byBhdm9pZCBzdWNoIHRoZSBCVUdfT05z IGlmIHRoZSBpbWFnZSBoYXMKb2Jzb2xldGUgZGF0YSBiZWluZyB1c2VkIGJlZm9yZT8KClRoYW5r cywKCj4gCj4gUmVnYXJkcywKPiBBbGV4ZXkKPiAKPiAKPiBPbiAxNi4wNC4yMDE0IDE2OjM1LCBK YWVnZXVrIEtpbSB3cm90ZToKPiA+IEhpLAo+ID4KPiA+IDIwMTQtMDQtMTYgKOyImCksIDEzOjEx ICswNDAwLCBBbmRyZXkgVHN5dmFyZXY6Cj4gPj4gSGksCj4gPj4KPiA+PiBXaXRoIHRoaXMgcGF0 Y2ggbW91bnRpbmcgb2YgdGhlIGltYWdlIGNvbnRpbnVlcyB0byBmYWlsICh3aXRoIHNpbWlsYXIg Cj4gPj4gQlVHX09OKS4KPiA+PiBCdXQgd2hlbiBpbWFnZSBpcyBmb3JtYXR0ZWQgYWdhaW4gKGFu ZCBzdGVwcyBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIAo+ID4+IG1lc3NhZ2UgYXJlIHBlcmZv cm1lZCksCj4gPj4gbW91bnRpbmcgb2YgaXQgaXMgbm93IHN1Y2NlZWQuCj4gPj4KPiA+PiBJcyB0 aGlzIGlzIGEgdHJ1ZSBwdXJwb3NlIG9mIHRoZSBwYXRjaD8KPiA+IEluZGVlZC4gVGhlIHBhdGNo IHNvbHZlcyB0aGVyZS1pbiByb290IGNhdXNlLgo+ID4gQnV0LCBpZiB5b3UncmUgdHJ5aW5nIHRv IHVzZSB0aGUgZmFpbGVkIGltYWdlIGFnYWluLCBzaW1wbHkgeW91IGNhbiBza2lwCj4gPiB0aGUg ZXJyb3JuZW91cyBwYXJ0IGJ5Ogo+ID4KPiA+ICMgbW91bnQgLi4uIC1vIGRpc2FibGVfcm9sbF9m b3J3YXJkIC4uLgo+ID4KPiA+IE9uY2Ugc3luYyBvciB1bW91bnQgd2hhdGV2ZXIgY2hlY2twb2lu dCBpcyBkb25lIGFmdGVyIHRoYXQsIHRoZSBpbWFnZQo+ID4gd2lsbCBiZSBtb3VudGVkIHdpdGhv dXQgImRpc2FibGVfcm9sbF9mb3J3YXJkIi4KPiA+Cj4gPiBUaGFua3MsCj4gPgo+ID4+IDE1LjA0 LjIwMTQgMTU6MDQsIEphZWdldWsgS2ltINC/0LjRiNC10YI6Cj4gPj4+IEhpLAo+ID4+Pgo+ID4+ PiBUaGFuayB5b3UgZm9yIHRoZSByZXBvcnQuCj4gPj4+IEkgcmV0cmlldmVkIHRoZSBmYXVsdCBp bWFnZSBhbmQgZm91bmQgb3V0IHRoYXQgcHJldmlvdXMgZ2FyYmFnZSBkYXRhCj4gPj4+IHdyZWFr IHN1Y2ggdGhlIHdyb25nIGJlaGF2aW9ycy4KPiA+Pj4gU28sIEkgd3JvdGUgdGhlIGZvbGxvd2lu ZyBwYXRjaCB0aGF0IGZpbGxzIG9uZSB6ZXJvLWJsb2NrIGF0IHRoZQo+ID4+PiBjaGVja3BvaW50 IHByb2NlZHVyZS4KPiA+Pj4gSWYgdGhlIHVuZGVybHlpbmcgZGV2aWNlIHN1cHBvcnRzIGRpc2Nh cmQsIEkgZXhwZWN0IHRoYXQgaXQgbW9zdGx5Cj4gPj4+IGRvZXNuJ3QgaW5jdXIgYW55IHBlcmZv cm1hbmNlIHJlZ3Jlc3Npb24gc2lnbmlmaWNhbnRseS4KPiA+Pj4KPiA+Pj4gQ291bGQgeW91IHRl c3QgdGhpcyBwYXRjaD8KPiA+Pj4KPiA+Pj4gPkZyb20gNjA1ODhjZWI3Mjc3YWFlMmE3OWU3ZjY3 ZjUyMTdkMTI1NjcyMGQ3OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKPiA+Pj4gRnJvbTogSmFl Z2V1ayBLaW0gPGphZWdldWsua2ltQHNhbXN1bmcuY29tPgo+ID4+PiBEYXRlOiBUdWUsIDE1IEFw ciAyMDE0IDEzOjU3OjU1ICswOTAwCj4gPj4+IFN1YmplY3Q6IFtQQVRDSF0gZjJmczogYXZvaWQg dG8gY29uZHVjdCByb2xsLWZvcndhcmQgZHVlIHRvIHRoZSByZW1haW5lZAo+ID4+PiAgIGdhcmJh Z2UgYmxvY2tzCj4gPj4+Cj4gPj4+IFRoZSBmMmZzIGFsd2F5cyBzY2FucyB0aGUgbmV4dCBjaGFp biBvZiBkaXJlY3Qgbm9kZSBibG9ja3MuCj4gPj4+IEJ1dCBzb21lIGdhcmJhZ2UgYmxvY2tzIGFy ZSBhYmxlIHRvIGJlIHJlbWFpbmVkIGR1ZSB0byBubyBkaXNjYXJkCj4gPj4+IHN1cHBvcnQgb3IK PiA+Pj4gU1NSIHRyaWdnZXJzLgo+ID4+PiBUaGlzIG9jY2FzaW9uYWxseSB3cmVha3MgcmVjb3Zl cmluZyB3cm9uZyBpbm9kZXMgdGhhdCB3ZXJlIHVzZWQgb3IKPiA+Pj4gQlVHX09Ocwo+ID4+PiBk dWUgdG8gcmVhbGxvY2F0aW5nIG5vZGUgaWRzIGFzIGZvbGxvd3MuCj4gPj4+Cj4gPj4+IFdoZW4g bW91bnQgdGhpcyBmMmZzIGltYWdlOgo+ID4+PiBodHRwOi8vbGludXh0ZXN0aW5nLm9yZy9kb3du bG9hZHMvZjJmc19mYXVsdF9pbWFnZS56aXAKPiA+Pj4gQlVHX09OIGlzIHRyaWdnZXJlZCBpbiBm MmZzIGRyaXZlciAobWVzc2FnZXMgYmVsb3cgYXJlIGdlbmVyYXRlZCBvbgo+ID4+PiBrZXJuZWwg My4xMy4yOyBmb3Igb3RoZXIga2VybmVscyBvdXRwdXQgaXMgc2ltaWxhcik6Cj4gPj4+Cj4gPj4+ IGtlcm5lbCBCVUcgYXQgZnMvZjJmcy9ub2RlLmM6MjE1IQo+ID4+PiAgIENhbGwgVHJhY2U6Cj4g Pj4+ICAgWzxmZmZmZmZmZmEwMzJlYmFkPl0gcmVjb3Zlcl9pbm9kZV9wYWdlKzB4MWZkLzB4M2Uw IFtmMmZzXQo+ID4+PiAgIFs8ZmZmZmZmZmY4MTE0NDZlNz5dID8gX19sb2NrX3BhZ2UrMHg2Ny8w eDcwCj4gPj4+ICAgWzxmZmZmZmZmZjgxMDg5OTkwPl0gPyBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rp b24rMHg1MC8weDUwCj4gPj4+ICAgWzxmZmZmZmZmZmEwMzM3Nzg4Pl0gcmVjb3Zlcl9mc3luY19k YXRhKzB4MTM5OC8weDE1ZDAgW2YyZnNdCj4gPj4+ICAgWzxmZmZmZmZmZjgxMmI5ZTVjPl0gPyBz ZWxpbnV4X2RfaW5zdGFudGlhdGUrMHgxYy8weDIwCj4gPj4+ICAgWzxmZmZmZmZmZjgxMWNiMjBi Pl0gPyBkX2luc3RhbnRpYXRlKzB4NWIvMHg4MAo+ID4+PiAgIFs8ZmZmZmZmZmZhMDMyMTA0ND5d IGYyZnNfZmlsbF9zdXBlcisweGIwNC8weGJmMCBbZjJmc10KPiA+Pj4gICBbPGZmZmZmZmZmODEx Yjg2MWU+XSA/IG1vdW50X2JkZXYrMHg3ZS8weDIxMAo+ID4+PiAgIFs8ZmZmZmZmZmY4MTFiODc2 OT5dIG1vdW50X2JkZXYrMHgxYzkvMHgyMTAKPiA+Pj4gICBbPGZmZmZmZmZmYTAzMjA1NDA+XSA/ IHZhbGlkYXRlX3N1cGVyYmxvY2srMHgyMTAvMHgyMTAgW2YyZnNdCj4gPj4+ICAgWzxmZmZmZmZm ZmEwMzFjZjhkPl0gZjJmc19tb3VudCsweDFkLzB4MzAgW2YyZnNdCj4gPj4+ICAgWzxmZmZmZmZm ZjgxMWI5NDk3Pl0gbW91bnRfZnMrMHg0Ny8weDFjMAo+ID4+PiAgIFs8ZmZmZmZmZmY4MTE2NmUw MD5dID8gX19hbGxvY19wZXJjcHUrMHgxMC8weDIwCj4gPj4+ICAgWzxmZmZmZmZmZjgxMWQ0MDMy Pl0gdmZzX2tlcm5fbW91bnQrMHg3Mi8weDExMAo+ID4+PiAgIFs8ZmZmZmZmZmY4MTFkNjc2Mz5d IGRvX21vdW50KzB4NDkzLzB4OTEwCj4gPj4+ICAgWzxmZmZmZmZmZjgxMTYxNWNiPl0gPyBzdHJu ZHVwX3VzZXIrMHg1Yi8weDgwCj4gPj4+ICAgWzxmZmZmZmZmZjgxMWQ2YzcwPl0gU3lTX21vdW50 KzB4OTAvMHhlMAo+ID4+PiAgIFs8ZmZmZmZmZmY4MTY2ZjhkOT5dIHN5c3RlbV9jYWxsX2Zhc3Rw YXRoKzB4MTYvMHgxYgo+ID4+Pgo+ID4+PiBGb3VuZCBieSBMaW51eCBGaWxlIFN5c3RlbSBWZXJp ZmljYXRpb24gcHJvamVjdCAobGludXh0ZXN0aW5nLm9yZykuCj4gPj4+Cj4gPj4+IFJlcG9ydGVk LWJ5OiBBbmRyZXkgVHN5dmFyZXYgPHRzeXZhcmV2QGlzcHJhcy5ydT4KPiA+Pj4gU2lnbmVkLW9m Zi1ieTogSmFlZ2V1ayBLaW0gPGphZWdldWsua2ltQHNhbXN1bmcuY29tPgo+ID4+PiAtLS0KPiA+ Pj4gICBmcy9mMmZzL2NoZWNrcG9pbnQuYyB8ICA2ICsrKysrKwo+ID4+PiAgIGZzL2YyZnMvZjJm cy5oICAgICAgIHwgIDEgKwo+ID4+PiAgIGZzL2YyZnMvc2VnbWVudC5jICAgIHwgMTcgKysrKysr KysrKysrKysrLS0KPiA+Pj4gICAzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCj4gPj4+Cj4gPj4+IGRpZmYgLS1naXQgYS9mcy9mMmZzL2NoZWNrcG9pbnQu YyBiL2ZzL2YyZnMvY2hlY2twb2ludC5jCj4gPj4+IGluZGV4IDRhYTUyMWEuLjg5MGUyM2QgMTAw NjQ0Cj4gPj4+IC0tLSBhL2ZzL2YyZnMvY2hlY2twb2ludC5jCj4gPj4+ICsrKyBiL2ZzL2YyZnMv Y2hlY2twb2ludC5jCj4gPj4+IEBAIC03NjIsNiArNzYyLDEyIEBAIHN0YXRpYyB2b2lkIGRvX2No ZWNrcG9pbnQoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAo+ID4+PiBib29sIGlzX3Vtb3VudCkK PiA+Pj4gICAJdm9pZCAqa2FkZHI7Cj4gPj4+ICAgCWludCBpOwo+ID4+PiAgIAo+ID4+PiArCS8q Cj4gPj4+ICsJICogVGhpcyBhdm9pZHMgdG8gY29uZHVjdCB3cm9uZyByb2xsLWZvcndhcmQgb3Bl cmF0aW9ucyBhbmQgdXNlcwo+ID4+PiArCSAqIG1ldGFwYWdlcywgc28gc2hvdWxkIGJlIGNhbGxl ZCBwcmlvciB0byBzeW5jX21ldGFfcGFnZXMgYmVsb3cuCj4gPj4+ICsJICovCj4gPj4+ICsJZGlz Y2FyZF9uZXh0X2Rub2RlKHNiaSk7Cj4gPj4+ICsKPiA+Pj4gICAJLyogRmx1c2ggYWxsIHRoZSBO QVQvU0lUIHBhZ2VzICovCj4gPj4+ICAgCXdoaWxlIChnZXRfcGFnZXMoc2JpLCBGMkZTX0RJUlRZ X01FVEEpKQo+ID4+PiAgIAkJc3luY19tZXRhX3BhZ2VzKHNiaSwgTUVUQSwgTE9OR19NQVgpOwo+ ID4+PiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9mMmZzLmggYi9mcy9mMmZzL2YyZnMuaAo+ID4+PiBp bmRleCAyZWNhYzgzLi4yYzVhNWRhIDEwMDY0NAo+ID4+PiAtLS0gYS9mcy9mMmZzL2YyZnMuaAo+ ID4+PiArKysgYi9mcy9mMmZzL2YyZnMuaAo+ID4+PiBAQCAtMTE3OSw2ICsxMTc5LDcgQEAgaW50 IGYyZnNfaXNzdWVfZmx1c2goc3RydWN0IGYyZnNfc2JfaW5mbyAqKTsKPiA+Pj4gICB2b2lkIGlu dmFsaWRhdGVfYmxvY2tzKHN0cnVjdCBmMmZzX3NiX2luZm8gKiwgYmxvY2tfdCk7Cj4gPj4+ICAg dm9pZCByZWZyZXNoX3NpdF9lbnRyeShzdHJ1Y3QgZjJmc19zYl9pbmZvICosIGJsb2NrX3QsIGJs b2NrX3QpOwo+ID4+PiAgIHZvaWQgY2xlYXJfcHJlZnJlZV9zZWdtZW50cyhzdHJ1Y3QgZjJmc19z Yl9pbmZvICopOwo+ID4+PiArdm9pZCBkaXNjYXJkX25leHRfZG5vZGUoc3RydWN0IGYyZnNfc2Jf aW5mbyAqKTsKPiA+Pj4gICBpbnQgbnBhZ2VzX2Zvcl9zdW1tYXJ5X2ZsdXNoKHN0cnVjdCBmMmZz X3NiX2luZm8gKik7Cj4gPj4+ICAgdm9pZCBhbGxvY2F0ZV9uZXdfc2VnbWVudHMoc3RydWN0IGYy ZnNfc2JfaW5mbyAqKTsKPiA+Pj4gICBzdHJ1Y3QgcGFnZSAqZ2V0X3N1bV9wYWdlKHN0cnVjdCBm MmZzX3NiX2luZm8gKiwgdW5zaWduZWQgaW50KTsKPiA+Pj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMv c2VnbWVudC5jIGIvZnMvZjJmcy9zZWdtZW50LmMKPiA+Pj4gaW5kZXggMWUyNjRlNy4uOTk5M2Y5 NCAxMDA2NDQKPiA+Pj4gLS0tIGEvZnMvZjJmcy9zZWdtZW50LmMKPiA+Pj4gKysrIGIvZnMvZjJm cy9zZWdtZW50LmMKPiA+Pj4gQEAgLTMzNSwxMyArMzM1LDI2IEBAIHN0YXRpYyB2b2lkIGxvY2F0 ZV9kaXJ0eV9zZWdtZW50KHN0cnVjdAo+ID4+PiBmMmZzX3NiX2luZm8gKnNiaSwgdW5zaWduZWQg aW50IHNlZ25vKQo+ID4+PiAgIAltdXRleF91bmxvY2soJmRpcnR5X2ktPnNlZ2xpc3RfbG9jayk7 Cj4gPj4+ICAgfQo+ID4+PiAgIAo+ID4+PiAtc3RhdGljIHZvaWQgZjJmc19pc3N1ZV9kaXNjYXJk KHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwKPiA+Pj4gK3N0YXRpYyBpbnQgZjJmc19pc3N1ZV9k aXNjYXJkKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwKPiA+Pj4gICAJCQkJYmxvY2tfdCBibGtz dGFydCwgYmxvY2tfdCBibGtsZW4pCj4gPj4+ICAgewo+ID4+PiAgIAlzZWN0b3JfdCBzdGFydCA9 IFNFQ1RPUl9GUk9NX0JMT0NLKHNiaSwgYmxrc3RhcnQpOwo+ID4+PiAgIAlzZWN0b3JfdCBsZW4g PSBTRUNUT1JfRlJPTV9CTE9DSyhzYmksIGJsa2xlbik7Cj4gPj4+IC0JYmxrZGV2X2lzc3VlX2Rp c2NhcmQoc2JpLT5zYi0+c19iZGV2LCBzdGFydCwgbGVuLCBHRlBfTk9GUywgMCk7Cj4gPj4+ICAg CXRyYWNlX2YyZnNfaXNzdWVfZGlzY2FyZChzYmktPnNiLCBibGtzdGFydCwgYmxrbGVuKTsKPiA+ Pj4gKwlyZXR1cm4gYmxrZGV2X2lzc3VlX2Rpc2NhcmQoc2JpLT5zYi0+c19iZGV2LCBzdGFydCwg bGVuLCBHRlBfTk9GUywgMCk7Cj4gPj4+ICt9Cj4gPj4+ICsKPiA+Pj4gK3ZvaWQgZGlzY2FyZF9u ZXh0X2Rub2RlKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSkKPiA+Pj4gK3sKPiA+Pj4gKwlzdHJ1 Y3QgY3Vyc2VnX2luZm8gKmN1cnNlZyA9IENVUlNFR19JKHNiaSwgQ1VSU0VHX1dBUk1fTk9ERSk7 Cj4gPj4+ICsJYmxvY2tfdCBibGthZGRyID0gTkVYVF9GUkVFX0JMS0FERFIoc2JpLCBjdXJzZWcp Owo+ID4+PiArCj4gPj4+ICsJaWYgKGYyZnNfaXNzdWVfZGlzY2FyZChzYmksIGJsa2FkZHIsIDEp KSB7Cj4gPj4+ICsJCXN0cnVjdCBwYWdlICpwYWdlID0gZ3JhYl9tZXRhX3BhZ2Uoc2JpLCBibGth ZGRyKTsKPiA+Pj4gKwkJLyogemVyby1maWxsZWQgcGFnZSAqLwo+ID4+PiArCQlzZXRfcGFnZV9k aXJ0eShwYWdlKTsKPiA+Pj4gKwkJZjJmc19wdXRfcGFnZShwYWdlLCAxKTsKPiA+Pj4gKwl9Cj4g Pj4+ICAgfQo+ID4+PiAgIAo+ID4+PiAgIHN0YXRpYyB2b2lkIGFkZF9kaXNjYXJkX2FkZHJzKHN0 cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwKPiAKPiAtLQo+IFRvIHVuc3Vic2NyaWJlIGZyb20gdGhp cyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC1rZXJuZWwiIGluCj4gdGhl IGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPiBNb3JlIG1h am9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0 bWwKPiBQbGVhc2UgcmVhZCB0aGUgRkFRIGF0ICBodHRwOi8vd3d3LnR1eC5vcmcvbGttbC8KCi0t IApKYWVnZXVrIEtpbQpTYW1zdW5nCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpMZWFybiBHcmFw aCBEYXRhYmFzZXMgLSBEb3dubG9hZCBGUkVFIE8nUmVpbGx5IEJvb2sKIkdyYXBoIERhdGFiYXNl cyIgaXMgdGhlIGRlZmluaXRpdmUgbmV3IGd1aWRlIHRvIGdyYXBoIGRhdGFiYXNlcyBhbmQgdGhl aXIKYXBwbGljYXRpb25zLiBXcml0dGVuIGJ5IHRocmVlIGFjY2xhaW1lZCBsZWFkZXJzIGluIHRo ZSBmaWVsZCwKdGhpcyBmaXJzdCBlZGl0aW9uIGlzIG5vdyBhdmFpbGFibGUuIERvd25sb2FkIHlv dXIgZnJlZSBib29rIHRvZGF5IQpodHRwOi8vcC5zZi5uZXQvc2Z1L05lb1RlY2gKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtZjJmcy1kZXZlbCBt YWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6 Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtZjJmcy1kZXZlbAo=