From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id p4L1vhQ4124402 for ; Fri, 20 May 2011 20:57:43 -0500 Received: from ipmail07.adl2.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 6D89846CECA for ; Fri, 20 May 2011 18:57:39 -0700 (PDT) Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id C80UCuuMQ8NNx0PK for ; Fri, 20 May 2011 18:57:39 -0700 (PDT) Date: Sat, 21 May 2011 11:57:36 +1000 From: Dave Chinner Subject: Re: [PATCH] xfstests: test fallocate, write, ftruncate combinations. Message-ID: <20110521015736.GU32466@dastard> References: <1305915771-8003-1-git-send-email-haldar@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1305915771-8003-1-git-send-email-haldar@google.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: haldar@google.com Cc: sandeen@redhat.com, xfs@oss.sgi.com T24gRnJpLCBNYXkgMjAsIDIwMTEgYXQgMTE6MjI6NTFBTSAtMDcwMCwgaGFsZGFyQGdvb2dsZS5j b20gd3JvdGU6Cj4gRnJvbTogVml2ZWsgSGFsZGFyIDxoYWxkYXJAZ29vZ2xlLmNvbT4KPiAKPiBT Y2VuYXJpb3MgY292ZXJlZDoKPiAxLiBGYWxsb2NhdGUgWCBieXRlcwo+IDIuIFdyaXRlIFkgYnl0 ZXMKPiAzLiBUcnVuY2F0ZSB0byBaIGJ5dGVzCj4gZm9yIHZhcmlvdXMgdmFsdWVzIG9mIFgsIFkg YW5kIFosIGFuZCBjaGVjayBib3RoIGZpbGUgc2l6ZSBhbmQKPiBudW1iZXIgb2YgZmlsZXN5c3Rl bSBibG9ja3MgdXNlZCBieSB0aGUgZmlsZSBhZnRlciBlYWNoIG9mCj4gMSwgMiBhbmQgMy4KCldo YXQgZG9lcyB0aGlzIGNvdmVyIHRoYXQgMjEzIGFuZCAyMTQgZG9uJ3QgY292ZXI/IDIxNAplc3Bl Y2lhbGx5IGRvZXMgZmFsbG9jLCBwd3JpdGUgYW5kIHRydW5jYXRlIGNvbWJpbmF0aW9ucy4gZS5n OgoKY2hvICI9PT0gZmFsbG9jICYgcmVhZCAgPT09IgplY2hvICI9PT0gZmFsbG9jLCB3cml0ZSBi ZWdpbm5pbmcsIHJlYWQgPT09IgplY2hvICI9PT0gZmFsbG9jLCB3cml0ZSBtaWRkbGUsIHJlYWQg PT09IgplY2hvICI9PT0gZmFsbG9jLCB3cml0ZSBlbmQsIHJlYWQgPT09IgplY2hvICI9PT0gZmFs bG9jLCB3cml0ZSwgc3luYywgdHJ1bmNhdGUsIHJlYWQgPT09IgplY2hvICI9PT0gZGVsYWxsb2Mg d3JpdGUgMTZrOyBmYWxsb2NhdGUgc2FtZSByYW5nZSA9PT0iCgpXaHkgd3JpdGUgYSBuZXcgdGVz dCwgd2hlbiB0aGVyZSdzIGFscmVhZHkgYSB0ZXN0IHRoYXQgZG9lcyB0aGUgc2FtZQpzb3J0IG9m IHRlc3RzPyBJZiB5b3UgbmVlZCB0byBleHBhbmQgdGhlIHRlc3QgY292ZXJhZ2UsIG1vZGlmeSB0 aGUKZXhpc3RpbmcgdGVzdCB0aGF0IGNvdmVycyB0aG9zZSBjYXNlcywgZG9uJ3Qgd3JpdGUgYSB3 aG9sZSBuZXcgdGVzdC4KCkFsc28sIHlvdSBjYW4ndCByZWx5IG9uIHRoZSBudW1iZXIgb2YgZmls ZXN5c3RlbSBibG9ja3MgYmVpbmcgdXNlZApiZWluZyBjb25zaXN0ZW50IGFjcm9zcyBkaWZmZXJl bnQgZmlsZXN5c3RlbSB0eXBlcyBvciBldmVuIHRoZSBzYW1lCmZpbGVzeXN0ZW0gd2lkdGggZGlm ZmVyZW50IGJsb2NrIHNpemVzIHNvIHRoaXMgY2hlY2sgaXMgbm8gZ29vZC4KCi4uLi4uCgo+ICsj IGZhbGxvY2F0ZSwgd3JpdGUgYW5kIHRydW5jYXRlIHdpdGggdmFyaW91cyBvcHRpb25zIGFuZCBj aGVja3MuCj4gK190ZXN0KCkKPiArewo+ICsgIGZhbGxvY19zaXplPSR7MX0gICAgICAgICAjIGJ5 dGVzCj4gKyAgZmFsbG9jX2tlZXBfc2l6ZT0kezJ9ICAgICMgYm9vbGVhbgo+ICsgIGV4cGVjdGVk X3NpemVfYWZ0ZXJfZmFsbG9jPSR7M30KPiArICBleHBlY3RlZF9ibG9ja3NfYWZ0ZXJfZmFsbG9j PSR7NH0KPiArICB3cml0ZV9zaXplPSR7NX0KPiArICBleHBlY3RlZF9zaXplX2FmdGVyX3dyaXRl PSR7Nn0KPiArICBleHBlY3RlZF9ibG9ja3NfYWZ0ZXJfd3JpdGU9JHs3fQo+ICsgIHRydW5jX3Np emU9JHs4fQo+ICsgIGV4cGVjdGVkX3NpemVfYWZ0ZXJfdHJ1bmM9JHs5fQo+ICsgIGV4cGVjdGVk X2Jsb2Nrc19hZnRlcl90cnVuYz0kezEwfQo+ICsgIGRvbnRfZGVsZXRlX3Rlc3RfZmlsZT0kezEx fSAgIyBib29sZWFuCgpPaCwgbXkgZXllcyEgVGhleSBibGVlZCEgOigKClVzZSB0YWJzIGZvciBp bmRlbnRzLCBwbGVhc2UuICBBbmQgYW55IHRlc3QgdGhhdCByZXF1aXJlcyAxMQpwYXJhbWV0ZXJz IHBhc3NlZCB0byBpdCBuZWVkIGEgbGl0dGxlIGJpdCBvZiBmYWN0b3JpbmcsIEkgdGhpbmssCmJl Y2F1c2UgSSBjYW4ndCB0ZWxsIHdoYXQgdGhlIHRlc3QgaXMgdGVzdGluZyBmcm9tIHJlYWRpbmcg dGhlIHRlc3QKZnVuY3Rpb24gY2FsbC4uLgoKPiArCj4gKyAgZWNobyAiZmFsbG9jL3dyaXRlL3Ry dW5jYXRlIHRlc3Q6IFwKPiArICAgIGZhbGxvY19zaXplPSR7ZmFsbG9jX3NpemV9IFwKPiArICAg IGZhbGxvY19rZWVwX3NpemU9JHtmYWxsb2Nfa2VlcF9zaXplfSBcCj4gKyAgICBleHBlY3RlZF9z aXplX2FmdGVyX2ZhbGxvYz0ke2V4cGVjdGVkX3NpemVfYWZ0ZXJfZmFsbG9jfSBcCj4gKyAgICBl eHBlY3RlZF9ibG9ja3NfYWZ0ZXJfZmFsbG9jPSR7ZXhwZWN0ZWRfYmxvY2tzX2FmdGVyX2ZhbGxv Y30gXAo+ICsgICAgd3JpdGVfc2l6ZT0ke3dyaXRlX3NpemV9IFwKPiArICAgIGV4cGVjdGVkX3Np emVfYWZ0ZXJfd3JpdGU9JHtleHBlY3RlZF9zaXplX2FmdGVyX3dyaXRlfSBcCj4gKyAgICBleHBl Y3RlZF9ibG9ja3NfYWZ0ZXJfd3JpdGU9JHtleHBlY3RlZF9ibG9ja3NfYWZ0ZXJfd3JpdGV9IFwK PiArICAgIHRydW5jX3NpemU9JHt0cnVuY19zaXplfSBcCj4gKyAgICBleHBlY3RlZF9zaXplX2Fm dGVyX3RydW5jPSR7ZXhwZWN0ZWRfc2l6ZV9hZnRlcl90cnVuY30gXAo+ICsgICAgZXhwZWN0ZWRf YmxvY2tzX2FmdGVyX3RydW5jPSR7ZXhwZWN0ZWRfYmxvY2tzX2FmdGVyX3RydW5jfSBcCj4gKyAg ICBkb250X2RlbGV0ZV90ZXN0X2ZpbGU9JHtkb250X2RlbGV0ZV90ZXN0X2ZpbGV9IgoKVGhpcyBp cyBub3QgbmVjZXNzYXJ5IGFuZCBpcyByZWFsbHkgdWdseS4KCkJlZm9yZSBydW5uaW5nIHRoZSB0 ZXN0LCBhbGwgdGhhdCBpcyBuZWVkZWQgaXMgYSBzaW1wbGUgZWNobwoicnVubmluZyB0ZXN0IFhY WCIgc28gdGhhdCB0aGUgcmVzdWx0cyBpbiB0aGUgb3V0cHV0IGFyZSBlYXNpbHkKc2VwYXJhdGVk IGFuZCB5b3UgY2FuIGxvb2sgYXQgdGhlIHRlc3Qgc2NyaXB0IHRvIGZpbmQgb3V0IHdoaWNoIHRl c3QKYWN0dWFsbHkgZmFpbGVkLgoKPiArICAgIAo+ICsgIGlmIFsgJGRvbnRfZGVsZXRlX3Rlc3Rf ZmlsZSBdIDsgdGhlbgo+ICsgICAgZWNobyAiUmUtdXNpbmcgdGVzdCBmaWxlLiIKPiArICBlbHNl Cj4gKyAgICBybSAtZiAkdGVzdF9maWxlCj4gKyAgZmkKClNhbWUgYWdhaW4gLSBubyBuZWVkIGZv ciBvdXRwdXRpbmcgc3RhdHVzIGxpa2UgdGhpcy4KCj4gKwo+ICsgICMgZmFsbG9jCj4gKyAga2Vl cF9zaXplX2ZsYWc9JycKPiArICBpZiAkZmFsbG9jX2tlZXBfc2l6ZSA7IHRoZW4KPiArICAgIGtl ZXBfc2l6ZV9mbGFnPSctaycKPiArICBmaQo+ICsgIGlmIFsgJGZhbGxvY19zaXplIC1ndCAwIF07 IHRoZW4KPiArICAgICR7WEZTX0lPX1BST0d9IC1GIC1mIC1kIFwKPiArICAgICAgLWMgImZhbGxv YyAka2VlcF9zaXplX2ZsYWcgMCAkZmFsbG9jX3NpemUiIFwKPiArICAgICAgJHRlc3RfZmlsZSB8 IF9maWx0ZXJfeGZzX2lvX3VuaXF1ZQo+ICsgIGVsc2UKPiArICAgIHRvdWNoICR0ZXN0X2ZpbGUK PiArICBmaQoKV2h5IGRvZXMgdGhpcyBuZWVkIHRvIGJlIGluIHRoZSB0ZXN0KCkgZnVuY3Rpb24/ IFdoeSBub3QganVzdCBkbyBpdApiZWZvcmUgY2FsbGluZyB0aGUgdGVzdD8gIGkuZS46CgplY2hv ICJ0ZXN0IDEiCmVjaG8gLW4gPiAkdGVzdF9maWxlCnRlc3QgLi4uLi4KLi4uLgoKZWNobyAidGVz dCAyIgoke1hGU19JT19QUk9HfSAtRiAtZiAtZCAtYyAiZmFsbG9jIC1rIDAgMjBrIiAkdGVzdF9m aWxlIHwgZmlsdGVyCnRlc3QuLi4uCgo+ICsgICMgY2hlY2sgc2l6ZXMgYWZ0ZXIgZmFsbG9jCj4g KyAgc2l6ZV9hZnRlcl9mYWxsb2M9YHN0YXQgLS1mb3JtYXQ9IiVzIiAkdGVzdF9maWxlYAo+ICsg IGJsb2Nrc19hZnRlcl9mYWxsb2M9YGR1IC0tYmxvY2stc2l6ZT00MDk2IC1zICR0ZXN0X2ZpbGUg fCBjdXQgLWYgMWAKCkp1c3QgZHVtcCB0aGUgc3RhdCBvdXRwdXQgaW4gdGhlIGdvbGRlbiBpbWFn ZSB3aXRoIGFuIGFwcHJvcHJpYXRlCmZpbHRlci4uLi4KCj4gKwo+ICsgIGlmIFsgJGV4cGVjdGVk X3NpemVfYWZ0ZXJfZmFsbG9jIC1uZSAkc2l6ZV9hZnRlcl9mYWxsb2MgXTsgdGhlbgo+ICsgICAg c3RhdHVzPTEKPiArICAgIGVjaG8gIkV4cGVjdGVkIHNpemUgYWZ0ZXIgZmFsbG9jIHRvIGJlICRl eHBlY3RlZF9zaXplX2FmdGVyX2ZhbGxvYyBcCj4gKyAgICAgIGJ1dCBpdCB3YXMgYWN0dWFsbHkg JHNpemVfYWZ0ZXJfZmFsbG9jLiIKPiArICAgIGV4aXQgJHtzdGF0dXN9Cj4gKyAgZmkKCkFuZCB0 aGVuIHlvdSBjYW4gZHJvcCB0aGlzIGFzIHRoZSBnb2xkZW4gaW1hZ2UgbWF0Y2ggd2lsbCBmYWls IGlmIGl0CmlzIGluY29ycmVjdC4gUmVzdWx0cyBhbmFseXNpcyBkb2VzIG5vdCBiZWxvbmcgaW4g dGhlIHhmc3Rlc3RzIHRlc3QKY29kZSAtIHRoYXQncyB3aGF0IHRoZSBnb2xkZW4gaW1hZ2UgaXMg Zm9yLgoKSGVyZSwgaSB3cm90ZSB0aGlzIHllc3RlcmRheSBiZWNhdXNlIEFsbGlzb24gbWFkZSBl eGFjdGx5IHRoZSBzYW1lCm1pc3Rha2VzIGFzIHlvdSBoYXZlOgoKaHR0cDovL3VzZXJzLm9uLm5l dC9+ZGF2aWRfY2hpbm5lci9ibG9nL3hmc3Rlc3RzX2FuZF9nb2xkZW5fb3V0cHV0Lmh0bWwKCj4g KyAgaWYgWyAkZXhwZWN0ZWRfYmxvY2tzX2FmdGVyX2ZhbGxvYyAtbmUgJGJsb2Nrc19hZnRlcl9m YWxsb2MgXTsgdGhlbgo+ICsgICAgc3RhdHVzPTEKPiArICAgIGVjaG8gIkV4cGVjdGVkIGJsb2Nr cyBhZnRlciBmYWxsb2MgdG8gYmUgJGV4cGVjdGVkX2Jsb2Nrc19hZnRlcl9mYWxsb2MgXAo+ICsg ICAgICBidXQgaXQgd2FzIGFjdHVhbGx5ICRibG9ja3NfYWZ0ZXJfZmFsbG9jLiIKPiArICAgIGV4 aXQgJHtzdGF0dXN9Cj4gKyAgZmkKCk5vdCB2YWxpZC4KCj4gKyAgIyB3cml0ZQo+ICsgIGlmIFsg JHdyaXRlX3NpemUgLWd0IDAgXTsgdGhlbgo+ICsgICAgJHtYRlNfSU9fUFJPR30gLUYgLWYgLWQg XAo+ICsgICAgICAtYyAicHdyaXRlIDAgJHdyaXRlX3NpemUiIFwKPiArICAgICAgJHRlc3RfZmls ZSB8IF9maWx0ZXJfeGZzX2lvX3VuaXF1ZQo+ICsgIGZpCj4gKwo+ICsgICMgY2hlY2sgc2l6ZXMg YWZ0ZXIgd3JpdGUKPiArICBzaXplX2FmdGVyX3dyaXRlPWBzdGF0IC0tZm9ybWF0PSIlcyIgJHRl c3RfZmlsZWAKPiArICBibG9ja3NfYWZ0ZXJfd3JpdGU9YGR1IC0tYmxvY2stc2l6ZT00MDk2IC1z ICR0ZXN0X2ZpbGUgfCBjdXQgLWYgMWAKPiArCj4gKyAgaWYgWyAkZXhwZWN0ZWRfc2l6ZV9hZnRl cl93cml0ZSAtbmUgJHNpemVfYWZ0ZXJfd3JpdGUgXTsgdGhlbgo+ICsgICAgc3RhdHVzPTEKPiAr ICAgIGVjaG8gIkV4cGVjdGVkIHNpemUgYWZ0ZXIgd3JpdGUgdG8gYmUgJGV4cGVjdGVkX3NpemVf YWZ0ZXJfd3JpdGUgXAo+ICsgICAgICBidXQgaXQgd2FzIGFjdHVhbGx5ICRzaXplX2FmdGVyX3dy aXRlLiIKPiArICAgIGV4aXQgJHtzdGF0dXN9Cj4gKyAgZmkKPiArCj4gKyAgaWYgWyAkZXhwZWN0 ZWRfYmxvY2tzX2FmdGVyX3dyaXRlIC1uZSAkYmxvY2tzX2FmdGVyX3dyaXRlIF07IHRoZW4KPiAr ICAgIHN0YXR1cz0xCj4gKyAgICBlY2hvICJFeHBlY3RlZCBibG9ja3MgYWZ0ZXIgd3JpdGUgdG8g YmUgJGV4cGVjdGVkX2Jsb2Nrc19hZnRlcl93cml0ZSBcCj4gKyAgICAgIGJ1dCBpdCB3YXMgYWN0 dWFsbHkgJGJsb2Nrc19hZnRlcl93cml0ZS4iCj4gKyAgICBleGl0ICR7c3RhdHVzfQo+ICsgIGZp CgpzYW1lIGNvbW1lbnRzLgoKPiArCj4gKyAgIyB0cnVuYwo+ICsgIGlmIFsgJHRydW5jX3NpemUg LWd0IDAgXTsgdGhlbgo+ICsgICAgJHtYRlNfSU9fUFJPR30gLUYgLWYgLWQgXAo+ICsgICAgICAt YyAidHJ1bmNhdGUgJHRydW5jX3NpemUiIFwKPiArICAgICAgJHRlc3RfZmlsZSB8IF9maWx0ZXJf eGZzX2lvX3VuaXF1ZQo+ICsgIGZpCj4gKwo+ICsgICMgY2hlY2sgc2l6ZXMgYWZ0ZXIgdHJ1bmMK PiArICBzaXplX2FmdGVyX3RydW5jPWBzdGF0IC0tZm9ybWF0PSIlcyIgJHRlc3RfZmlsZWAKPiAr ICBibG9ja3NfYWZ0ZXJfdHJ1bmM9YGR1IC0tYmxvY2stc2l6ZT00MDk2IC1zICR0ZXN0X2ZpbGUg fCBjdXQgLWYgMWAKPiArCj4gKyAgaWYgWyAkZXhwZWN0ZWRfc2l6ZV9hZnRlcl90cnVuYyAtbmUg JHNpemVfYWZ0ZXJfdHJ1bmMgXTsgdGhlbgo+ICsgICAgc3RhdHVzPTEKPiArICAgIGVjaG8gIkV4 cGVjdGVkIHNpemUgYWZ0ZXIgdHJ1bmNhdGUgdG8gYmUgJGV4cGVjdGVkX3NpemVfYWZ0ZXJfdHJ1 bmMgXAo+ICsgICAgICBidXQgaXQgd2FzIGFjdHVhbGx5ICRzaXplX2FmdGVyX3RydW5jLiIKPiAr ICAgIGV4aXQgJHtzdGF0dXN9Cj4gKyAgZmkKPiArCj4gKyAgaWYgWyAkZXhwZWN0ZWRfYmxvY2tz X2FmdGVyX3RydW5jIC1uZSAkYmxvY2tzX2FmdGVyX3RydW5jIF07IHRoZW4KPiArICAgIHN0YXR1 cz0xCj4gKyAgICBlY2hvICJFeHBlY3RlZCBibG9ja3MgYWZ0ZXIgdHJ1bmMgdG8gYmUgJGV4cGVj dGVkX2Jsb2Nrc19hZnRlcl90cnVuYyBcCj4gKyAgICAgIGJ1dCBpdCB3YXMgYWN0dWFsbHkgJGJs b2Nrc19hZnRlcl90cnVuYy4iCj4gKyAgICBleGl0ICR7c3RhdHVzfQo+ICsgIGZpCgpzYW1lIGNv bW1lbnRzLgoKUmVhbGlzdGljYWxseSwgSSBjYW4gcmV3cml0ZSBlYWNoIHRlc3QgY2FzZSB3aXRo IGEgc2luZ2xlIHhmc19pbwpjb21tYW5kIGxpbmUuIFRoZXkgYXJlIGFsbCB2YXJpYW50cyBvZjoK CmVjaG8gInRlc3QgWFhYIgoke1hGU19JT19QUk9HfSAtRiAtZiAtZCBcCgktYyAiZmFsbG9jIC1r IDAgMTBrIiBcCgktYyBzdGF0CgktYyAicHdyaXRlIDAgNGsiIFwKCS1jIHN0YXQKCS1jICJ0IDhr IiBcCgktYyBzdGF0IFwKCSR0ZXN0X2ZpbGUgfCBmaWx0ZXIKCkFuZCB1c2UgdGhlIGdvbGRlbiBp bWFnZSB0byBkbyBhbGwgdGhlIHJlc3VsdHMgY2hlY2tpbmcuIFRoaXMgaXMKd2hhdCB0ZXN0IDIx NCBkb2VzLCBhbmQgb3RoZXIgaG9sZS91bndyaXR0ZW4vZmFsbG9jL3B1bmNoIHRlc3RzIGRvCmxp a2UgMjQyIGFuZCAyNTIuIAoKPiArfQo+ICsKPiArIyBDaGVjayB0aGF0IGEgZmlsZSBoYXMgdGhl IGdpdmVuIGJpdCBwYXR0ZXJuLgo+ICtfdGVzdF9maWxlX2NvbnRlbnRzKCkKPiArewo+ICsgIGZp bGVfbmFtZT0kezF9Cj4gKyAgb2Zmc2V0PSR7Mn0KPiArICBsZW49JHszfQo+ICsgIGV4cGVjdGVk X3BhdHRlcm49JHs0fQo+ICsgIGV4cGVjdGVkX2NvdW50PSR7NX0KPiArCj4gKyAgY291bnQ9YCR7 WEZTX0lPX1BST0d9IC1GIC1mIC1kIC1jIFwKPiArICAgICJwcmVhZCAtdiAkb2Zmc2V0ICRsZW4i ICRmaWxlX25hbWUgXAo+ICsgICAgfCBncmVwIC13IC1jICRleHBlY3RlZF9wYXR0ZXJuYAo+ICsK PiArICBpZiBbICRleHBlY3RlZF9jb3VudCAtbmUgJGNvdW50IF07IHRoZW4KPiArICAgIHN0YXR1 cz0xCj4gKyAgICBlY2hvICJFeHBlY3RlZCBjb3VudCAkZXhwZWN0ZWRfY291bnQgZm9yICRmaWxl X25hbWUgYXQgXAo+ICsgICAgICBvZmZzZXQgJG9mZnNldCBmb3IgJGxlbiBieXRlcyBmb3IgcGF0 dGVybiAkZXhwZWN0ZWRfcGF0dGVybiBcCj4gKyAgICAgIGJ1dCBjb3VudCB3YXMgJGNvdW50LiIK PiArICAgIGV4aXQgJHtzdGF0dXN9Cj4gKyAgZmkKPiArfQoKc2VlIGhvdyAyMTQgZG9lcyB0aGUg cmVhZCBjaGVja3MgYnkgdXNpbmcgdGhlIGdvbGRlbiBvdXRwdXQuLi4uCgo+ICsKPiArIyBHZXQg c3RhbmRhcmQgZW52aXJvbm1lbnQsIGZpbHRlcnMgYW5kIGNoZWNrcy4KPiArLiAuL2NvbW1vbi5y Ywo+ICsuIC4vY29tbW9uLmZpbHRlcgo+ICsKPiArIyBQcmVyZXF1aXNpdGVzIGZvciB0aGUgdGVz dCBydW4uCj4gK19zdXBwb3J0ZWRfZnMgZ2VuZXJpYwo+ICtfc3VwcG9ydGVkX29zIExpbnV4Cj4g K19yZXF1aXJlX3hmc19pb19mYWxsb2MKPiArCj4gKyMgUmVtb3ZlIGFueSBsZWZ0b3ZlciBmaWxl cyBmcm9tIGxhc3QgcnVuLgo+ICtybSAtZiAke1RFU1RfRElSfS90ZXN0Kgo+ICsKPiArdGVzdF9m aWxlPSR7VEVTVF9ESVJ9L3Rlc3QKCnRlc3QgZmlsZXMgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZWly IHRlc3QgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aAp0aGVtLiBpZS4uIHRlc3QuJHNlcQoKPiArCj4g KyMgR2VuZXJpYyB0ZXN0IGNsZWFudXAgZnVuY3Rpb24uCj4gK19jbGVhbnVwKCkKPiArewo+ICsg IGNkIC8KPiArICBybSAtZiAkdG1wLioKPiArICBybSAtZiAkdGVzdF9maWxlCj4gK30KCnRoZXNl ICh0aGUgaW5jbHVkZXMgdGhyb3VnaCB0byBjbGVhbnVwIGZ1bmN0aW9ucykgc2hvdWxkIGFsbCBi ZSBhdAp0aGUgdG9wIG9mIHRoZSB0ZXN0LCBub3QgaW4gdGhlIG1pZGRsZSBvZiB0aGUgdGVzdCBj b2RlLgoKPiArCj4gKyMgQmVnaW4gdGVzdCBjYXNlcy4KPiArCj4gKyMgS0VFUF9TSVpFCj4gK190 ZXN0IDEwMjQwIHRydWUgIDAgMyAgMCAgICAwICAgIDMgIDAgICAwICAgMwo+ICtfdGVzdCA4MTky ICB0cnVlICAwIDIgIDAgICAgMCAgICAyICAwICAgMCAgIDIKPiArX3Rlc3QgNDA5NiAgdHJ1ZSAg MCAxICAwICAgIDAgICAgMSAgMCAgIDAgICAxCgpDYW4ndCBzYXkgSSdtIGFibGUgdG8gZWFzaWx5 IHdvcmsgb3V0IHdoYXQgdGhlc2UgYXJlIHRlc3RpbmcgZnJvbQp0aGlzLgoKPiArCj4gKyMgIUtF RVBfU0laRQo+ICtfdGVzdCAxMDI0MCBmYWxzZSAxMDI0MCAgMyAgMCAgICAxMDI0MCAgICAzICAw ICAgMTAyNDAgICAzCj4gK190ZXN0IDgxOTIgIGZhbHNlIDgxOTIgICAyICAwICAgIDgxOTIgICAg IDIgIDAgICA4MTkyICAgIDIKPiArX3Rlc3QgNDA5NiAgZmFsc2UgNDA5NiAgIDEgIDAgICAgNDA5 NiAgICAgMSAgMCAgIDQwOTYgICAgMQo+ICtfdGVzdF9maWxlX2NvbnRlbnRzICR0ZXN0X2ZpbGUg MTAyNCA1MTIgIjAwIiAzMiAgICMgY2hlY2sgbnVsbC4KPiArCj4gK190ZXN0IDEwMjQwIHRydWUg MCAzICA0MDk2ICAgIDQwOTYgICAgMyAgMCAgIDQwOTYgICAzCj4gK190ZXN0IDEwMjQwIHRydWUg MCAzICA4MTkyICAgIDgxOTIgICAgMyAgMCAgIDgxOTIgICAzCj4gK190ZXN0IDEwMjQwIHRydWUg MCAzICAxMDI0MCAgICAxMDI0MCAgICAzICAwICAgMTAyNDAgICAzCj4gKwo+ICtfdGVzdCAxNjM4 NCB0cnVlIDAgNCAgMTYzODQgICAgMTYzODQgICAgNCAgMCAgIDE2Mzg0ICAgNAo+ICsKPiArIyBq dXN0IHRydW5jYXRlIHRlc3RzLCB3aXRob3V0IGZhbGxvYy4KPiArX3Rlc3QgMCBmYWxzZSAwIDAg ICA4MTkyIDgxOTIgMiAgICA4MTkyIDgxOTIgMgo+ICtfdGVzdCAwIGZhbHNlIDAgMCAgIDgxOTIg ODE5MiAyICAgIDQwOTYgNDA5NiAxCj4gK190ZXN0IDAgZmFsc2UgMCAwICAgODE5MiA4MTkyIDIg ICAgMTYzODQgMTYzODQgMgo+ICtfdGVzdF9maWxlX2NvbnRlbnRzICR0ZXN0X2ZpbGUgODE5MiA1 MTIgIjAwIiAzMiAgICMgY2hlY2sgbnVsbC4KPiArX3Rlc3RfZmlsZV9jb250ZW50cyAkdGVzdF9m aWxlIDQwOTYgNTEyICJjZCIgMzIgICAjIGNoZWNrIG5vbi1udWxsLgoKVGhvc2UgY2FzZXMgYXJl IGNvdmVyZWQgaW4gbWFueSBvdGhlciB0ZXN0cywgYW5kIHdpdGggbXVjaCBiZXR0ZXIKY292ZXJh Z2UuICBlLmcuIGZzeC4KCj4gKyMgd3JpdGUgYmV5b25kIGZhbGxvY2F0ZSBzaXplIGFuZCB0aGVu IHRydW5jYXRlIHRvIHRoZSB3cml0dGVuIHNpemUuCj4gK190ZXN0IDgxOTIgdHJ1ZSAwIDIgICAg MTYzODQgMTYzODQgNCAgICAxNjM4NCAxNjM4NCA0Cj4gK190ZXN0X2ZpbGVfY29udGVudHMgJHRl c3RfZmlsZSA4MTkyIDUxMiAiY2QiIDMyICAgIyBjaGVjayBub24tbnVsbC4KPiArCj4gKyMgZmFs bG9jYXRlLCB3cml0ZSwgdHJ1bmNhdGUgYmVsb3cgdGhlIHdyaXR0ZW4gc2l6ZSwgYW5kIHRoZW4g dHJ1bmNhdGUgdXAuIFRoZW4KPiArIyB0cnkgdG8gcmVhZCB0aGUgcHJldmlvdXNseSB3cml0dGVu IGRhdGEgdG8gc2VlIHdoZXRoZXIgaXQgcmV0dXJucyB6ZXJvIG9yIHRoZQo+ICsjIHN0YWxlIGRh dGEuCj4gK190ZXN0IDgxOTIgdHJ1ZSAwIDIgICAgICAxNjM4NCAxNjM4NCA0ICAgIDEyMjg4IDEy Mjg4IDMKPiArX3Rlc3QgMCAgICB0cnVlIDEyMjg4IDMgIDAgICAgIDEyMjg4IDMgICAgMTYzODQg MTYzODQgMyAgIHRydWUKPiArX3Rlc3RfZmlsZV9jb250ZW50cyAkdGVzdF9maWxlIDEwMjQgNTEy ICJjZCIgMzIgICAgIyBjaGVjayBub24tbnVsbC4KPiArX3Rlc3RfZmlsZV9jb250ZW50cyAkdGVz dF9maWxlIDEyMjg4IDUxMiAiMDAiIDMyICAgIyBjaGVjayBudWxsLgo+ICsKPiArIyBmYWxsb2Nh dGUsIHdyaXRlIHdpdGggdGhlIGZhbGxvY2F0ZSBzaXplLCB3cml0ZSBhZnRlciB0aGUgZmFsbG9j YXRlIHNpemUsIGFuZAo+ICsjIHRoZW4gdHJ1bmNhdGUgdG8gYSBzaXplIHNtYWxsZXIgdGhhbiB0 aGUgZmFsbG9jYXRlIHNpemUuCj4gK190ZXN0IDgxOTIgdHJ1ZSAwIDIgICAgICA4MTkyIDgxOTIg MiAgICAgIDAgODE5MiAyCj4gK190ZXN0IDAgICAgdHJ1ZSA4MTkyIDIgICAxMjI4OCAxMjI4OCAz ICAgIDQwOTYgNDA5NiAxICAgdHJ1ZQoKVGhlc2Ugc2hvdWxkIHJlYWxseSBnbyBpbiAyMTQuLi4u Cgo+ICsjIFRoZSBmb2xsb3dpbmcgcmVwcm9kdWNlIGFuIGV4aXN0aW5nIGJ1Zy4KPiArIyBTZWUg aHR0cDovL3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzk2MDgwLwo+ICtfdGVzdCAxMDI0MCB0 cnVlIDAgMyAgNDA5NiA0MDk2IDMgIDgxOTIgODE5MiAyCj4gK190ZXN0IDEwMjQwIHRydWUgMCAz ICAwICAgIDAgICAgMyAgODE5MiA4MTkyIDIKPiArX3Rlc3QgMTYzODQgdHJ1ZSAwIDQgIDAgICAg ICAgIDAgICAgICAgIDQgIDE2Mzg0ICAgMTYzODQgICA0Cgo8c2lnaD4KClNvIGFsbCB0aGlzIGlz IGVuZHMgdXAgaW4gYSB0ZXN0IGZvciBzb21ldGhpbmcgdGhhdCBoYXNuJ3QgcmVhbGx5CmJlZW4g ZGVjaWRlZCB3aGV0aGVyIGl0J3MgYSBidWcgb3Igbm90IG9yIHdoYXQgdGhlIHByb3BlciBiZWhh dmlvdXIKaXMgc3VwcG9zZWQgdG8gYmU/IFBsZWFzZSBkb2N1bWVudCBleGFjdGx5IHdoYXQgYmVo YXZpb3VyIHlvdXIKZXhwZWN0IGluIHRoZSB0ZXN0LCBub3QgcG9pbnQgdG8gZGlzY3Vzc2lvbiB0 aHJlYWQgdGhhdCBoYXNuJ3QgY29tZQp0byBhbnkgY29uY2x1c2lvbnMuLi4uCgpXaHk/IEJlY2F1 c2UgSSBjYW4ndCB0ZWxsIGZyb20gdGhlc2UgbnVtYmVycyB3aGF0IGV4YWN0bHkgaXQgaXMKdGVz dGluZy4gIElzIGl0IHRlc3RpbmcgdGhlIHRydW5jYXRlIHVwIGNhc2UsIHRoZSB0cnVuY2F0ZSBk b3duCmNhc2UsIHdoaWNoIGJlaGF2aW91ciBpcyBpdCBjb2RpZnlpbmcgYXMgY29ycmVjdCwgaXMg aXQgY29uc2nRlXRlbnQKYWNyb3NzIGZpbGVzeXN0ZW1zLCBldGM/IFVzaW5nIGFuIHhmc19pbyBj b21tYW5kIGRpcmVjdGx5IGlzIHNlbGYKZG9jdW1lbnRpbmcgYW5kIHNvIGF2b2lkcyBtdWNoIG9m IHRoaXMgY29uZnVzaW9uLi4uLgoKLS0tCgpGV0lXLCBpdCBtYXkgc291bmQgbGlrZSBJJ20gY29t cGxhaW5pbmcgYSBsb3QgYWJvdXQgcmVjZW50IHBhdGNoZXMKdG8gYWRkIG5ldyB0ZXN0cyB0byB4 ZnN0ZXN0cywgYnV0IHdoZW46CgoJLSB0aGVyZSBpcyBhIGxvdCBvZiBvdmVybGFwIHdpdGggZXhp c3RpbmcgdGVzdHMsCgktIHRoZSBuZXcgdGVzdHMgc2ltcGx5IGFwcGVhciB0byBiZSBzdGFuZGFs b25lIHRlc3RzIGp1c3QKCSAgd2l0aCBhbiB4ZnN0ZXN0IHdyYXBwZXIKCS0gdGhlIHRlc3RzIGRv IHRoZXkgb3duIChjb21wbGV4KSByZXN1bHRzIGFuYWx5c2lzCgktIGFyZSBoYXJkIHRvIHJlYWQK CS0gYXJlIGhhcmQgdG8gdmVyaWZ5IGNvcnJlY3QKCS0gd2lsbCBicmVhayB3aGVuIGJsb2NrIHNp emVzIG9yIHVuZGVybHlpbmcKCSAgZmlsZXN5c3RlbXMgY2hhbmdlCgpUaGUgcHJvcG9zZWQgdGVz dCBpcyB1bmxpa2VseSB0byBwYXNzIGEgcmV2aWV3LgoKVGhhdCdzIGJlY2F1c2UgSSBob2xkIHRo ZSBmaWxlc3lzdGVtIHRlc3QgY29kZSB0byB0aGUgc2FtZSBzdGFuZGFyZAphcyBJIGRvIGZvciBr ZXJuZWwgcGF0Y2hlcyBvciB1c2Vyc3BhY2UgZmlsZXN5c3RlbSB0b29scy4gIFRlc3RzCm5lZWQg dG8gYmUgd2VsbCB3cml0dGVuLCB1bmRlcnN0YW5kYWJsZSwgZm9sbG93IHRoZSBleGlzdGluZyBj b2RpbmcKY29udmVudGlvbnMsIGZpdCBpbnRvIHRoZSB0ZXN0IHN1aXRlIGFyY2hpdGVjdHVyZSBj b3JyZWN0bHksIGV0Yy4KaS5lLiBJIGp1ZGdlIGl0IG9uIHRoZSBzYW1lIGNyaXRlcmlhIHRoYXQg SSdkIGp1ZGdlIGFueSBrZXJuZWwgcGF0Y2gKdGhhdCBpcyBwcm9wb3NlZC4KCk91ciBrZXJuZWwg ZmlsZXN5c3RlbXMgY29kZSBpcyBvbmx5IGFzIGdvb2QgYXMgb3VyIHRlc3QgY29kZSwgYW5kIGlm CndlIGNhbid0IGVhc2lseSB2ZXJpZnkgdGhlIHRlc3QgY29kZSBpcyBjb3JyZWN0IGFuZCBtYWlu dGFpbiBpdCB0aGF0CndheSwgdGhlbiB3ZSBzaW1wbHkgY2Fubm90IGV4cGVjdCB0byBtYWludGFp biB0aGUga2VybmVsIGZpbGVzeXN0ZW0KdG8gYW55IGRlY2VudCBsZXZlbCBvZiByZWxpYWJpbGl0 eS4KCkNoZWVycywKCkRhdmUuCi0tIApEYXZlIENoaW5uZXIKZGF2aWRAZnJvbW9yYml0LmNvbQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KeGZzIG1haWxp bmcgbGlzdAp4ZnNAb3NzLnNnaS5jb20KaHR0cDovL29zcy5zZ2kuY29tL21haWxtYW4vbGlzdGlu Zm8veGZzCg==