From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q3HLmBTT109969 for ; Tue, 17 Apr 2012 16:48:11 -0500 Date: Tue, 17 Apr 2012 16:49:56 -0500 From: Ben Myers Subject: Re: [PATCH 03/18] xfs: Do background CIL flushes via a workqueue Message-ID: <20120417214956.GB16881@sgi.com> References: <1334319061-12968-1-git-send-email-david@fromorbit.com> <1334319061-12968-4-git-send-email-david@fromorbit.com> <20120417212155.GA16881@sgi.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20120417212155.GA16881@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: Dave Chinner Cc: xfs@oss.sgi.com T24gVHVlLCBBcHIgMTcsIDIwMTIgYXQgMDQ6MjE6NTVQTSAtMDUwMCwgQmVuIE15ZXJzIHdyb3Rl Ogo+IE9uIEZyaSwgQXByIDEzLCAyMDEyIGF0IDEwOjEwOjQ2UE0gKzEwMDAsIERhdmUgQ2hpbm5l ciB3cm90ZToKPiA+IEZyb206IERhdmUgQ2hpbm5lciA8ZGNoaW5uZXJAcmVkaGF0LmNvbT4KPiA+ IAo+ID4gRG9pbmcgYmFja2dyb3VuZCBDSUwgZmx1c2hlcyBhZGRzIHNpZ25pZmljYW50IGxhdGVu Y3kgdG8gd2hhdGV2ZXIKPiA+IGFzeW5jIHRyYW5zYWN0aW9uIHRoYXQgdHJpZ2dlcnMgaXQuIFRv IGF2b2lkIGJsb2NraW5nIGFzeW5jCj4gPiB0cmFuc2FjdGlvbnMgb24gdGhpbmdzIGxpa2Ugd2Fp dGluZyBmb3IgbG9nIGJ1ZmZlciBJTyB0byBjb21wbGV0ZSwKPiA+IG1vdmUgdGhlIENJTCBwdXNo IG9mZiBpbnRvIGEgd29ya3F1ZXVlLiAgQnkgbW92aW5nIHRoZSBwdXNoIHdvcmsKPiA+IGludG8g YSB3b3JrcXVldWUsIHdlIHJlbW92ZSBhbGwgdGhlIGxhdGVuY3kgdGhhdCB0aGUgY29tbWl0IGFk ZHMKPiA+IGZyb20gdGhlIGZvcmVncm91bmQgdHJhbnNhY3Rpb24gY29tbWl0IHBhdGguIFRoaXMg YWxzbyBtZWFucyB0aGF0Cj4gPiBzaW5nbGUgdGhyZWFkZWQgd29ya2xvYWRzIHdvbid0IGRvIHRo ZSBDSUwgcHVzaCBwcm9jc3NpbmcsIGxlYXZpbmcKPiA+IHRoZW0gbW9yZSBDUFUgdG8gZG8gbW9y ZSBhc3luYyB0cmFuc2FjdGlvbnMuCj4gPiAKPiA+IFRvIGRvIHRoaXMsIHdlIG5lZWQgdG8ga2Vl cCB0cmFjayBvZiB0aGUgc2VxdWVuY2UgbnVtYmVyIHdlIGhhdmUKPiA+IHB1c2hlZCB3b3JrIGZv ci4gVGhpcyBhdm9pZHMgaGF2aW5nIG1hbnkgdHJhbnNhY3Rpb24gY29tbWl0cwo+ID4gYXR0ZW1w dGluZyB0byBzY2hlZHVsZSB3b3JrIGZvciB0aGUgc2FtZSBzZXF1ZW5jZSwgYW5kIGVuc3VyZXMg dGhhdAo+ID4gd2Ugb25seSBldmVyIGhhdmUgb25lIHB1c2ggKGJhY2tncm91bmQgb3IgZm9yY2Vk KSBpbiBwcm9ncmVzcyBhdCBhCj4gPiB0aW1lLiBJdCBhbHNvIG1lYW5zIHRoYXQgd2UgZG9uJ3Qg bmVlZCB0byB0YWtlIHRoZSBDSUwgbG9jayBpbiB3cml0ZQo+ID4gbW9kZSB0byBjaGVjayBmb3Ig cG90ZW50aWFsIGJhY2tncm91bmQgcHVzaCByYWNlcywgd2hpY2ggcmVkdWNlcwo+ID4gbG9jayBj b250ZW50aW9uLgo+ID4gCj4gPiBUbyBhdm9pZCBwb3RlbnRpYWwgaXNzdWVzIHdpdGggInNtYXJ0 IiBJTyBzY2hlZHVsZXJzLCBkb24ndCB1c2UgdGhlCj4gPiB3b3JrcXVldWUgZm9yIGxvZyBmb3Jj ZSB0cmlnZ2VyZWQgZmx1c2hlcy4gSW5zdGVhZCwgZG8gdGhlbSBkaXJlY3RseQo+ID4gc28gdGhh dCB0aGUgbG9nIElPIGlzIGRvbmUgZGlyZWN0bHkgYnkgdGhlIHByb2Nlc3MgaXNzdWluZyB0aGUg bG9nCj4gPiBmb3JjZSBhbmQgc28gZG9lc24ndCBnZXQgc3R1Y2sgb24gSU8gZWxldmF0b3IgcXVl dWUgaWRsaW5nCj4gPiBpbmNvcnJlY3RseSBkZWxheWluZyB0aGUgbG9nIElPIGZyb20gdGhlIHdv cmtxdWV1ZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogRGF2ZSBDaGlubmVyIDxkY2hpbm5lckBy ZWRoYXQuY29tPgo+ID4gLS0tCj4gPiAgZnMveGZzL3hmc19sb2dfY2lsLmMgIHwgIDI0MSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAgZnMveGZz L3hmc19sb2dfcHJpdi5oIHwgICAgMiArCj4gPiAgZnMveGZzL3hmc19tb3VudC5oICAgIHwgICAg MSArCj4gPiAgZnMveGZzL3hmc19zdXBlci5jICAgIHwgICAgNyArKwo+ID4gIDQgZmlsZXMgY2hh bmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0t Z2l0IGEvZnMveGZzL3hmc19sb2dfY2lsLmMgYi9mcy94ZnMveGZzX2xvZ19jaWwuYwo+ID4gaW5k ZXggZDRmYWRiZS4uNTY2YTJkNSAxMDA2NDQKPiA+IC0tLSBhL2ZzL3hmcy94ZnNfbG9nX2NpbC5j Cj4gPiArKysgYi9mcy94ZnMveGZzX2xvZ19jaWwuYwo+ID4gQEAgLTMyLDU4ICszMiw2IEBACj4g PiAgI2luY2x1ZGUgInhmc19kaXNjYXJkLmgiCj4gPiAgCj4gPiAgLyoKPiA+IC0gKiBQZXJmb3Jt IGluaXRpYWwgQ0lMIHN0cnVjdHVyZSBpbml0aWFsaXNhdGlvbi4KPiA+IC0gKi8KPiA+IC1pbnQK PiA+IC14bG9nX2NpbF9pbml0KAo+ID4gLQlzdHJ1Y3QgbG9nCSpsb2cpCj4gPiAtewo+ID4gLQlz dHJ1Y3QgeGZzX2NpbAkqY2lsOwo+ID4gLQlzdHJ1Y3QgeGZzX2NpbF9jdHggKmN0eDsKPiA+IC0K PiA+IC0JY2lsID0ga21lbV96YWxsb2Moc2l6ZW9mKCpjaWwpLCBLTV9TTEVFUHxLTV9NQVlGQUlM KTsKPiA+IC0JaWYgKCFjaWwpCj4gPiAtCQlyZXR1cm4gRU5PTUVNOwo+ID4gLQo+ID4gLQljdHgg PSBrbWVtX3phbGxvYyhzaXplb2YoKmN0eCksIEtNX1NMRUVQfEtNX01BWUZBSUwpOwo+ID4gLQlp ZiAoIWN0eCkgewo+ID4gLQkJa21lbV9mcmVlKGNpbCk7Cj4gPiAtCQlyZXR1cm4gRU5PTUVNOwo+ ID4gLQl9Cj4gPiAtCj4gPiAtCUlOSVRfTElTVF9IRUFEKCZjaWwtPnhjX2NpbCk7Cj4gPiAtCUlO SVRfTElTVF9IRUFEKCZjaWwtPnhjX2NvbW1pdHRpbmcpOwo+ID4gLQlzcGluX2xvY2tfaW5pdCgm Y2lsLT54Y19jaWxfbG9jayk7Cj4gPiAtCWluaXRfcndzZW0oJmNpbC0+eGNfY3R4X2xvY2spOwo+ ID4gLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZjaWwtPnhjX2NvbW1pdF93YWl0KTsKPiA+IC0KPiA+ IC0JSU5JVF9MSVNUX0hFQUQoJmN0eC0+Y29tbWl0dGluZyk7Cj4gPiAtCUlOSVRfTElTVF9IRUFE KCZjdHgtPmJ1c3lfZXh0ZW50cyk7Cj4gPiAtCWN0eC0+c2VxdWVuY2UgPSAxOwo+ID4gLQljdHgt PmNpbCA9IGNpbDsKPiA+IC0JY2lsLT54Y19jdHggPSBjdHg7Cj4gPiAtCWNpbC0+eGNfY3VycmVu dF9zZXF1ZW5jZSA9IGN0eC0+c2VxdWVuY2U7Cj4gPiAtCj4gPiAtCWNpbC0+eGNfbG9nID0gbG9n Owo+ID4gLQlsb2ctPmxfY2lscCA9IGNpbDsKPiA+IC0JcmV0dXJuIDA7Cj4gPiAtfQo+ID4gLQo+ ID4gLXZvaWQKPiA+IC14bG9nX2NpbF9kZXN0cm95KAo+ID4gLQlzdHJ1Y3QgbG9nCSpsb2cpCj4g PiAtewo+ID4gLQlpZiAobG9nLT5sX2NpbHAtPnhjX2N0eCkgewo+ID4gLQkJaWYgKGxvZy0+bF9j aWxwLT54Y19jdHgtPnRpY2tldCkKPiA+IC0JCQl4ZnNfbG9nX3RpY2tldF9wdXQobG9nLT5sX2Np bHAtPnhjX2N0eC0+dGlja2V0KTsKPiA+IC0JCWttZW1fZnJlZShsb2ctPmxfY2lscC0+eGNfY3R4 KTsKPiA+IC0JfQo+ID4gLQo+ID4gLQlBU1NFUlQobGlzdF9lbXB0eSgmbG9nLT5sX2NpbHAtPnhj X2NpbCkpOwo+ID4gLQlrbWVtX2ZyZWUobG9nLT5sX2NpbHApOwo+ID4gLX0KPiA+IC0KPiA+IC0v Kgo+ID4gICAqIEFsbG9jYXRlIGEgbmV3IHRpY2tldC4gRmFpbGluZyB0byBnZXQgYSBuZXcgdGlj a2V0IG1ha2VzIGl0IHJlYWxseSBoYXJkIHRvCj4gPiAgICogcmVjb3Zlciwgc28gd2UgZG9uJ3Qg YWxsb3cgZmFpbHVyZSBoZXJlLiBBbHNvLCB3ZSBhbGxvY2F0ZSBpbiBhIGNvbnRleHQgdGhhdAo+ ID4gICAqIHdlIGRvbid0IHdhbnQgdG8gYmUgaXNzdWluZyB0cmFuc2FjdGlvbnMgZnJvbSwgc28g d2UgbmVlZCB0byB0ZWxsIHRoZQo+ID4gQEAgLTQyNiw4ICszNzQsNyBAQCB4bG9nX2NpbF9jb21t aXR0ZWQoCj4gPiAgICovCj4gPiAgU1RBVElDIGludAo+ID4gIHhsb2dfY2lsX3B1c2goCj4gPiAt CXN0cnVjdCBsb2cJCSpsb2csCj4gPiAtCXhmc19sc25fdAkJcHVzaF9zZXEpCj4gPiArCXN0cnVj dCBsb2cJCSpsb2cpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgeGZzX2NpbAkJKmNpbCA9IGxvZy0+bF9j aWxwOwo+ID4gIAlzdHJ1Y3QgeGZzX2xvZ192ZWMJKmx2Owo+ID4gQEAgLTQ0MywzOSArMzkwLDM1 IEBAIHhsb2dfY2lsX3B1c2goCj4gPiAgCXN0cnVjdCB4ZnNfbG9nX2lvdmVjCWxoZHI7Cj4gPiAg CXN0cnVjdCB4ZnNfbG9nX3ZlYwlsdmhkciA9IHsgTlVMTCB9Owo+ID4gIAl4ZnNfbHNuX3QJCWNv bW1pdF9sc247Cj4gPiArCXhmc19sc25fdAkJcHVzaF9zZXE7Cj4gPiAgCj4gPiAgCWlmICghY2ls KQo+ID4gIAkJcmV0dXJuIDA7Cj4gPiAgCj4gPiAtCUFTU0VSVCghcHVzaF9zZXEgfHwgcHVzaF9z ZXEgPD0gY2lsLT54Y19jdHgtPnNlcXVlbmNlKTsKPiA+IC0KPiA+ICAJbmV3X2N0eCA9IGttZW1f emFsbG9jKHNpemVvZigqbmV3X2N0eCksIEtNX1NMRUVQfEtNX05PRlMpOwo+ID4gIAluZXdfY3R4 LT50aWNrZXQgPSB4bG9nX2NpbF90aWNrZXRfYWxsb2MobG9nKTsKPiA+ICAKPiA+IC0JLyoKPiA+ IC0JICogTG9jayBvdXQgdHJhbnNhY3Rpb24gY29tbWl0LCBidXQgZG9uJ3QgYmxvY2sgZm9yIGJh Y2tncm91bmQgcHVzaGVzCj4gPiAtCSAqIHVubGVzcyB3ZSBhcmUgd2VsbCBvdmVyIHRoZSBDSUwg c3BhY2UgbGltaXQuIFNlZSB0aGUgZGVmaW5pdGlvbiBvZgo+ID4gLQkgKiBYTE9HX0NJTF9IQVJE X1NQQUNFX0xJTUlUKCkgZm9yIHRoZSBmdWxsIGV4cGxhbmF0aW9uIG9mIHRoZSBsb2dpYwo+ID4g LQkgKiB1c2VkIGhlcmUuCj4gPiAtCSAqLwo+ID4gLQlpZiAoIWRvd25fd3JpdGVfdHJ5bG9jaygm Y2lsLT54Y19jdHhfbG9jaykpIHsKPiA+IC0JCWlmICghcHVzaF9zZXEgJiYKPiA+IC0JCSAgICBj aWwtPnhjX2N0eC0+c3BhY2VfdXNlZCA8IFhMT0dfQ0lMX0hBUkRfU1BBQ0VfTElNSVQobG9nKSkK PiA+IC0JCQlnb3RvIG91dF9mcmVlX3RpY2tldDsKPiA+IC0JCWRvd25fd3JpdGUoJmNpbC0+eGNf Y3R4X2xvY2spOwo+ID4gLQl9Cj4gPiArCWRvd25fd3JpdGUoJmNpbC0+eGNfY3R4X2xvY2spOwo+ ID4gIAljdHggPSBjaWwtPnhjX2N0eDsKPiA+ICAKPiA+IC0JLyogY2hlY2sgaWYgd2UndmUgYW55 dGhpbmcgdG8gcHVzaCAqLwo+ID4gLQlpZiAobGlzdF9lbXB0eSgmY2lsLT54Y19jaWwpKQo+ID4g LQkJZ290byBvdXRfc2tpcDsKPiA+ICsJc3Bpbl9sb2NrKCZjaWwtPnhjX2NpbF9sb2NrKTsKPiA+ ICsJcHVzaF9zZXEgPSBjaWwtPnhjX3B1c2hfc2VxOwo+ID4gKwlBU1NFUlQocHVzaF9zZXEgPiAw ICYmIHB1c2hfc2VxIDw9IGN0eC0+c2VxdWVuY2UpOwo+IAo+IEdhaCEgSSBqdXN0IGhpdCB0aGlz IGFzc2VydC4gIAo+IAo+IHYzLjQtcmMyLTMtZzhhMDBlYmUgd2l0aDoKPiBDaHJpc3RvcGgncyBp bG9jayBzZXJpZXMKPiBDaHJpc3RvcGgncyB4ZnNidWZkIHNlcmllcwo+IEphbidzIGZyZWV6ZSBz ZXJpZXMKPiBEYXZlJ3MgcXVldWUuCj4gCj4gbmZzNyBsb2dpbjogWyAxMTc1LjE3MjQwNl0gWEZT OiBBc3NlcnRpb24gZmFpbGVkOiBwdXNoX3NlcSA+IDAgJiYgcHVzaF9zZXEgPD0gY3R4LT5zZXF1 ZW5jZSwgZmlsZTogL3Jvb3QveGZzL2ZzL3hmcy94ZnNfbG9nX2NpbC5jLCBsaW5lOiA0MDYKPiBb IDExNzUuMTgzNzY2XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiBbIDEx NzUuMTg4MDEwXSBrZXJuZWwgQlVHIGF0IC9yb290L3hmcy9mcy94ZnMveGZzX21lc3NhZ2UuYzox MDEhCj4gWyAxMTc1LjE4ODAxMF0gaW52YWxpZCBvcGNvZGU6IDAwMDAgWyMxXSBQUkVFTVBUIFNN UCAKPiBbIDExNzUuMTg4MDEwXSBNb2R1bGVzIGxpbmtlZCBpbjogeGZzKE8pIGV4cG9ydGZzIGFm X3BhY2tldCBkbV9tb2QgZmxvcHB5IGlUQ09fd2R0IHNnIGkyY19pODAxIGlUQ09fdmVuZG9yX3N1 cHBvcnQgZTd4eHhfZWRhYyBlZGFjX2NvcmUgc3JfbW9kIGUxMDAgY2Ryb20gZTEwMDAgc2hwY2hw IHBjaV9ob3RwbHVnIGJ1dHRvbiBzZXJpb19yYXcgcGNzcGtyIGF1dG9mczQgcHJvY2Vzc29yIHRo ZXJtYWxfc3lzIGF0YV9nZW5lcmljCj4gWyAxMTc1LjE4ODAxMF0gCj4gWyAxMTc1LjE4ODAxMF0g UGlkOiAyNzYwLCBjb21tOiBrd29ya2VyLzM6MiBUYWludGVkOiBHICAgICAgICAgICBPIDMuNC4w LXJjMi0xLjItZGVza3RvcCsgIzE1IFRZQU4gQ29tcHV0ZXIgQ29ycC4gUzI3MjEtNTMzIFRodW5k ZXIgaTc1MDEgUHJvL1MyNzIxLTUzMyBUaHVuZGVyIGk3NTAxIFBybwo+IFsgMTE3NS4xODgwMTBd IEVJUDogMDA2MDpbPGZhYTRmOTY2Pl0gRUZMQUdTOiAwMDAxMDI5NiBDUFU6IDMKPiBbIDExNzUu MTg4MDEwXSBFSVAgaXMgYXQgYXNzZmFpbCsweDI2LzB4MzAgW3hmc10KPiBbIDExNzUuMTg4MDEw XSBFQVg6IDAwMDAwMDg3IEVCWDogZjFmMTA5ODAgRUNYOiAwMDAwMDA3OSBFRFg6IDAwMDAwMDQ2 Cj4gWyAxMTc1LjE4ODAxMF0gRVNJOiBmMWYxMDc4MCBFREk6IDAwMDAwMDAwIEVCUDogZjFkOTNl YzQgRVNQOiBmMWQ5M2ViMAo+IFsgMTE3NS4xODgwMTBdICBEUzogMDA3YiBFUzogMDA3YiBGUzog MDBkOCBHUzogMDAwMCBTUzogMDA2OAo+IFsgMTE3NS4xODgwMTBdIENSMDogODAwNTAwM2IgQ1Iy OiBiNzcwZWUyMCBDUjM6IDI3NzljMDAwIENSNDogMDAwMDA3ZjAKPiBbIDExNzUuMTg4MDEwXSBE UjA6IDAwMDAwMDAwIERSMTogMDAwMDAwMDAgRFIyOiAwMDAwMDAwMCBEUjM6IDAwMDAwMDAwCj4g WyAxMTc1LjE4ODAxMF0gRFI2OiBmZmZmMGZmMCBEUjc6IDAwMDAwNDAwCj4gWyAxMTc1LjE4ODAx MF0gUHJvY2VzcyBrd29ya2VyLzM6MiAocGlkOiAyNzYwLCB0aT1mMWQ5MjAwMCB0YXNrPWYxZTY3 MWUwIHRhc2sudGk9ZjFkOTIwMDApCj4gWyAxMTc1LjE4ODAxMF0gU3RhY2s6Cj4gWyAxMTc1LjE4 ODAxMF0gIDAwMDAwMDAwIGZhYWM3YTZjIGZhYWQwZWU0IGZhYWQwZTI4IDAwMDAwMTk2IGYxZDkz ZjRjIGZhYWFjYjJjIGVlMjRjM2IwCj4gWyAxMTc1LjE4ODAxMF0gIGVlZTFmNzAwIGYxZDkzZjAw IGMwMjAxYThlIGYxZjEwOTk0IGYxZGFlYTAwIGYxZjEwOThjIDAwMDAwMDAwIGYxZTY3NTAwCj4g WyAxMTc1LjE4ODAxMF0gIGYxZjEwYzAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw MDAwIDAwMDAwMDAwIDAwMDAwMDAwIGMwNjk4M2RlCj4gWyAxMTc1LjE4ODAxMF0gQ2FsbCBUcmFj ZToKPiBbIDExNzUuMTg4MDEwXSAgWzxmYWFhY2IyYz5dIHhsb2dfY2lsX3B1c2grMHgyY2MvMHgz ZTAgW3hmc10KPiBbIDExNzUuMTg4MDEwXSAgWzxjMDIwMWE4ZT5dID8gX19zd2l0Y2hfdG8rMHhk ZS8weDJjMAo+IFsgMTE3NS4xODgwMTBdICBbPGMwNjk4M2RlPl0gPyBfX3NjaGVkdWxlKzB4MjFl LzB4N2MwCj4gWyAxMTc1LjE4ODAxMF0gIFs8ZmFhYWNjNGI+XSB4bG9nX2NpbF9wdXNoX3dvcmsr MHhiLzB4MTAgW3hmc10KPiBbIDExNzUuMTg4MDEwXSAgWzxjMDI0YmMwNz5dIHByb2Nlc3Nfb25l X3dvcmsrMHhmNy8weDNmMAo+IFsgMTE3NS4xODgwMTBdICBbPGZhYWFjYzQwPl0gPyB4bG9nX2Np bF9wdXNoKzB4M2UwLzB4M2UwIFt4ZnNdCj4gWyAxMTc1LjE4ODAxMF0gIFs8YzAyNGMyMDI+XSB3 b3JrZXJfdGhyZWFkKzB4MTIyLzB4MmQwCj4gWyAxMTc1LjE4ODAxMF0gIFs8YzAyNGMwZTA+XSA/ IHJlc2N1ZXJfdGhyZWFkKzB4MWIwLzB4MWIwCj4gWyAxMTc1LjE4ODAxMF0gIFs8YzAyNGZkNmQ+ XSBrdGhyZWFkKzB4NmQvMHg4MAo+IFsgMTE3NS4xODgwMTBdICBbPGMwMjRmZDAwPl0gPyBrdGhy ZWFkX2ZyZWV6YWJsZV9zaG91bGRfc3RvcCsweDUwLzB4NTAKPiBbIDExNzUuMTg4MDEwXSAgWzxj MDZhMDJiNj5dIGtlcm5lbF90aHJlYWRfaGVscGVyKzB4Ni8weGQKPiBbIDExNzUuMTg4MDEwXSBD b2RlOiBiZiAwMCAwMCAwMCAwMCA1NSA4OSBlNSA4MyBlYyAxNCA4OSA0YyAyNCAxMCA4OSA1NCAy NCAwYyA4OSA0NCAyNCAwOCBjNyA0NCAyNCAwNCA2YyA3YSBhYyBmYSBjNyAwNCAyNCAwMCAwMCAw MCAwMCBlOCBkYSBmZCBmZiBmZiA8MGY+IDBiIDkwIDhkIGI0IDI2IDAwIDAwIDAwIDAwIDU1IGI5 IDAxIDAwIDAwIDAwIDg5IGU1IDgzIGVjIDE0IAo+IFsgMTE3NS4xODgwMTBdIEVJUDogWzxmYWE0 Zjk2Nj5dIGFzc2ZhaWwrMHgyNi8weDMwIFt4ZnNdIFNTOkVTUCAwMDY4OmYxZDkzZWIwCj4gWyAx MTc1LjE4OTM3N10gLS0tWyBlbmQgdHJhY2UgYjJmODRhZmVjMWJkNmQ3MSBdLS0tCj4gCj4gVW5m b3J0dW5hdGVseSB0aGlzIG1hY2hpbmUgaXNuJ3QgY29uZmlndXJlZCB0byBkdW1wLgoKTm93IEkn dmUgYmFja2VkIG9mZiB0byBqdXN0IENocmlzdG9waCdzIGlsb2NrIHNlcmllcyBhbmQgcmFuICdj aGVjayAtZyBhdXRvJy4KCkl0IGh1bmcgb24gdGhlIGZpcnN0IHRlc3Q6CgpbIDExNzUuMTkwMDE5 XSAgWzxmYWFhY2M0MD5dID8geGxvZ19jaWxfcHVzaCsweDNlMC8weDNlMCBbeGZzXQpbIDExNzUu MTkwMDI1XSAgWzxjMDI0YzIwMj5dIHdvcmtlcl90aHJlYWQrMHgxMjIvMHgyZDAKbmZzNyBsb2dp bjogMF0gIFs8YzAyNGMwZTA+XSA/IHJlc2N1ZXJfdGhyZWFkKzB4MWIwLzB4MWIwCldlbGNvbWUg dG8gb3BlblNVU0UgMTIuMSAiQXNwYXJhZ3VzIiAtIEtlcm5lbCAzLjQuMC1yYzItMS4yLWRlc2t0 b3ArICh0dHlTMCkuClsgMTE3NS4xOTAwNDJdICBbPGMwMjRmZDAwPl0gPyBrdGhyZWFkX2ZyZWV6 YWJsZV9zaG91bGRfc3RvcCsweDUwLzB4NTAKWyAxMTc1LjE5MDA0OV0gIFs8YzA2YTAyYjY+XSBr ZXJuZWxfdGhyZWFkX2hlbHBlcisweDYvMHhkCm5mczcgbG9naW46IDJdIENvZGU6IDg5IGUwIDI1 IDAwIGUwIGZmIGZmIDgzIDY4IDE0IDAxIDhiIDQwIDA4IGE4IDA4IDBmIDg0IDQyIGZmIGZmIGZm IGU4IGQ2IDg4IDQ0IDAwIGU5IDM4IGZmIGZmIGZmIDkwIDU1IDhiIDgwIDg0IDAyIDAwIDAwIDg5 IGU1IDVkIDw4Yj4gNDAgZmMgYzMgNjYgOTAgM2IgMDUgNDQgMTcgOWEgY1dlbGNvbWUgdG8gb3Bl blNVU0UgMTIuMSAiQXNwYXJhZ3VzIiAtIEtlcm5lbCAzLjQuMC1yYzItMS4yLWRlc2t0b3ArICh0 dHlTMCkuClsgMTE3NS4xOTAxMDldIEVJUDogWzxjMDI1MDEzYT5dIGt0aHJlYWRfZGF0YSsweGEv MHgxMCBTUzpFU1AgMDA2ODpmMWQ5M2NhOApbIDExNzUuMTkwMTE2XSBDUjI6IDAwMDAwMDAwZmZm ZmZmZmMKbmZzNyBsb2dpbjogWyAgMzkwLjA1NDM1N10gWEZTICjvv70977+977+9UNuU77+9KTog eGxvZ19yZWNvdmVyX2lub2RlX3Bhc3MyOiBCYWQgaW5vZGUgbWFnaWMgbnVtYmVyLCBkaXAgPSAw eGYwZmZkODAwLCBkaW5vIGJwID0gMHhlZjg5YzQ4MCwgaW5vID0gMjU1NDE1OTIKWyAgMzkwLjA2 NjI5MF0gWEZTICjvv70977+977+9UNuU77+9KTogSW50ZXJuYWwgZXJyb3IgeGxvZ19yZWNvdmVy X2lub2RlX3Bhc3MyKDEpIGF0IGxpbmUgMjI0OCBvZiBmaWxlIC9yb290L3hmcy9mcy94ZnMveGZz X2xvZ19yZWNvdmVyLmMuICBDYWxsZXIgMHhmYWEwOGZmYQpbICAzOTAuMDY2Mjk1XSBJTkZPOiBy Y3VfcHJlZW1wdCBkZXRlY3RlZCBzdGFsbHMgb24gQ1BVcy90YXNrczogeyAzfSAoZGV0ZWN0ZWQg YnkgMiwgdD02MDAwOCBqaWZmaWVzKQpbICAzOTAuMDgyMjE3XSBYRlM6IEFzc2VydGlvbiBmYWls ZWQ6IGF0b21pY19yZWFkKCZwYWctPnBhZ19yZWYpID09IDAsIGZpbGU6IC9yb290L3hmcy9mcy94 ZnMveGZzX21vdW50LmMsIGxpbmU6IDI3MgpbICAzOTAuMDkyNTQyXSAtLS0tLS0tLS0tLS1bIGN1 dCBoZXJlIF0tLS0tLS0tLS0tLS0gQ1BVcy90YXNrczogeyAzfSAoZGV0ZWN0ZWQgYnkgMiwgdD0y NDAwMTMgamlmZmllcykKWyAgMzkwLjA5NzAwNF0ga2VybmVsIEJVRyBhdCAvcm9vdC94ZnMvZnMv eGZzL3hmc19tZXNzYWdlLmM6MTAxIQpbICAzOTAuMDk3MDA0XSBpbnZhbGlkIG9wY29kZTogMDAw MCBbIzFdIFBSRUVNUFQgU01QIFBVcy90YXNrczogeyAzfSAoZGV0ZWN0ZWQgYnkgMSwgdD00MjAw MTIgamlmZmllcykKWyAgMzkwLjA5NzAwNF0gTW9kdWxlcyBsaW5rZWQgaW46IHhmcyhPKSBleHBv cnRmcyBhZl9wYWNrZXQgZG1fbW9kIGUxMDAwIGUxMDAgc3JfbW9kIHNocGNocCBpVENPX3dkdCBj ZHJvbSBpMmNfaTgwMSBlN3h4eF9lZGFjIGlUQ09fdmVuZG9yX3N1cHBvcnQgc2cgZmxvcHB5IHBj aV9ob3RwbHVnIHNlcmlvX3JhdyBidXR0b24gZWRhY19jb3JlIHBjc3BrciBhdXRvZnM0IHByb2Nl c3NvciB0aGVybWFsX3N5cyBhdGFfZ2VuZXJpY2Fza3M6IHsgM30gKGRldGVjdGVkIGJ5IDIsIHQ9 NjAwMDIzIGppZmZpZXMpClsgIDM5MC4wOTcwMDRdIElORk86IFN0YWxsIGVuZGVkIGJlZm9yZSBz dGF0ZSBkdW1wIHN0YXJ0ClsgIDM5MC4wOTcwMDRdIFBpZDogNTIxNywgY29tbTogbW91bnQgVGFp bnRlZDogRyAgICAgICAgICAgTyAzLjQuMC1yYzItMS4yLWRlc2t0b3ArICMxNSBUWUFOIENvbXB1 dGVyIENvcnAuIFMyNzIxLTUzMyBUaHVuZGVyIGk3NTAxIFByby9TMjcyMS01MzMgVGh1bmRlciBp NzUwMSBQcm8KWyAgMzkwLjA5NzAwNF0gRUlQOiAwMDYwOls8ZmE5YjhkNTY+XSBFRkxBR1M6IDAw MDEwMjg2IENQVTogMwpbICAzOTAuMDk3MDA0XSBFSVAgaXMgYXQgYXNzZmFpbCsweDI2LzB4MzAg W3hmc10gb24gQ1BVcy90YXNrczogeyAzfSAoZGV0ZWN0ZWQgYnkgMiwgdD05NjAwMzMgamlmZmll cykKWyAgMzkwLjA5NzAwNF0gRUFYOiAwMDAwMDA3YiBFQlg6IGYwZjg3NjgwIEVDWDogMDAwMDAw ZjMgRURYOiAwMDAwMDA0NgpbICAzOTAuMDk3MDA0XSBFU0k6IDAwMDAwMDAwIEVESTogZjFkMDg5 YTggRUJQOiBmMWQ2N2RkYyBFU1A6IGYxZDY3ZGM4ZGV0ZWN0ZWQgYnkgMSwgdD0xMTQwMDMyIGpp ZmZpZXMpClsgIDM5MC4wOTcwMDRdICBEUzogMDA3YiBFUzogMDA3YiBGUzogMDBkOCBHUzogMDAz MyBTUzogMDA2OApbICAzOTAuMDk3MDA0XSBDUjA6IDgwMDUwMDNiIENSMjogYjc3MzU1ODAgQ1Iz OiAyZmY4MjAwMCBDUjQ6IDAwMDAwN2YwZGV0ZWN0ZWQgYnkgMSwgdD0xMzIwMDM3IGppZmZpZXMp ClsgIDM5MC4wOTcwMDRdIERSMDogMDAwMDAwMDAgRFIxOiAwMDAwMDAwMCBEUjI6IDAwMDAwMDAw IERSMzogMDAwMDAwMDAKWyAgMzkwLjA5NzAwNF0gRFI2OiBmZmZmMGZmMCBEUjc6IDAwMDAwNDAw c3RhbGxzIG9uIENQVXMvdGFza3M6IHsgM30gKGRldGVjdGVkIGJ5IDEsIHQ9MTUwMDA0MiBqaWZm aWVzKQpbICAzOTAuMDk3MDA0XSBQcm9jZXNzIG1vdW50IChwaWQ6IDUyMTcsIHRpPWYxZDY2MDAw IHRhc2s9ZjBkOTkwNjAgdGFzay50aT1mMWQ2NjAwMCkKWyAgMzkwLjA5NzAwNF0gU3RhY2s6Clsg IDM5MC4wOTcwMDRdICAwMDAwMDAwMCBmYWEzMTg0NCBmYWEzOTlkNCBmYWE0MWE3ZiAwMDAwMDEx MCBmMWQ2N2RmOCBmYWEwYjEyNSBmMWQwODk5YwpbICAzOTAuMDk3MDA0XSAgZjFkMDg4MDAgMDAw MDAwNzUgZjFkMDg4MDAgMDAwMDAwMTQgZjFkNjdlNTAgZmFhMGRmZTkgZjFkMDg4MDAgZmFhNDFj MzQKWyAgMzkwLjA5NzAwNF0gIDAwMDA1MDAwIGVmODJiNzAwIGZhOWFlYTUwIGYxZDY3ZTI0IGYx ZDA4YWNjIDAwMDAwMDAwIDAwMDAwMDAyIDAwMDAwMDAzClsgIDM5MC4wOTcwMDRdIENhbGwgVHJh Y2U6ClsgIDM5MC4wOTcwMDRdICBbPGZhYTBiMTI1Pl0geGZzX2ZyZWVfcGVyYWcrMHg3NS8weGEw IFt4ZnNdClsgIDM5MC4wOTcwMDRdICBbPGZhYTBkZmU5Pl0geGZzX21vdW50ZnMrMHgyZDkvMHg3 MTAgW3hmc10KWyAgMzkwLjA5NzAwNF0gIFs8ZmE5YWVhNTA+XSA/IF94ZnNfZmlsZXN0cmVhbV9w aWNrX2FnKzB4MWIwLzB4MWIwIFt4ZnNdClsgIDM5MC4wOTcwMDRdICBbPGZhOWJiNWQ2Pl0geGZz X2ZzX2ZpbGxfc3VwZXIrMHgxOTYvMHgyNDAgW3hmc10KWyAgMzkwLjA5NzAwNF0gIFs8YzAzMWNl NzI+XSBtb3VudF9iZGV2KzB4MTcyLzB4MWIwClsgIDM5MC4wOTcwMDRdICBbPGZhOWI5NjVhPl0g eGZzX2ZzX21vdW50KzB4MWEvMHgyMCBbeGZzXQpbICAzOTAuMDk3MDA0XSAgWzxmYTliYjQ0MD5d ID8geGZzX2ZpbmlzaF9mbGFncysweDEzMC8weDEzMCBbeGZzXQpbICAzOTAuMDk3MDA0XSAgWzxj MDMxZDlhMT5dIG1vdW50X2ZzKzB4MzEvMHgxNzAKWyAgMzkwLjA5NzAwNF0gIFs8YzAyZWNiZmE+ XSA/IF9fYWxsb2NfcGVyY3B1KzB4YS8weDEwClsgIDM5MC4wOTcwMDRdICBbPGMwMzMzNmNjPl0g dmZzX2tlcm5fbW91bnQrMHg0Yy8weGMwClsgIDM5MC4wOTcwMDRdICBbPGMwMzMzZmQ5Pl0gZG9f a2Vybl9tb3VudCsweDM5LzB4ZDAKWyAgMzkwLjA5NzAwNF0gIFs8YzAzMzUzODE+XSBkb19tb3Vu dCsweDE2MS8weDcxMApbICAzOTAuMDk3MDA0XSAgWzxjMDJlN2U0MT5dID8gc3RybmR1cF91c2Vy KzB4NDEvMHg2MApbICAzOTAuMDk3MDA0XSAgWzxjMDMzNWEzNj5dIHN5c19tb3VudCsweDY2LzB4 YTAKWyAgMzkwLjA5NzAwNF0gIFs8YzA2OTlkMmQ+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgpbICAz OTAuMDk3MDA0XSBDb2RlOiBiZiAwMCAwMCAwMCAwMCA1NSA4OSBlNSA4MyBlYyAxNCA4OSA0YyAy NCAxMCA4OSA1NCAyNCAwYyA4OSA0NCAyNCAwOCBjNyA0NCAyNCAwNCA0NCAxOCBhMyBmYSBjNyAw NCAyNCAwMCAwMCAwMCAwMCBlOCBkYSBmZCBmZiBmZiA8MGY+IDBiIDkwIDhkIGI0IDI2IDAwIDAw IDAwIDAwIDU1IGI5IDAxIDAwIDAwIDAwIDg5IGU1IDgzIGVjIDE0IApbICAzOTAuMDk3MDA0XSBF SVA6IFs8ZmE5YjhkNTY+XSBhc3NmYWlsKzB4MjYvMHgzMCBbeGZzXSBTUzpFU1AgMDA2ODpmMWQ2 N2RjOApbICAzOTAuMDk3NjMzXSAtLS1bIGVuZCB0cmFjZSAzM2E5Nzk1YjYzODE1N2I5IF0tLS0K CkhlcmUgaXQgaXMgZnJvbSB0aGUgc3lzdGVtIGxvZwoKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtl cm5lbDogWyAgMzg5LjYzNzU0M10gWEZTICgyNjQ9MjExMzYxUNuUMzAwKTogTW91bnRpbmcgRmls ZXN5c3RlbQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzODkuOTEyNDAyXSBYRlMg KDI2ND0yMTEzNjFQ25QzMDApOiBTdGFydGluZyByZWNvdmVyeSAobG9nZGV2OiBpbnRlcm5hbCkK QXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA1NDM1N10gWEZTICgyNjQ9MjEx MzYxUNuUMzAwKTogeGxvZ19yZWNvdmVyX2lub2RlX3Bhc3MyOiBCYWQgaW5vZGUgbWFnaWMgbnVt YmVyLCBkaXAgPSAweGYwZmZkODAwLCBkaW5vIGJwID0gMHhlZjg5YzQ4MCwgaW5vID0gMjU1NDE1 OTIKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA2NjI5MF0gWEZTICgyNjQ9 MjExMzYxUNuUMzAwKTogSW50ZXJuYWwgZXJyb3IgeGxvZ19yZWNvdmVyX2lub2RlX3Bhc3MyKDEp IGF0IGxpbmUgMjI0OCBvZiBmaWxlIC9yb290L3hmcy9mcy94ZnMveGZzX2xvZ19yZWNvdmVyLmMu ICBDYWxsZXIgMHhmYWEwOGZmYQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAu MDY2Mjk1XSAKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA4MDkzMl0gUGlk OiA1MjE3LCBjb21tOiBtb3VudCBUYWludGVkOiBHICAgICAgICAgICBPIDMuNC4wLXJjMi0xLjIt ZGVza3RvcCsgIzE1CkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODA5Mzhd IENhbGwgVHJhY2U6CkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODA5OThd ICBbPGZhOWFjODI2Pl0geGZzX2Vycm9yX3JlcG9ydCsweDQ2LzB4NTAgW3hmc10KQXByIDE3IDE2 OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA4MTA2M10gIFs8ZmFhMDhmZmE+XSA/IHhsb2df cmVjb3Zlcl9jb21taXRfcGFzczIrMHhlYS8weDFhMCBbeGZzXQpBcHIgMTcgMTY6MzU6MTIgbGlu dXgga2VybmVsOiBbICAzOTAuMDgxMTA1XSAgWzxmYWEwODZhMT5dIHhsb2dfcmVjb3Zlcl9pbm9k ZV9wYXNzMisweDdlMS8weDlmMCBbeGZzXQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBb ICAzOTAuMDgxMTY3XSAgWzxmYWEwOGZmYT5dID8geGxvZ19yZWNvdmVyX2NvbW1pdF9wYXNzMisw eGVhLzB4MWEwIFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODEy MTJdICBbPGZhYTA3ZDMyPl0gPyB4bG9nX3JlY292ZXJfYnVmZmVyX3Bhc3MyKzB4MTIyLzB4MmIw IFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODEyNTVdICBbPGZh YTA4ZmZhPl0geGxvZ19yZWNvdmVyX2NvbW1pdF9wYXNzMisweGVhLzB4MWEwIFt4ZnNdCkFwciAx NyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODEzMjZdICBbPGZhYTA5MTA1Pl0geGxv Z19yZWNvdmVyX2NvbW1pdF90cmFucysweDU1LzB4YTAgW3hmc10KQXByIDE3IDE2OjM1OjEyIGxp bnV4IGtlcm5lbDogWyAgMzkwLjA4MTM3MV0gIFs8ZmFhMDkzMmM+XSB4bG9nX3JlY292ZXJfcHJv Y2Vzc19kYXRhKzB4MWFjLzB4MmEwIFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6 IFsgIDM5MC4wODE0NDRdICBbPGZhYTBhMmQ4Pl0geGxvZ19kb19yZWNvdmVyeV9wYXNzKzB4M2I4 LzB4N2MwIFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODE1MDVd ICBbPGZhYTBhNzkzPl0geGxvZ19kb19sb2dfcmVjb3ZlcnkrMHhiMy8weDEyMCBbeGZzXQpBcHIg MTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgxNTYyXSAgWzxmYWEwYTliND5dIHhs b2dfZG9fcmVjb3ZlcisweDI0LzB4MWMwIFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJu ZWw6IFsgIDM5MC4wODE2MTJdICBbPGZhOWI4YzQ4Pl0gPyB4ZnNfbm90aWNlKzB4MjgvMHgzMCBb eGZzXQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgxNjU0XSAgWzxmYWEw YWJjOD5dIHhsb2dfcmVjb3ZlcisweDc4LzB4OTAgW3hmc10KQXByIDE3IDE2OjM1OjEyIGxpbnV4 IGtlcm5lbDogWyAgMzkwLjA4MTcwOV0gIFs8ZmFhMTI1YzI+XSB4ZnNfbG9nX21vdW50KzB4OTIv MHgxODAgW3hmc10KQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA4MTc1Ml0g IFs8ZmFhMGUwNzM+XSB4ZnNfbW91bnRmcysweDM2My8weDcxMCBbeGZzXQpBcHIgMTcgMTY6MzU6 MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgxNzg1XSAgWzxmYTlhZWE1MD5dID8gX3hmc19maWxl c3RyZWFtX3BpY2tfYWcrMHgxYjAvMHgxYjAgW3hmc10KQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtl cm5lbDogWyAgMzkwLjA4MTgyOF0gIFs8ZmE5YmI1ZDY+XSB4ZnNfZnNfZmlsbF9zdXBlcisweDE5 Ni8weDI0MCBbeGZzXQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgxODQ1 XSAgWzxjMDMxY2U3Mj5dIG1vdW50X2JkZXYrMHgxNzIvMHgxYjAKQXByIDE3IDE2OjM1OjEyIGxp bnV4IGtlcm5lbDogWyAgMzkwLjA4MTg4OF0gIFs8ZmE5Yjk2NWE+XSB4ZnNfZnNfbW91bnQrMHgx YS8weDIwIFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODE5MzJd ICBbPGZhOWJiNDQwPl0gPyB4ZnNfZmluaXNoX2ZsYWdzKzB4MTMwLzB4MTMwIFt4ZnNdCkFwciAx NyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODE5NDNdICBbPGMwMzFkOWExPl0gbW91 bnRfZnMrMHgzMS8weDE3MApBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgx OTU0XSAgWzxjMDJlY2JmYT5dID8gX19hbGxvY19wZXJjcHUrMHhhLzB4MTAKQXByIDE3IDE2OjM1 OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA4MTk2NV0gIFs8YzAzMzM2Y2M+XSB2ZnNfa2Vybl9t b3VudCsweDRjLzB4YzAKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA4MTk3 NF0gIFs8YzAzMzNmZDk+XSBkb19rZXJuX21vdW50KzB4MzkvMHhkMApBcHIgMTcgMTY6MzU6MTIg bGludXgga2VybmVsOiBbICAzOTAuMDgxOTg0XSAgWzxjMDMzNTM4MT5dIGRvX21vdW50KzB4MTYx LzB4NzEwCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODE5OTNdICBbPGMw MmU3ZTQxPl0gPyBzdHJuZHVwX3VzZXIrMHg0MS8weDYwCkFwciAxNyAxNjozNToxMiBsaW51eCBr ZXJuZWw6IFsgIDM5MC4wODIwMzVdICBbPGMwMzM1YTM2Pl0gc3lzX21vdW50KzB4NjYvMHhhMApB cHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgyMDUxXSAgWzxjMDY5OWQyZD5d IHN5c2NhbGxfY2FsbCsweDcvMHhiCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5 MC4wODIwODRdIFhGUyAoMjY0PTIxMTM2MVDblDMwMCk6IGxvZyBtb3VudC9yZWNvdmVyeSBmYWls ZWQ6IGVycm9yIDExNwpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDgyMjA5 XSBYRlMgKDI2ND0yMTEzNjFQ25QzMDApOiBsb2cgbW91bnQgZmFpbGVkCkFwciAxNyAxNjozNTox MiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wODIyMTddIFhGUzogQXNzZXJ0aW9uIGZhaWxlZDogYXRv bWljX3JlYWQoJnBhZy0+cGFnX3JlZikgPT0gMCwgZmlsZTogL3Jvb3QveGZzL2ZzL3hmcy94ZnNf bW91bnQuYywgbGluZTogMjcyCgpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAu MDkyNTQyXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KQXByIDE3IDE2OjM1 OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0ga2VybmVsIEJVRyBhdCAvcm9vdC94ZnMv ZnMveGZzL3hmc19tZXNzYWdlLmM6MTAxIQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBb ICAzOTAuMDk3MDA0XSBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIFBSRUVNUFQgU01QIApBcHIg MTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSBNb2R1bGVzIGxpbmtlZCBp bjogeGZzKE8pIGV4cG9ydGZzIGFmX3BhY2tldCBkbV9tb2QgZTEwMDAgZTEwMCBzcl9tb2Qgc2hw Y2hwIGlUQ09fd2R0IGNkcm9tIGkyY19pODAxIGU3eHh4X2VkYWMgaVRDT192ZW5kb3Jfc3VwcG9y dCBzZyBmbG9wcHkgcGNpX2hvdHBsdWcgc2VyaW9fcmF3IGJ1dHRvbiBlZGFjX2NvcmUgcGNzcGty IGF1dG9mczQgcHJvY2Vzc29yIHRoZXJtYWxfc3lzIGF0YV9nZW5lcmljCkFwciAxNyAxNjozNTox MiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdIApBcHIgMTcgMTY6MzU6MTIgbGludXgga2Vy bmVsOiBbICAzOTAuMDk3MDA0XSBQaWQ6IDUyMTcsIGNvbW06IG1vdW50IFRhaW50ZWQ6IEcgICAg ICAgICAgIE8gMy40LjAtcmMyLTEuMi1kZXNrdG9wKyAjMTUgVFlBTiBDb21wdXRlciBDb3JwLiBT MjcyMS01MzMgVGh1bmRlciBpNzUwMSBQcm8vUzI3MjEtNTMzIFRodW5kZXIgaTc1MDEgUHJvCkFw ciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdIEVJUDogMDA2MDpbPGZh OWI4ZDU2Pl0gRUZMQUdTOiAwMDAxMDI4NiBDUFU6IDMKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtl cm5lbDogWyAgMzkwLjA5NzAwNF0gRUlQIGlzIGF0IGFzc2ZhaWwrMHgyNi8weDMwIFt4ZnNdCkFw ciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdIEVBWDogMDAwMDAwN2Ig RUJYOiBmMGY4NzY4MCBFQ1g6IDAwMDAwMGYzIEVEWDogMDAwMDAwNDYKQXByIDE3IDE2OjM1OjEy IGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gRVNJOiAwMDAwMDAwMCBFREk6IGYxZDA4OWE4 IEVCUDogZjFkNjdkZGMgRVNQOiBmMWQ2N2RjOApBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVs OiBbICAzOTAuMDk3MDA0XSAgRFM6IDAwN2IgRVM6IDAwN2IgRlM6IDAwZDggR1M6IDAwMzMgU1M6 IDAwNjgKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gQ1IwOiA4 MDA1MDAzYiBDUjI6IGI3NzM1NTgwIENSMzogMmZmODIwMDAgQ1I0OiAwMDAwMDdmMApBcHIgMTcg MTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSBEUjA6IDAwMDAwMDAwIERSMTog MDAwMDAwMDAgRFIyOiAwMDAwMDAwMCBEUjM6IDAwMDAwMDAwCkFwciAxNyAxNjozNToxMiBsaW51 eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdIERSNjogZmZmZjBmZjAgRFI3OiAwMDAwMDQwMApBcHIg MTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSBQcm9jZXNzIG1vdW50IChw aWQ6IDUyMTcsIHRpPWYxZDY2MDAwIHRhc2s9ZjBkOTkwNjAgdGFzay50aT1mMWQ2NjAwMCkKQXBy IDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gU3RhY2s6CkFwciAxNyAx NjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdICAwMDAwMDAwMCBmYWEzMTg0NCBm YWEzOTlkNCBmYWE0MWE3ZiAwMDAwMDExMCBmMWQ2N2RmOCBmYWEwYjEyNSBmMWQwODk5YwpBcHIg MTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSAgZjFkMDg4MDAgMDAwMDAw NzUgZjFkMDg4MDAgMDAwMDAwMTQgZjFkNjdlNTAgZmFhMGRmZTkgZjFkMDg4MDAgZmFhNDFjMzQK QXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gIDAwMDA1MDAwIGVm ODJiNzAwIGZhOWFlYTUwIGYxZDY3ZTI0IGYxZDA4YWNjIDAwMDAwMDAwIDAwMDAwMDAyIDAwMDAw MDAzCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdIENhbGwgVHJh Y2U6CkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdICBbPGZhYTBi MTI1Pl0geGZzX2ZyZWVfcGVyYWcrMHg3NS8weGEwIFt4ZnNdCkFwciAxNyAxNjozNToxMiBsaW51 eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdICBbPGZhYTBkZmU5Pl0geGZzX21vdW50ZnMrMHgyZDkv MHg3MTAgW3hmc10KQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0g IFs8ZmE5YWVhNTA+XSA/IF94ZnNfZmlsZXN0cmVhbV9waWNrX2FnKzB4MWIwLzB4MWIwIFt4ZnNd CkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdICBbPGZhOWJiNWQ2 Pl0geGZzX2ZzX2ZpbGxfc3VwZXIrMHgxOTYvMHgyNDAgW3hmc10KQXByIDE3IDE2OjM1OjEyIGxp bnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gIFs8YzAzMWNlNzI+XSBtb3VudF9iZGV2KzB4MTcy LzB4MWIwCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdICBbPGZh OWI5NjVhPl0geGZzX2ZzX21vdW50KzB4MWEvMHgyMCBbeGZzXQpBcHIgMTcgMTY6MzU6MTIgbGlu dXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSAgWzxmYTliYjQ0MD5dID8geGZzX2ZpbmlzaF9mbGFn cysweDEzMC8weDEzMCBbeGZzXQpBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAu MDk3MDA0XSAgWzxjMDMxZDlhMT5dIG1vdW50X2ZzKzB4MzEvMHgxNzAKQXByIDE3IDE2OjM1OjEy IGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gIFs8YzAyZWNiZmE+XSA/IF9fYWxsb2NfcGVy Y3B1KzB4YS8weDEwCkFwciAxNyAxNjozNToxMiBsaW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRd ICBbPGMwMzMzNmNjPl0gdmZzX2tlcm5fbW91bnQrMHg0Yy8weGMwCkFwciAxNyAxNjozNToxMiBs aW51eCBrZXJuZWw6IFsgIDM5MC4wOTcwMDRdICBbPGMwMzMzZmQ5Pl0gZG9fa2Vybl9tb3VudCsw eDM5LzB4ZDAKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAgMzkwLjA5NzAwNF0gIFs8 YzAzMzUzODE+XSBkb19tb3VudCsweDE2MS8weDcxMApBcHIgMTcgMTY6MzU6MTIgbGludXgga2Vy bmVsOiBbICAzOTAuMDk3MDA0XSAgWzxjMDJlN2U0MT5dID8gc3RybmR1cF91c2VyKzB4NDEvMHg2 MApBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSAgWzxjMDMzNWEz Nj5dIHN5c19tb3VudCsweDY2LzB4YTAKQXByIDE3IDE2OjM1OjEyIGxpbnV4IGtlcm5lbDogWyAg MzkwLjA5NzAwNF0gIFs8YzA2OTlkMmQ+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgpBcHIgMTcgMTY6 MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSBDb2RlOiBiZiAwMCAwMCAwMCAwMCA1 NSA4OSBlNSA4MyBlYyAxNCA4OSA0YyAyNCAxMCA4OSA1NCAyNCAwYyA4OSA0NCAyNCAwOCBjNyA0 NCAyNCAwNCA0NCAxOCBhMyBmYSBjNyAwNCAyNCAwMCAwMCAwMCAwMCBlOCBkYSBmZCBmZiBmZiA8 MGY+IDBiIDkwIDhkIGI0IDI2IDAwIDAwIDAwIDAwIDU1IGI5IDAxIDAwIDAwIDAwIDg5IGU1IDgz IGVjIDE0IApBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3MDA0XSBFSVA6 IFs8ZmE5YjhkNTY+XSBhc3NmYWlsKzB4MjYvMHgzMCBbeGZzXSBTUzpFU1AgMDA2ODpmMWQ2N2Rj OApBcHIgMTcgMTY6MzU6MTIgbGludXgga2VybmVsOiBbICAzOTAuMDk3NjMzXSAtLS1bIGVuZCB0 cmFjZSAzM2E5Nzk1YjYzODE1N2I5IF0tLS0KCi1CZW4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCnhmcyBtYWlsaW5nIGxpc3QKeGZzQG9zcy5zZ2kuY29t Cmh0dHA6Ly9vc3Muc2dpLmNvbS9tYWlsbWFuL2xpc3RpbmZvL3hmcwo=