From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changman Lee Subject: Re: [PATCH] f2fs: avoid crash when trace f2fs_submit_page_mbio event in ra_sum_pages Date: Mon, 26 May 2014 16:46:24 +0900 Message-ID: <20140526074624.GA28081@cm224.lee> References: <005801cf70e7$66cb0090$346101b0$@samsung.com> <1400643406.12240.6.camel@kjgkr> <20140523051413.GB26933@cm224.lee> <00cc01cf78ab$87d88b10$9789a130$@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-fsdevel@vger.kernel.org, 'Jaegeuk Kim' , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net To: Chao Yu Return-path: In-reply-to: <00cc01cf78ab$87d88b10$9789a130$@samsung.com> Content-disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net List-Id: linux-fsdevel.vger.kernel.org T24gTW9uLCBNYXkgMjYsIDIwMTQgYXQgMDI6MjY6MjRQTSArMDgwMCwgQ2hhbyBZdSB3cm90ZToK PiBIaSBjaGFuZ21hbiwKPiAKPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiBGcm9t OiBDaGFuZ21hbiBMZWUgW21haWx0bzpjbTIyNC5sZWVAc2Ftc3VuZy5jb21dCj4gPiBTZW50OiBG cmlkYXksIE1heSAyMywgMjAxNCAxOjE0IFBNCj4gPiBUbzogSmFlZ2V1ayBLaW0KPiA+IENjOiBD aGFvIFl1OyBsaW51eC1mc2RldmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIu a2VybmVsLm9yZzsKPiA+IGxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4g PiBTdWJqZWN0OiBSZTogW2YyZnMtZGV2XSBbUEFUQ0hdIGYyZnM6IGF2b2lkIGNyYXNoIHdoZW4g dHJhY2UgZjJmc19zdWJtaXRfcGFnZV9tYmlvIGV2ZW50IGluCj4gPiByYV9zdW1fcGFnZXMKPiA+ IAo+ID4gT24gV2VkLCBNYXkgMjEsIDIwMTQgYXQgMTI6MzY6NDZQTSArMDkwMCwgSmFlZ2V1ayBL aW0gd3JvdGU6Cj4gPiA+IEhpIENoYW8sCj4gPiA+Cj4gPiA+IDIwMTQtMDUtMTYgKOq4iCksIDE3 OjE0ICswODAwLCBDaGFvIFl1Ogo+ID4gPiA+IFByZXZpb3VzbHkgd2UgYWxsb2NhdGUgcGFnZXMg d2l0aCBubyBtYXBwaW5nIGluIHJhX3N1bV9wYWdlcygpLCBzbyB3ZSBtYXkKPiA+ID4gPiBlbmNv dW50ZXIgYSBjcmFzaCBpbiBldmVudCB0cmFjZSBvZiBmMmZzX3N1Ym1pdF9wYWdlX21iaW8gd2hl cmUgd2UgYWNjZXNzCj4gPiA+ID4gbWFwcGluZyBkYXRhIG9mIHRoZSBwYWdlLgo+ID4gPiA+Cj4g PiA+ID4gV2UnZCBiZXR0ZXIgYWxsb2NhdGUgcGFnZXMgaW4gYmRfaW5vZGUgbWFwcGluZyBhbmQg aW52YWxpZGF0ZSB0aGVzZSBwYWdlcyBhZnRlcgo+ID4gPiA+IHdlIHJlc3RvcmUgZGF0YSBmcm9t IHBhZ2VzLiBJdCBjb3VsZCBhdm9pZCBjcmFzaCBpbiBhYm92ZSBzY2VuYXJpby4KPiA+ID4gPgo+ ID4gPiA+IENhbGwgVHJhY2U6Cj4gPiA+ID4gIFs8ZjEwMzE2MzA+XSA/IGZ0cmFjZV9yYXdfZXZl bnRfZjJmc193cml0ZV9jaGVja3BvaW50KzB4ODAvMHg4MCBbZjJmc10KPiA+ID4gPiAgWzxmMTAz NzdiYj5dIGYyZnNfc3VibWl0X3BhZ2VfbWJpbysweDFjYi8weDIwMCBbZjJmc10KPiA+ID4gPiAg WzxmMTAzYzVkYT5dIHJlc3RvcmVfbm9kZV9zdW1tYXJ5KzB4MTNhLzB4MjgwIFtmMmZzXQo+ID4g PiA+ICBbPGYxMDNlMjJkPl0gYnVpbGRfY3Vyc2VnKzB4MmJkLzB4NjIwIFtmMmZzXQo+ID4gPiA+ ICBbPGYxMDQwNDNiPl0gYnVpbGRfc2VnbWVudF9tYW5hZ2VyKzB4MWNiLzB4OTIwIFtmMmZzXQo+ ID4gPiA+ICBbPGYxMDMyYzg1Pl0gZjJmc19maWxsX3N1cGVyKzB4NTM1LzB4OGUwIFtmMmZzXQo+ ID4gPiA+ICBbPGMxMTViNjZhPl0gbW91bnRfYmRldisweDE2YS8weDFhMAo+ID4gPiA+ICBbPGYx MDJmNjNmPl0gZjJmc19tb3VudCsweDFmLzB4MzAgW2YyZnNdCj4gPiA+ID4gIFs8YzExNWMwOTY+ XSBtb3VudF9mcysweDM2LzB4MTcwCj4gPiA+ID4gIFs8YzExNzM2MzU+XSB2ZnNfa2Vybl9tb3Vu dCsweDU1LzB4ZTAKPiA+ID4gPiAgWzxjMTE3NTM4OD5dIGRvX21vdW50KzB4MWU4LzB4OTAwCj4g PiA+ID4gIFs8YzExNzVkNzI+XSBTeVNfbW91bnQrMHg4Mi8weGMwCj4gPiA+ID4gIFs8YzE2MDU5 Y2M+XSBzeXNlbnRlcl9kb19jYWxsKzB4MTIvMHgyMgo+ID4gPiA+Cj4gPiA+ID4gU2lnbmVkLW9m Zi1ieTogQ2hhbyBZdSA8Y2hhbzIueXVAc2Ftc3VuZy5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4g IGZzL2YyZnMvbm9kZS5jIHwgICA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCsp LCAyMSBkZWxldGlvbnMoLSkKPiA+ID4gPgo+ID4gPiA+IGRpZmYgLS1naXQgYS9mcy9mMmZzL25v ZGUuYyBiL2ZzL2YyZnMvbm9kZS5jCj4gPiA+ID4gaW5kZXggM2Q2MGQzZC4uYjVjZDgxNCAxMDA2 NDQKPiA+ID4gPiAtLS0gYS9mcy9mMmZzL25vZGUuYwo+ID4gPiA+ICsrKyBiL2ZzL2YyZnMvbm9k ZS5jCj4gPiA+ID4gQEAgLTE2NTgsMTMgKzE2NTgsMTYgQEAgaW50IHJlY292ZXJfaW5vZGVfcGFn ZShzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmksIHN0cnVjdCBwYWdlICpwYWdlKQo+ID4gPiA+Cj4g PiA+ID4gIC8qCj4gPiA+ID4gICAqIHJhX3N1bV9wYWdlcygpIG1lcmdlIGNvbnRpZ3VvdXMgcGFn ZXMgaW50byBvbmUgYmlvIGFuZCBzdWJtaXQuCj4gPiA+ID4gLSAqIHRoZXNlIHByZS1yZWFkZWQg cGFnZXMgYXJlIGxpbmtlZCBpbiBwYWdlcyBsaXN0Lgo+ID4gPiA+ICsgKiB0aGVzZSBwcmUtcmVh ZGVkIHBhZ2VzIGFyZSBhbGxvY2VkIGluIGJkX2lub2RlJ3MgbWFwcGluZyB0cmVlLgo+ID4gPiA+ ICAgKi8KPiA+ID4gPiAtc3RhdGljIGludCByYV9zdW1fcGFnZXMoc3RydWN0IGYyZnNfc2JfaW5m byAqc2JpLCBzdHJ1Y3QgbGlzdF9oZWFkICpwYWdlcywKPiA+ID4gPiArc3RhdGljIGludCByYV9z dW1fcGFnZXMoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLAo+ ID4gPiA+ICAJCQkJaW50IHN0YXJ0LCBpbnQgbnJwYWdlcykKPiA+ID4gPiAgewo+ID4gPiA+ICAJ c3RydWN0IHBhZ2UgKnBhZ2U7Cj4gPiA+ID4gKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gc2JpLT5z Yi0+c19iZGV2LT5iZF9pbm9kZTsKPiA+IAo+ID4gSG93IGFib3V0IHVzZSBzYmktPm1ldGFfaW5v ZGUgaW5zdGVhZCBvZiBiZF9pbm9kZSwgdGhlbiB3ZSBjYW4gZG8KPiA+IGNhY2hpbmcgc3VtbWFy eSBwYWdlcyBmb3IgZnVydGhlciBpL28uCj4gCj4gSW4gbXkgdW5kZXJzdGFuZGluZywgSW4gcmFf c3VtX3BhZ2VzKCkgd2UgcmVhZGFoZWFkIG5vZGUgcGFnZXMgaW4gTk9ERSBzZWdtZW50LAo+IHRo ZW4gd2UgY291bGQgcGFkZGluZyBjdXJyZW50IHN1bW1hcnkgY2FjaGluZyB3aXRoIG5pZCBvZiBu b2RlIHBhZ2UncyBmb290ZXIuCj4gU28gd2Ugc2hvdWxkIG5vdCBjYWNoZSB0aGlzIHJlYWRhaGVh ZGVkIHBhZ2VzIGluIG1ldGFfaW5vZGUncyBtYXBwaW5nLgo+IERvIEkgbWlzcyBzb21ldGhpbmc/ Cj4gCj4gUmVnYXJkcwo+IAoKU29ycnksIHlvdSdyZSByaWdodC4gRm9yZ2V0IGFib3V0IGNhY2hp bmcuIEkndmUgY29uZnVzZWQgcmFfc3VtX3BhZ2VzIHdpdGggc3VtbWFyeSBzZWdtZW50cy4KCj4g PiAKPiA+ID4gPiArCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gaW5vZGUtPmlfbWFw cGluZzsKPiA+ID4gPiAgCWludCBwYWdlX2lkeCA9IHN0YXJ0Owo+ID4gPiA+ICsJaW50IGFsbG9j ZWQsIHJlYWRlZDsKPiA+ID4gPiAgCXN0cnVjdCBmMmZzX2lvX2luZm8gZmlvID0gewo+ID4gPiA+ ICAJCS50eXBlID0gTUVUQSwKPiA+ID4gPiAgCQkucncgPSBSRUFEX1NZTkMgfCBSRVFfTUVUQSB8 IFJFUV9QUklPCj4gPiA+ID4gQEAgLTE2NzIsMjEgKzE2NzUsMjMgQEAgc3RhdGljIGludCByYV9z dW1fcGFnZXMoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLCBzdHJ1Y3QgbGlzdF9oZWFkCj4gPiAq cGFnZXMsCj4gPiA+ID4KPiA+ID4gPiAgCWZvciAoOyBwYWdlX2lkeCA8IHN0YXJ0ICsgbnJwYWdl czsgcGFnZV9pZHgrKykgewo+ID4gPiA+ICAJCS8qIGFsbG9jIHRlbXBvcmFsIHBhZ2UgZm9yIHJl YWQgbm9kZSBzdW1tYXJ5IGluZm8qLwo+ID4gPiA+IC0JCXBhZ2UgPSBhbGxvY19wYWdlKEdGUF9G MkZTX1pFUk8pOwo+ID4gPiA+ICsJCXBhZ2UgPSBncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgcGFn ZV9pZHgpOwo+ID4gPiA+ICAJCWlmICghcGFnZSkKPiA+ID4gPiAgCQkJYnJlYWs7Cj4gPiA+ID4g LQo+ID4gPiA+IC0JCWxvY2tfcGFnZShwYWdlKTsKPiA+ID4gPiAtCQlwYWdlLT5pbmRleCA9IHBh Z2VfaWR4Owo+ID4gPiA+IC0JCWxpc3RfYWRkX3RhaWwoJnBhZ2UtPmxydSwgcGFnZXMpOwo+ID4g PiA+ICsJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKPiA+ID4KPiA+ID4gSU1PLCB3ZSBkb24n dCBuZWVkIHRvIGRvIGxpa2UgdGhpcy4KPiA+ID4gSW5zdGVhZCwKPiA+ID4gCWZvcigpIHsKPiA+ ID4gCQlwYWdlID0gZ3JhYl9jYWNoZV9wYWdlKCk7Cj4gPiA+IAkJaWYgKCFwYWdlKQo+ID4gPiAJ CQlicmVhazsKPiA+ID4gCQlwYWdlW3BhZ2VfaWR4XSA9IHBhZ2U7Cj4gPiA+IAkJZjJmc19zdWJt aXRfcGFnZV9tYmlvKHNiaSwgcGFnZSwgJmZpbyk7Cj4gPiA+IAl9Cj4gPiA+IAlmMmZzX3N1Ym1p dF9tZXJnZWRfYmlvKHNiaSwgTUVUQSwgUkVBRCk7Cj4gPiA+IAlyZXR1cm4gcGFnZV9pZHggLSBz dGFydDsKPiA+ID4KPiA+ID4gQWZ0ZXJ3YXJkcywgaW4gcmVzdG9yZV9ub2RlX3N1bW1yeSgpLAo+ ID4gPiAJbG9ja19wYWdlKCkgd2lsbCB3YWl0IHRoZSBlbmRfaW8gZm9yIHJlYWQuCj4gPiA+IAku Li4KPiA+ID4gCWYyZnNfcHV0X3BhZ2UocGFnZXNbaW5kZXhdLCAxKTsKPiA+ID4KPiA+ID4gVGhh bmtzLAo+ID4gPgo+ID4gPiA+ICAJfQo+ID4gPiA+Cj4gPiA+ID4gLQlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHBhZ2UsIHBhZ2VzLCBscnUpCj4gPiA+ID4gLQkJZjJmc19zdWJtaXRfcGFnZV9tYmlvKHNi aSwgcGFnZSwgcGFnZS0+aW5kZXgsICZmaW8pOwo+ID4gPiA+ICsJYWxsb2NlZCA9IHBhZ2VfaWR4 IC0gc3RhcnQ7Cj4gPiA+ID4gKwlyZWFkZWQgPSBmaW5kX2dldF9wYWdlc19jb250aWcobWFwcGlu Zywgc3RhcnQsIGFsbG9jZWQsIHBhZ2VzKTsKPiA+ID4gPiArCUJVR19PTihhbGxvY2VkICE9IHJl YWRlZCk7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJZm9yIChwYWdlX2lkeCA9IDA7IHBhZ2VfaWR4IDwg cmVhZGVkOyBwYWdlX2lkeCsrKQo+ID4gPiA+ICsJCWYyZnNfc3VibWl0X3BhZ2VfbWJpbyhzYmks IHBhZ2VzW3BhZ2VfaWR4XSwKPiA+ID4gPiArCQkJCQlwYWdlc1twYWdlX2lkeF0tPmluZGV4LCAm ZmlvKTsKPiA+ID4gPgo+ID4gPiA+ICAJZjJmc19zdWJtaXRfbWVyZ2VkX2JpbyhzYmksIE1FVEEs IFJFQUQpOwo+ID4gPiA+Cj4gPiA+ID4gLQlyZXR1cm4gcGFnZV9pZHggLSBzdGFydDsKPiA+ID4g PiArCXJldHVybiByZWFkZWQ7Cj4gPiA+ID4gIH0KPiA+ID4gPgo+ID4gPiA+ICBpbnQgcmVzdG9y ZV9ub2RlX3N1bW1hcnkoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAo+ID4gPiA+IEBAIC0xNjk0 LDExICsxNjk5LDExIEBAIGludCByZXN0b3JlX25vZGVfc3VtbWFyeShzdHJ1Y3QgZjJmc19zYl9p bmZvICpzYmksCj4gPiA+ID4gIHsKPiA+ID4gPiAgCXN0cnVjdCBmMmZzX25vZGUgKnJuOwo+ID4g PiA+ICAJc3RydWN0IGYyZnNfc3VtbWFyeSAqc3VtX2VudHJ5Owo+ID4gPiA+IC0Jc3RydWN0IHBh Z2UgKnBhZ2UsICp0bXA7Cj4gPiA+ID4gKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gc2JpLT5zYi0+ c19iZGV2LT5iZF9pbm9kZTsKPiA+ID4gPiAgCWJsb2NrX3QgYWRkcjsKPiA+ID4gPiAgCWludCBi aW9fYmxvY2tzID0gTUFYX0JJT19CTE9DS1MobWF4X2h3X2Jsb2NrcyhzYmkpKTsKPiA+ID4gPiAt CWludCBpLCBsYXN0X29mZnNldCwgbnJwYWdlcywgZXJyID0gMDsKPiA+ID4gPiAtCUxJU1RfSEVB RChwYWdlX2xpc3QpOwo+ID4gPiA+ICsJc3RydWN0IHBhZ2UgKnBhZ2VzW2Jpb19ibG9ja3NdOwo+ ID4gPiA+ICsJaW50IGksIGluZGV4LCBsYXN0X29mZnNldCwgbnJwYWdlcywgZXJyID0gMDsKPiA+ ID4gPgo+ID4gPiA+ICAJLyogc2NhbiB0aGUgbm9kZSBzZWdtZW50ICovCj4gPiA+ID4gIAlsYXN0 X29mZnNldCA9IHNiaS0+YmxvY2tzX3Blcl9zZWc7Cj4gPiA+ID4gQEAgLTE3MDksMjkgKzE3MTQs MzEgQEAgaW50IHJlc3RvcmVfbm9kZV9zdW1tYXJ5KHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwK PiA+ID4gPiAgCQlucnBhZ2VzID0gbWluKGxhc3Rfb2Zmc2V0IC0gaSwgYmlvX2Jsb2Nrcyk7Cj4g PiA+ID4KPiA+ID4gPiAgCQkvKiByZWFkIGFoZWFkIG5vZGUgcGFnZXMgKi8KPiA+ID4gPiAtCQlu cnBhZ2VzID0gcmFfc3VtX3BhZ2VzKHNiaSwgJnBhZ2VfbGlzdCwgYWRkciwgbnJwYWdlcyk7Cj4g PiA+ID4gKwkJbnJwYWdlcyA9IHJhX3N1bV9wYWdlcyhzYmksIHBhZ2VzLCBhZGRyLCBucnBhZ2Vz KTsKPiA+ID4gPiAgCQlpZiAoIW5ycGFnZXMpCj4gPiA+ID4gIAkJCXJldHVybiAtRU5PTUVNOwo+ ID4gPiA+Cj4gPiA+ID4gLQkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwgJnBh Z2VfbGlzdCwgbHJ1KSB7Cj4gPiA+ID4gKwkJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgbnJwYWdl czsgaW5kZXgrKykgewo+ID4gPiA+ICAJCQlpZiAoZXJyKQo+ID4gPiA+ICAJCQkJZ290byBza2lw Owo+ID4gPiA+Cj4gPiA+ID4gLQkJCWxvY2tfcGFnZShwYWdlKTsKPiA+ID4gPiAtCQkJaWYgKHVu bGlrZWx5KCFQYWdlVXB0b2RhdGUocGFnZSkpKSB7Cj4gPiA+ID4gKwkJCWxvY2tfcGFnZShwYWdl c1tpbmRleF0pOwo+ID4gPiA+ICsJCQlpZiAodW5saWtlbHkoIVBhZ2VVcHRvZGF0ZShwYWdlc1tp bmRleF0pKSkgewo+ID4gPiA+ICAJCQkJZXJyID0gLUVJTzsKPiA+ID4gPiAgCQkJfSBlbHNlIHsK PiA+ID4gPiAtCQkJCXJuID0gRjJGU19OT0RFKHBhZ2UpOwo+ID4gPiA+ICsJCQkJcm4gPSBGMkZT X05PREUocGFnZXNbaW5kZXhdKTsKPiA+ID4gPiAgCQkJCXN1bV9lbnRyeS0+bmlkID0gcm4tPmZv b3Rlci5uaWQ7Cj4gPiA+ID4gIAkJCQlzdW1fZW50cnktPnZlcnNpb24gPSAwOwo+ID4gPiA+ICAJ CQkJc3VtX2VudHJ5LT5vZnNfaW5fbm9kZSA9IDA7Cj4gPiA+ID4gIAkJCQlzdW1fZW50cnkrKzsK PiA+ID4gPiAgCQkJfQo+ID4gPiA+IC0JCQl1bmxvY2tfcGFnZShwYWdlKTsKPiA+ID4gPiArCQkJ dW5sb2NrX3BhZ2UocGFnZXNbaW5kZXhdKTsKPiA+ID4gPiAgc2tpcDoKPiA+ID4gPiAtCQkJbGlz dF9kZWwoJnBhZ2UtPmxydSk7Cj4gPiA+ID4gLQkJCV9fZnJlZV9wYWdlcyhwYWdlLCAwKTsKPiA+ ID4gPiArCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2VzW2luZGV4XSk7Cj4gPiA+ID4gIAkJfQo+ ID4gPiA+ICsKPiA+ID4gPiArCQlpbnZhbGlkYXRlX21hcHBpbmdfcGFnZXMoaW5vZGUtPmlfbWFw cGluZywgYWRkciwKPiA+ID4gPiArCQkJCQkJCWFkZHIgKyBucnBhZ2VzKTsKPiA+ID4gPiAgCX0K PiA+ID4gPiAgCXJldHVybiBlcnI7Cj4gPiA+ID4gIH0KPiA+ID4KPiA+ID4gLS0KPiA+ID4gSmFl Z2V1ayBLaW0KPiA+IAo+ID4gCj4gPiAKPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ ICJBY2NlbGVyYXRlIERldiBDeWNsZXMgd2l0aCBBdXRvbWF0ZWQgQ3Jvc3MtQnJvd3NlciBUZXN0 aW5nIC0gRm9yIEZSRUUKPiA+ID4gSW5zdGFudGx5IHJ1biB5b3VyIFNlbGVuaXVtIHRlc3RzIGFj cm9zcyAzMDArIGJyb3dzZXIvT1MgY29tYm9zLgo+ID4gPiBHZXQgdW5wYXJhbGxlbGVkIHNjYWxh YmlsaXR5IGZyb20gdGhlIGJlc3QgU2VsZW5pdW0gdGVzdGluZyBwbGF0Zm9ybSBhdmFpbGFibGUK PiA+ID4gU2ltcGxlIHRvIHVzZS4gTm90aGluZyB0byBpbnN0YWxsLiBHZXQgc3RhcnRlZCBub3cg Zm9yIGZyZWUuIgo+ID4gPiBodHRwOi8vcC5zZi5uZXQvc2Z1L1NhdWNlTGFicwo+ID4gCj4gPiA+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+IExp bnV4LWYyZnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+IExpbnV4LWYyZnMtZGV2ZWxAbGlzdHMu c291cmNlZm9yZ2UubmV0Cj4gPiA+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz L2xpc3RpbmZvL2xpbnV4LWYyZnMtZGV2ZWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhlIGJl c3QgcG9zc2libGUgc2VhcmNoIHRlY2hub2xvZ2llcyBhcmUgbm93IGFmZm9yZGFibGUgZm9yIGFs bCBjb21wYW5pZXMuCkRvd25sb2FkIHlvdXIgRlJFRSBvcGVuIHNvdXJjZSBFbnRlcnByaXNlIFNl YXJjaCBFbmdpbmUgdG9kYXkhCk91ciBleHBlcnRzIHdpbGwgYXNzaXN0IHlvdSBpbiBpdHMgaW5z dGFsbGF0aW9uIGZvciAkNTkvbW8sIG5vIGNvbW1pdG1lbnQuClRlc3QgaXQgZm9yIEZSRUUgb24g b3VyIENsb3VkIHBsYXRmb3JtIGFueXRpbWUhCmh0dHA6Ly9wdWJhZHMuZy5kb3VibGVjbGljay5u ZXQvZ2FtcGFkL2Nsaz9pZD0xNDUzMjgxOTEmaXU9LzQxNDAvb3N0Zy5jbGt0cmsKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtZjJmcy1kZXZlbCBt YWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6 Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtZjJmcy1kZXZlbAo=