From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-it1-x12d.google.com ([2607:f8b0:4864:20::12d]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1gUQw0-0000Dl-VI for rauc@pengutronix.de; Wed, 05 Dec 2018 07:45:25 +0100 Received: by mail-it1-x12d.google.com with SMTP id x19so19650639itl.1 for ; Tue, 04 Dec 2018 22:45:24 -0800 (PST) MIME-Version: 1.0 References: <454fb88a-2909-acfc-5c63-e139d5fccb34@pengutronix.de> <37101a0d-0faa-e146-4c8a-63eed0cd17f9@pengutronix.de> In-Reply-To: <37101a0d-0faa-e146-4c8a-63eed0cd17f9@pengutronix.de> From: Abhishek Kumar Rai Date: Wed, 5 Dec 2018 12:15:11 +0530 Message-ID: Subject: Re: [RAUC] Query regarding rauc List-Id: RAUC Project - Discussion List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: rauc-bounces@pengutronix.de Sender: "RAUC" To: Enrico Joerns Cc: rauc@pengutronix.de SGkgRW5yaWNvLAoKVGhhbmtzIGZvciB0aGUgZGV0YWlsZWQgcmVzcG9uc2UuIEhlbHBlZCBjaGFu Z2Ugb3VyIHBlcnNwZWN0aXZlIGFuZAp1bmRlcnN0YW5kIHJhdWMgYmV0dGVyLgoKUGxlYXNlIGZp bmQgb3VyIHJlc3BvbnNlcyBpbmxpbmUKClJlZ2FyZHMsCkFiaGlzaGVrIFJhaQoKT24gVHVlLCBE ZWMgNCwgMjAxOCBhdCA2OjIwIFBNIEVucmljbyBKb2VybnMgPGVqb0BwZW5ndXRyb25peC5kZT4g d3JvdGU6Cj4KPiBIaSBBYmhpc2hlaywKPgo+IE9uIDEyLzQvMTggMTowNiBQTSwgQWJoaXNoZWsg S3VtYXIgUmFpIHdyb3RlOgo+ID4gSGkgRW5yaWNvLAo+ID4KPiA+IFRoYW5rcyBmb3IgdGhlIHBy b21wdCByZXNwb25zZSEKPiA+Cj4gPiBQbGVhc2UgZmluZCBvdXIgcmVzcG9uc2VzIGlubGluZSAo Ymx1ZSBjb2xvcmVkKQo+Cj4geW91J3JlIGx1Y2t5IHRoYXQgSSd2ZSBhIGdyYXBoaWNhbCBtYWls ZXIuLi4gOykKPiBCZXR0ZXIgdXNlIHN0YW5kYXJkIG1haWwgcXVvdGluZy4KPgoKU3VyZS4gTGVz c29uIGxlYXJudCA6KQoKPiA+PiBPdXIgdW5kZXJzdGFuZGluZyBvZiByYXVjIGluc3RhbGwgc3Vn Z2VzdHMgdGhhdCBpdCBkb2VzIHRoZQo+ID4+IGZvbGxvd2luZyB0aGluZ3M6Cj4gPj4KPiA+PiAx LiBWZXJpZnkgc2lnbmF0dXJlIG9mIHRoZSBidW5kbGUgMi4gUnVuIHBhcnRpdGlvbiBzZWxlY3Rp b24KPiA+PiBhbGdvcml0aG0gMy4gRXh0cmFjdCB0aGUgdGFyIGJhbGxzIGZyb20gdGhlIGJ1bmRs ZSA0LiBDcmVhdGUgbmV3Cj4gPj4gZXh0NCBGUyBvbiB0aGUgc2VsZWN0ZWQgcGFydGl0aW9uIDUu IFdyaXRlIGFwcHJvcHJpYXRlIHRhciBiYWxsIHRvCj4gPj4gdGhlIHBhcnRpdGlvbgo+ID4+Cj4g Pj4KPiA+PiBTaW5jZSAicmF1YyBpbnN0YWxsIiB3b3VsZCBnaXZlIHVzIGVycm9ycyBkdWUgdG8g b3VyIGNvbmZpZ3VyYXRpb24KPiA+PiB3ZSBwbGFuIHRvIGFjaGlldmUgdGhpcyB1c2luZyB0aGUg c3RlcHMgYmVsb3c6Cj4gPj4KPiA+PiAxLiBWZXJpZnkgc2lnbmF0dXJlIG9mIHRoZSBidW5kbGUg KHJhdWMgaW5mbyAuLi4pIDIuIFBhcnRpdGlvbgo+ID4+IHNlbGVjdGlvbiBhbGdvcml0aG0gKHdl IHdvdWxkIGxpa2UgdG8gc2tpcCB0aGlzKSAzLiBFeHRyYWN0IHRoZSB0YXIKPiA+PiBiYWxscyBm cm9tIHRoZSBidW5kbGUgKHJhdWMgZXh0cmFjdCAuLikgNC4gQ3JlYXRlIG5ldyBleHQ0IEZTIG9u Cj4gPj4gdGhlIHNlbGVjdGVkIHBhcnRpdGlvbiArIFdyaXRlIGFwcHJvcHJpYXRlIHRhciBiYWxs IHRvIHRoZQo+ID4+IHBhcnRpdGlvbiAocmF1YyB3cml0ZS1zbG90IC4uLiAuLi4uKQo+ID4KPiA+ IGhvdyBkbyB5b3UgdHJpZ2dlciB0aGUgY3VzdG9tIGluc3RhbGxhdGlvbj8gRG8geW91IHVzZSB0 aGUKPiA+IGZ1bGwtY3VzdG9tIFJBVUMgaW5zdGFsbCBoYW5kbGVyPyBObyBmb3Igbm93IHdlIGhh dmUgcmVwbGFjZWQgdGhlCj4gPiAicmF1YyBpbnN0YWxsIiBjYWxsIHdpdGggdGhlIGNhbGxzIHRv IHRoZSBjb21tYW5kcyAicmF1YyBpbmZvICsgcmF1Ywo+ID4gZXh0cmFjdCArIHJhdWMgd3JpdGUt c2xvdCIuIFdlIHdlcmUgdGhpbmtpbmcgdGhhdCB3ZSBtaWdodCBub3QgZ2V0Cj4gPiBjb250cm9s IGR1ZSB0byBzbG90IHNlbGVjdGlvbiBhbGdvcml0aG0uIEJ1dCB3ZSB3aWxsIGV4cGxvcmUgdGhp cwo+ID4gZnVydGhlciBzdGFydGluZyB0b2RheS4gR2V0IGEgZmVlbGluZyBpdCB3b3VsZCBiZSB3 aGF0IHdlIHdhbnQuCj4gPiBUaG91Z2ggd2UgcmVhZCBpbiB0aGUgZG9jdW1lbnRhdGlvbiB0aGF0 IHRoZSBwcmUvcG9zdCBpbnN0YWxsIGhvb2tzCj4gPiB3b3VsZCBub3Qgd29yayB3aXRoIGZ1bGwg Y3VzdG9tIGluc3RhbGwuIFdlIG1pZ2h0IG5lZWQgdGhlbS4gTm90IHRvbwo+ID4gc3VyZSB0aG91 Z2guIFdlIG1pZ2h0IGJlIGFibGUgdG8gbWVyZ2UgdGhlICJwb3N0LWluc3RhbGwiIGhvb2sgd29y awo+ID4gd2l0aCB0aGUgImluc3RhbGwiIGhvb2sKPgo+IFlvdSB3YW50IHRvIGhhdmUgYSBsb29r IGF0IHRoaXMgc2VjdGlvbnM6Cj4KPiBodHRwczovL3JhdWMucmVhZHRoZWRvY3MuaW8vZW4vbGF0 ZXN0L3VzaW5nLmh0bWwjZnVsbC1jdXN0b20tdXBkYXRlCj4KClRoYW5rcyEKCj4gPiBFeHRyYWN0 aW5nIHRoZSB0YXIncyBzaG91bGQgbm90IGJlIHJlcXVpcmVkIGluIGFsbCBjYXNlcy4gV2l0aCB0 aGUKPiA+IGZ1bGwtY3VzdG9tIGhhbmRsZXIgeW91IHdpbGwgYWxyZWFkeSBoYXZlIGl0IG1vdW50 ZWQsIG90aGVyd2lzZSB5b3UKPiA+IGNhbiBzaW1wbHkgbW91bnQgdGhlIGJ1bmRsZSBhZnRlciB2 ZXJpZmljYXRpb24gYXMgaXQgaXMgYmFzaWNhbGx5IGEKPiA+IHNxdWFzaGZzLiBTdXJlLi4KPiA+ Cj4gPiBGb3IgcmF1YyB3cml0ZS1zbG90IHlvdSBhbHNvIHJlbHkgb24gcGFydHMgb2YgdGhlIHN5 c3RlbS5jb25mLCBidXQKPiA+IG5vdCBpbiB0aGUgZml4ZWQgc2NoZW1lLiBJZiB0aGF0IGlzIHdo ZXJlIHlvdXIgaXNzdWUgcmVzaWRlcywgeW91Cj4gPiBzaG91bGQgYmUgZmluZSB3aXRoIHRoYXQu IFN1cmUuIFdlIHdlcmUgYWxzbyBjb25zaWRlcmluZyByZWZlcnJpbmcgdG8KPiA+IHRoZSBtYW5p ZmVzdCBmaWxlIHdoZW4gdGhlIGJ1bmRsZSBnZXRzIG1vdW50ZWQKPiA+Cj4gPiBDb3VsZCB5b3Ug Z2l2ZSBtZSBhIGhpbnQgd2hhdCBmb3JjZXMgeW91IHRvIGRvIHRoaXMga2luZCBvZiBtYW51YWwK PiA+IGhhbmRsaW5nPyBNYXliZSB0aGVuIHdlIGNhbiB0aGluayBhYm91dCBhIHBvc3NpYmxlIHNv bHV0aW9uIG1vcmUKPiA+IHRhcmdldGVkLgo+ID4KPiA+ICogRm9yIG5vdywgd2UgaGF2ZSA0IHBh cnRpdGlvbnMgY29udGFpbmluZyByZnMuMCwgcmZzLjEsIGFwcGZzLjAgYW5kCj4gPiBhcHBmcy4x LiBXZSB3b3VsZCBsaWtlIHRvIGhhdmUgYSBzY2hlbWUgd2hlcmUgb25seSB0aGUgcGFydGl0aW9u IHRoYXQKPiA+IGhhcyBiZWVuIGZsYXNoZWQgd2l0aCBidW5kbGUgZGF0YSBpcyAgY2hhbmdlZCBp LmUgbGV0cyBzYXkgY3VycmVudGx5Cj4gPiB3ZSBhcmUgdXNpbmcgcmZzLjAgYW5kIGFwcGZzLjAu IE5vdyBpZiB3ZSBmbGFzaCBhIGJ1bmRsZSBjb250YWluaW5nCj4gPiBhcHBmcywgb24gbmV4dCBy ZWJvb3QsIHN5c3RlbSBzaG91bGQgdXNlIHJmcy4wIGFuZCBhcHBmcy4qMSouCj4gPiBTaW1pbGFy bHkgZm9yIHJmcy4KPiA+Cj4gPiAqIFRvIGFjaGlldmUgdGhpcyB3ZSBzdGFydGVkIHdpdGhvdXQg YSBwYXJlbnQgY2hpbGQgcmVsYXRpb25zaGlwIGluCj4gPiBzeXN0ZW0uY29uZi4gU28gd2hlbiB3 ZSBhcmUgZXhlY3V0aW5nIGZyb20gYXBwZnMuMCBhbmQgcmZzLjAgYW5kIHdlCj4gPiB0cnkgdG8g Zmxhc2ggYSBidW5kbGUgY29udGFpbmluZyBhcHBmcywgaXQgd291bGQgdHJ5IHRvIHdyaXRlIHRv Cj4gPiBhcHBmcy4wIHdoaWNoIHdvdWxkIGFscmVhZHkgYmUgaW4gdXNlIGFuZCBoZW5jZSB3ZSB3 b3VsZCBnZXQgZXJyb3JzLgo+ID4gU28gd2UgaW50cm9kdWNlZCB0aGUgcGFyZW50IGNoaWxkIHJl bGF0aW9uc2hpcAo+ID4KPiA+ICogTm93IF93aXRoXyBwYXJlbnQgY2hpbGQgcmVsYXRpb25zaGlw IHRoZSBpc3N1ZSBhYm92ZSB3b3VsZCBiZQo+ID4gcmVzb2x2ZWQuIE5vdyB3aGVuIHdlIGJvb3Qg ZnJvbSAicmZzLjAiIGFuZCBleGVjdXRlIGFwcHMgZnJvbQo+ID4gImFwcGZzLjAiIGFuZCBmbGFz aCBhIGFwcGZzIGJ1bmRsZSBpdCB3b3VsZCB3cml0ZSB0byBhcHBmcy4xLiBPbgo+ID4gcmVib290 LCBhcyBwZXIgb3VyIHNjaGVtZSB3ZSB3b3VsZCBib290IGZyb20gInJmcy4wIiBhbmQgZXhlY3V0 ZSBhcHBzCj4gPiBmcm9tICJhcHBmcy4xIi4gTm93IHdoZW4gd2UgdHJ5IHRvIGRvIGEgcmF1YyBp bnN0YWxsIGl0IHdvdWxkIHdyaXRlCj4gPiB0byAiYXBwZnMuMSIgYXMgaXQgd291bGQgY29uc2lk ZXIgYXBwZnMuMCBhcyBhY3RpdmUgcGFydGl0aW9uIGR1ZSB0bwo+ID4gcGFyZW50LWNoaWxkIHJl bGF0aW9uc2hpcC4KPiA+Cj4gPiAqIEhlbmNlIGFzIHdlIHdlcmUgcnVubmluZyBpbnRvIGFsbCB0 aGVzZSBpc3N1ZXMgd2UgZmVsdCB0aGF0IGl0Cj4gPiB3b3VsZCBoZWxwIG91ciBjYXVzZSBpZiB3 ZSBoYWQgb3VyIG93biBzbG90IHNlbGVjdGlvbiBsb2dpYy4gSGVuY2UKPiA+IHRoZSBkZXZpYXRp b24gdG8gcmF1YyBpbmZvICsgcmF1YyBleHRyYWN0ICsgcmF1YyB3cml0ZS1zbG90Lgo+Cj4gT2ss IEkgdGhpbmsgSSBnb3QgeW91ciBiYXNlIG1vdGl2YXRpb24uCj4KPiBXaGF0IGRvIHlvdSBkbyB0 byBhc3N1cmUgdGhhdCB0aGUgcmlnaHQgYXBwZnMgaXMgdXNlZD8KPiBJcyB0aGF0IG1lY2hhbmlz bSBhdG9taWM/IEkuZS4gd2hlbiB5b3UgYXJlIGludGVycnVwdGVkIGJldHdlZW4gdXBkYXRlCj4g b2YgYXBwZnMsIGRvZXMgaXQgc3RpbGwgYm9vdCB0aGUgdmFsaWQgb25lPwo+CgpXZSBoYXZlIHll dCBub3QgcmVhY2hlZCBhIHN0YWdlIHdoZXJlIHdlIHdvdWxkIHN0YXJ0IHJlbGVhc2luZyBvdXQg dGhlCmFwcCBidW5kbGVzLiBQcm9iYWJseSB3ZSB3b3VsZCBkbyBpdCBpbiBhIG1vbnRoIG9yIHR3 by4KWWVzIGlmIHdlIGFyZSBpbnRlcnJ1cHRlZCBiZXR3ZWVuIHVwZGF0ZSBvZiBhcHBmcyB3ZSB3 b3VsZCBub3Qgc3dpdGNoCnRvIHVzaW5nIHRoZSB0YXJnZXQgcGFydGl0aW9uIGFuZCBjb250aW51 ZSB1c2luZyB0aGUgc2FtZSBhcHBmcwpwYXJ0aXRpb24KCj4gSW4gZ2VuZXJhbCwgYXMgeW91IG1p Z2h0IGhhdmUgcmVhZCwgb3VyIHN0cmljdCBkZXNpZ24gY2FzZSBhbmQKPiByZWNvbW1lbmRhdGlv biBpcyB0aGF0IHlvdSBvbmx5IGluc3RhbGwgd2VsbC10ZXN0ZWQgc2V0cyBvZiBhbGwgcGllY2Vz Cj4gb2Ygc29mdHdhcmUuIElmIHlvdSB1c2UgaXQgYXMgYW4gJ2FwcCBzdG9yZScgbWF5YmUgdGhh dCBpcyBub3RlIGEgdGFzawo+IGZvciBSQVVDPwo+CgpPaGguIEJ1dCB3ZSBhcmUgYWJsZSB0byBh Y2hpZXZlIHRoZSBhcHBmcyB1cGdyYWRlcyBieSBtZW5kaW5nIHJhdWMgYQpsaXR0bGUgYml0LiBJ c250IHRoYXQgb2s/IFdvdWxkIHlvdSBiZSBhYmxlIHRvIHByb3ZpZGUgbW9yZSBkZXRhaWxzIGFz CnRvIHdoeSBpdCBtaWdodCBub3QgYmUgYSBnb29kIGlkZWEgdG8gdXNlIHJhdWMgZm9yIGFwcC1v bmx5IHVwZ3JhZGVzPwpUaGlzIHdvdWxkIGhlbHAgdXMgYmV0dGVyIGRlc2lnbiBvdXIgdXBkYXRl IHNjaGVtZS4gVGhlIGNvcmUgaWRlYQpiZWhpbmQgYWxsIHRoZSBleHBlcmltZW50cyBpcyB3ZSB3 aXNoIHRvIG1haW50YWluIHN5bW1ldHJ5IGFuZCBhY3Jvc3MKcmVib290cyBjaGFuZ2Ugb25seSB0 aGUgcGFydGl0aW9uIHRoYXQgaGFzIGJlZW4gdXBkYXRlZC4gU28gdGhhdHMgaG93CnRoZSBpZGVh IG9mIGhhdmluZyBhIHJmcy4wICsgYXBwZnMuMSBjb21iaW5hdGlvbiBpbiBwbGFjZSBvZiByZnMu MSArCmFwcGZzLjEgY29tZXMgaW50byB0aGUgcGljdHVyZS4KRm9yIG5vdywgd2UgaGF2ZSAzIHVz ZS1jYXNlcyAodGhhdCBtaWdodCBpbmNyZWFzZSkKLSByZnMgb25seSB1cGRhdGVzCi0gYXBwZnMg b25seSB1cGRhdGVzCi0gcmZzICsgYXBwZnMgdXBkYXRlcwoKPiBCdXQsIHdoYXQgc3BlYWtzIGFn YWluc3QgaGF2aW5nIGJvdGggcm9vdGZzIGFuZCBhcHBmcyB1cGRhdGVkIHRvZ2V0aGVyPwo+IElz IHRoYXQgaW5zdGFsbGF0aW9uIHRpbWUgLyBidW5kbGUgc2l6ZT8KPgoKWWVzLiBJdHMgbWFpbmx5 IHRoZSBidW5kbGUgc2l6ZS4gV2Ugd291bGQgYmUgdXBkYXRpbmcgb3VyIGFwcHMgbW9yZQpmcmVx dWVudGx5IGFzIGNvbXBhcmVkIHRvIHJmcy4gSGVuY2Ugd2Ugd291bGQgd2FudCB0byByZWxlYXNl IGFzIHNtYWxsCmEgYnVuZGxlIGFzIHdlIHBvc3NpYmx5IGNhbi4KCj4gTm90ZSB0aGF0IFJBVUMg d2lsbCBza2lwIHRoZSBhY3R1YWwgdXBkYXRlIG9mIHRoZSByb290ZnMgYW55d2F5IGlmIHRoZQo+ IHNsb3QncyBoYXNoIG1hdGNoZXMgdGhlIGhhc2ggb2YgdGhlIGltYWdlIHRvIGluc3RhbGwuIFRo dXMgaWYgeW91IGRvIG5vdAo+IGNoYW5nZSB0aGUgcm9vdGZzIGNvbnRlbnQgYWNyb3NzIG11bHRp cGxlIGluc3RhbGF0aW9ucywgaXQgd2lsbCBza2lwCj4gdGhlIHJvb3RmcyB3cml0aW5nLCBhbnl3 YXkuCj4KPgoKT2suLgoKPiBBbm90aGVyIGNvbmNlcHQgdG8gdGhpbmtzIGFib3V0IGlzIChpZiB5 b3UgaW5zaXN0IG9uIHVwZGF0aW5nIHRoZQo+IGFwcGZzIHNlcGFyYXRlbHkpLCBpZiB5b3UgZG8g bm90IG1vdmUgdGhlIHN3aXRjaGluZyBwb2ludCBlbnRpcmVseSB0bwo+IGJlIGluIHRoZSByb290 ZnMuIFRoZW4gUkFVQyB3b3VsZCBpbmNvcnBvcmF0ZSB3aXRoIHRoZSBhcHBmcy1zZWxlY3Rpb24K PiBsb2dpYyB5b3UgY3VycmVudGx5IHVzZS4gTWlnaHQgbmVlZCBzb21lIGV4dGVuc2lvbiBmb3Ig dXNpbmcgY3VzdG9tIGJvb3QKPiBzZWxlY3Rpb24gc2NyaXB0cywgYnV0IHRoaXMgaXMgb24gb3Vy IGxpc3QgYW55d2F5Lgo+CgpZZXMuIEZvciBub3csIHdlIGFyZSBwbGFubmluZyB0byBoYXZlIHRo YXQgaW50ZWxsaWdlbmNlIG9mCmFwcGZzLXNlbGVjdGlvbiBpbiBvdXIgYm9vdCBzY3JpcHQuCgo+ IFRoZSBvcGVuIHF1ZXN0aW9uIHdvdWxkIGJlIGlmIHlvdSBhbHNvIGludGVuZCB0byB1cGRhdGUg eW91ciByb290ZnMgYW5kCj4gaWYgaXQgaXMgb2sgdG8gbmV2ZXIgdXBkYXRlIHRoZSBhcHBmcyBh bmQgcm9vdGZzIHRvZ2V0aGVyLCBhcyB0aGlzIHdvdWxkCj4gbm90IHdvcmsgd2l0aCBteSBhcHBy b2FjaC4KPgo+CgpZZXMuIEZvciBub3cgd2UgaGF2ZSAzIGRpZmZlcmVudCB0YXJnZXQgdXNlLWNh c2VzCi0gcmZzIG9ubHkgOiBhbiB1cGRhdGUgbWlnaHQgaGFwcGVuIG9uY2UgZXZlcnkgNiBtb250 aHMgb3Igc28KLSBhcHBmcyBvbmx5IDogYW4gdXBkYXRlIG1pZ2h0IGhhcHBlbiBtb250aGx5IHRv IHN0YXJ0IHdpdGggYW5kIHRoZW4Kb24gYSBuZWVkIGJhc2lzCi0gcmZzICsgYXBwZnMgOiBwcm9i YWJseSBvbmNlIGV2ZXJ5IDYgbW9udGhzIG9yIHNvCgo+IFJlZ2FyZHMsIEVucmljbwo+Cj4gLS0K PiBQZW5ndXRyb25peCBlLksuICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBFbnJpY28gSsO2 cm5zICAgICAgICAgICAgICAgIHwKPiBJbmR1c3RyaWFsIExpbnV4IFNvbHV0aW9ucyAgICAgICAg ICAgICAgICAgfCBodHRwOi8vd3d3LnBlbmd1dHJvbml4LmRlLyAgfAo+IFBlaW5lciBTdHIuIDYt OCwgMzExMzcgSGlsZGVzaGVpbSwgR2VybWFueSB8IFBob25lOiArNDktNTEyMS0yMDY5MTctNTA4 MCB8Cj4gQW10c2dlcmljaHQgSGlsZGVzaGVpbSwgSFJBIDI2ODYgICAgICAgICAgIHwgRmF4OiAg ICs0OS01MTIxLTIwNjkxNy01NTU1IHwKPgoKLS0gCgoKCgoKCgoKCgoKCgoKVGhlIGluZm9ybWF0 aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGUtbWFpbCBtZXNzYWdlIChpbmNsdWRpbmcgCmFuecKgCgoK YXR0YWNobWVudHMpIG1heSBiZSBjb25maWRlbnRpYWwsIHByb3ByaWV0YXJ5LCBwcml2aWxlZ2Vk LCBvciAKb3RoZXJ3aXNlCgoKZXhlbXB0IGZyb20gZGlzY2xvc3VyZSB1bmRlciBhcHBsaWNhYmxl IGxhd3MuIEl0IGlzIGludGVuZGVkIHRvIApiZcKgCgoKY29udmV5ZWQgb25seSB0byB0aGUgZGVz aWduYXRlZCByZWNpcGllbnQocykuIEFueSB1c2UsIGRpc3NlbWluYXRpb24swqAKCgoKZGlzdHJp YnV0aW9uLCBwcmludGluZywgcmV0YWluaW5nIG9yIGNvcHlpbmcgb2YgdGhpcyBlLW1haWwgKGlu Y2x1ZGluZyAKaXRzwqAKCgphdHRhY2htZW50cykgYnkgdW5pbnRlbmRlZCByZWNpcGllbnQocykg aXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgCm1hecKgCgoKYmUgdW5sYXdmdWwuIElmIHlvdSBh cmUgbm90IGFuIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGUtbWFpbCwgb3IgCmJlbGlldmXC oAoKCnRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBu b3RpZnkgdGhlIApzZW5kZXLCoAoKCmltbWVkaWF0ZWx5IChieSByZXBseWluZyB0byB0aGlzIGUt bWFpbCksIGRlbGV0ZSBhbnkgYW5kIGFsbCAKY29waWVzIG9mwqAKCgp0aGlzIGUtbWFpbCAoaW5j bHVkaW5nIGFueSBhdHRhY2htZW50cykgZnJvbSB5b3VyIHN5c3RlbSwgYW5kIApkbyBub3QKCgpk aXNjbG9zZSB0aGUgY29udGVudCBvZiB0aGlzIGUtbWFpbCB0byBhbnkgb3RoZXIgcGVyc29uLiBU aGFuayB5b3UgCmZvciB5b3VyIGNvb3BlcmF0aW9uLgoKCgoKCgotLSAKX1RoaXMgZS1tYWlsIG1l c3NhZ2UgKGluY2x1ZGluZyBhbnnCoGF0dGFjaG1lbnRzKSBtYXkgYmUgY29uZmlkZW50aWFsLCAK cHJvcHJpZXRhcnksIHByaXZpbGVnZWQsIG9yIG90aGVyd2lzZcKgZXhlbXB0IGZyb20gZGlzY2xv c3VyZSB1bmRlciAKYXBwbGljYWJsZSBsYXdzLiBJZiB5b3UgYXJlIG5vdCBhbiBpbnRlbmRlZCBy ZWNpcGllbnQsIHBsZWFzZSBkZWxldGUgdGhpcyAKbWVzc2FnZS4gVGhhbmsgeW91LgpfCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpSQVVDIG1haWxpbmcg bGlzdA==