From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: Re: [RFC v2 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info Date: Thu, 07 Jun 2018 01:08:53 +0200 Message-ID: <2914378.AXdhFauEaS@phil> References: <20171205103356.9917-1-architt@codeaurora.org> <14557207.bzvjUjXvdQ@diego> <54f4e580-3337-58d6-9458-2f4045c22fd7@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <54f4e580-3337-58d6-9458-2f4045c22fd7@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja Cc: devicetree@vger.kernel.org, boris.brezillon@free-electrons.com, linux-arm-msm@vger.kernel.org, tomi.valkeinen@ti.com, briannorris@chromium.org, philippe.cornu@st.com, dri-devel@lists.freedesktop.org, nickey.yang@rock-chips.com, robh+dt@kernel.org, thierry.reding@gmail.com, laurent.pinchart@ideasonboard.com, maxime.ripard@free-electrons.com List-Id: devicetree@vger.kernel.org QW0gTWl0dHdvY2gsIDYuIEp1bmkgMjAxOCwgMTg6MDc6NDYgQ0VTVCBzY2hyaWViIEFyY2hpdCBU YW5lamE6Cj4gCj4gT24gV2VkbmVzZGF5IDA2IEp1bmUgMjAxOCAwNDoxNiBQTSwgSGVpa28gU3TD vGJuZXIgd3JvdGU6Cj4gPiBIaSBBcmNoaXQsCj4gPiAKPiA+IEFtIE1pdHR3b2NoLCA2LiBKdW5p IDIwMTgsIDEyOjIxOjE2IENFU1Qgc2NocmllYiBBcmNoaXQgVGFuZWphOgo+ID4+IE9uIFdlZG5l c2RheSAwNiBKdW5lIDIwMTggMDI6MDAgUE0sIEhlaWtvIFN0w7xibmVyIHdyb3RlOgo+ID4+PiBB bSBNaXR0d29jaCwgNi4gSnVuaSAyMDE4LCAwNzo1OToyOSBDRVNUIHNjaHJpZWIgQXJjaGl0IFRh bmVqYToKPiA+Pj4+IE9uIE1vbmRheSAwNCBKdW5lIDIwMTggMDU6NDcgUE0sIEhlaWtvIFN0dWVi bmVyIHdyb3RlOgo+ID4+Pj4+IEFtIERvbm5lcnN0YWcsIDE4LiBKYW51YXIgMjAxOCwgMDU6NTM6 NTUgQ0VTVCBzY2hyaWViIEFyY2hpdCBUYW5lamE6Cj4gPj4+Pj4+IEFkZCBiaW5kaW5nIGluZm8g Zm9yIHBlcmlwaGVyYWxzIHRoYXQgc3VwcG9ydCBkdWFsLWNoYW5uZWwgRFNJLiBBZGQKPiA+Pj4+ Pj4gY29ycmVzcG9uZGluZyBvcHRpb25hbCBiaW5kaW5ncyBmb3IgRFNJIGhvc3QgY29udHJvbGxl cnMgdGhhdCBtYXkKPiA+Pj4+Pj4gYmUgY29uZmlndXJlZCBpbiB0aGlzIG1vZGUuIEFkZCBhbiBl eGFtcGxlIG9mIGFuIEkyQyBjb250cm9sbGVkCj4gPj4+Pj4+IGRldmljZSBvcGVyYXRpbmcgaW4g ZHVhbC1jaGFubmVsIERTSSBtb2RlLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBB cmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgo+ID4+Pj4+Cj4gPj4+Pj4gTG9v a3MgbGlrZSBhIGdyZWF0IHNvbHV0aW9uIGZvciB0aGF0IHByb2JsZW0sIHNvCj4gPj4+Pj4gUmV2 aWV3ZWQtYnk6IEhlaWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+Cj4gPj4+Pj4KPiA+Pj4+ PiBBcyBJJ20gbG9va2luZyBpbnRvIHRoYXQgZm9yIG15IHJrMzM5OS1zY2FybGV0IGRldmljZSBy aWdodCBub3cgYW5kCj4gPj4+Pj4gY291bGRuJ3QgZmluZCB0aGlzIHBhdGNoc2V0IGluIHRoZSBr ZXJuZWwgeWV0LCBpcyBpdCBwbGFubmVkIHRvCj4gPj4+Pj4gbWVyZ2Ugb3IgcmVmcmVzaCB0aGVz ZSBiaW5kaW5nIGNoYW5nZXMgb3Igd2VyZSBwcm9ibGVtcyBlbmNvdW50ZXJlZC4KPiA+Pj4+Pgo+ ID4+Pj4+IEF0IGxlYXN0IGFuIEFjay9SZXZpZXcgZnJvbSBSb2Igc2VlbXMgdG8gYmUgbWlzc2lu Zy4KPiA+Pj4+Cj4gPj4+PiBJIGZvcmdvdCBhYm91dCB0aGVzZSBwYXRjaGVzLiBSb2IgaGFkIHJl dmlld2VkIHRoZSBmaXJzdCBvbmUgaW4KPiA+Pj4+IHRoZSBzZXQgdGhlIHNlY29uZCBvbmUgc3Rp bGwgbmVlZGVkIGFuIEFjay4gSSdsbCBwb3N0IGEgdjMKPiA+Pj4+IHRoYXQgYWRkcyB0aGUgUmV2 aWV3ZWQtYnlzIGFuZCBmaXhlcyBhIHNtYWxsIHR5cG8uCj4gPj4+Cj4gPj4+IHZlcnkgbmljZSAu Li4gYmVjYXVzZSBpdCBsb29rcyBsaWtlIHllc3RlcmRheSBJIG1hbmFnZWQgdG8gbWFrZSB0aGUK PiA+Pj4gUm9ja2NoaXAgZHNpIHdvcmsgaW4gZHVhbCBtb2RlIGZvbGxvd2luZyB0aGlzLgo+ID4+ Pgo+ID4+PiBCdXQgb25lIHF1ZXN0aW9uIGNhbWUgdXAsIGRvIHlvdSByZWFsbHkgd2FudCB0d28g aW5wdXQgcG9ydHMgb24gdGhlIHBhbmVsCj4gPj4+IHNpZGU/IEkuZS4gaGFyZHdhcmUtd2lzZSwg SSBndWVzcyB0aGUgcGFuZWwgd2lsbCBoYXZlIG9uZSA4LWxhbmUgb3Igc28KPiA+Pj4gaW5wdXQg dGhhdG9ubHkgZ2V0cyBzcGxpdCB1cCBvbiB0aGUgc29jIHNpZGUgb250byAyIGRzaSBjb250cm9s bGVycz8KPiA+Pgo+ID4+IEkgdGhpbmsgYWxsIGR1YWwgRFNJIHBhbmVscyBhY3R1YWxseSBoYXZl IDIgRFNJIGNvbnRyb2xsZXJzL3BhcnNlcnMKPiA+PiB3aXRoaW4gdGhlbSwgb25lIG9uIGVhY2gg cG9ydC4gVGhlIE1JUEkgRFNJIHNwZWMgZG9lc24ndCBzdXBwb3J0IDgKPiA+PiBsYW5lcy4gQWxz bywgdGhlIHBpeGVscyBjb21pbmcgb3V0IG9mIHRoZSBob3N0IGFyZSBkaXN0cmlidXRlZCBhbW9u Zwo+ID4+IHRoZSBsYW5lcyBkaWZmZXJlbnRseSB0aGFuIHdoYXQgd291bGQgaGF2ZSBiZWVuIHRo ZSBjYXNlIHdpdGggYQo+ID4+ICd0aGVvcmV0aWNhbCcgOCBsYW5lIHJlY2VpdmVyLgo+ID4+Cj4g Pj4gT3RoZXIgdGhhbiB0aGF0LCBzb21lIGR1YWwgRFNJIHBhbmVscyBvbmx5IGFjY2VwdCBEU0kg Y29tbWFuZHMgb24gdGhlCj4gPj4gJ21hc3RlcicgcG9ydCwgd2hlcmUgYXMgb3RoZXJzIGV4cGVj dCB0aGUgc2FtZSBjb21tYW5kIHRvIGJlIHNlbnQgYWNyb3NzCj4gPj4gYm90aCB0aGUgcG9ydHMu Cj4gPj4KPiA+PiBUaGVyZWZvcmUsIEkgdGhpbmsgaXQncyBiZXR0ZXIgdG8gcmVwcmVzZW50IGR1 YWwgRFNJIHBhbmVscyBoYXZpbmcgMgo+ID4+IERTSSBpbnB1dCBwb3J0cy4KPiA+Pgo+ID4+IFlv dXIgRFQgbG9va3MgZ29vZCB0byBtZS4KPiA+IAo+ID4gSG1tLCB0aGF0IGRvZXNuJ3QgbWF0Y2gg dXAgdGhlbiA7LSkgLi4uIGFzIG15IGR0IHVzZXMgMiBlbmRwb2ludHMKPiA+IGluIG9uZSBwb3J0 IGZvciB0aGUgZHNpLWxpbmtzLgo+ID4gCj4gCj4gU29ycnksIEkgZGlkbid0IG5vdGljZSB5b3Un ZCBjcmVhdGVkIHR3byBlbmRwb2ludHMgd2l0aGluIGEgc2luZ2xlIHBvcnQuCj4gCj4gSSBkb24n dCB0aGluayBJJ20gcGFydGljdWxhciBhYm91dCAyIHBvcnRzIHZzIDEgcG9ydCB3aXRoIDIgZW5k cG9pbnRzLgo+IFRoZXkgYm90aCBzZWVtIG9rYXkgdG8gbWUgYXMgbG9uZyBhcyB3ZSBmb2xsb3cg aXQgY29uc2lzdGVudGx5LiBJJ20KPiBteXNlbGYgbm90IDEwMCUgc3VyZSBvZiBob3cgdG8gZmln dXJlIHdoZXJlIG9uZSBzaG91bGQgcHJlZmVyIGVuZHBvaW50cwo+IG92ZXIgcG9ydHMuIE1heWJl IHNvbWVvbmUgbW9yZSBmYW1pbGlhciB3aXRoIHRoZSBvZiBncmFwaCBiaW5kaW5ncwo+IGNvdWxk IGNvbW1lbnQgaGVyZS4KPiAKPiAKPiA+IFRoZSBpc3N1ZSBJIHNlZSB3aXRoIHVzaW5nIHBvcnRz IGFuZCBub3QgZW5kcG9pbnRzIGZvciBkdWFsLWRzaSBsaW5rcwo+ID4gaXMgd2l0aCBkaXN0aW5n dWlzaGluZyBiZXR3ZWVuIGlucHV0IGFuZCBvdXRwdXQgcG9ydHMuCj4gPiAKPiA+IEZvciBhIHBh bmVsIHRoYXQncyBlYXN5LCBhcyB5b3UgZXZlcnkgcG9ydCB3aWxsIGJlIGFuIGlucHV0IHBvcnQg YW5kIGlmCj4gPiB5b3UgaGF2ZSAyLCBpdCdzIHN1cHBvc2VkIGR1YWwtZHNpLiBCdXQgZm9yIGV4 YW1wbGUgSSBndWVzcyB0aGVyZSBtaWdodAo+ID4gZXhpc3Qgc29tZSBkdWFsLWRzaS10by1zb21l dGhpbmcgYnJpZGdlcywgd2hlcmUgeW91IHdvdWxkIGVuZCB1cAo+ID4gd2l0aCBzYXkgMyAob3Ig ZXZlbiBtb3JlKSBwb3J0cyAuLi4gdHdvIGR1YWwtZHNpIGlucHV0cyBhbmQgMSBvciBtb3JlCj4g PiBvdXRwdXRzLgo+IAo+IE9rYXksIEkgZ2V0IHlvdXIgcG9pbnQgaGVyZS4gQWx0aG91Z2gsIGV2 ZW4gaWYgdGhlIHJlbW90ZSBkZXZpY2UgaGFkCj4gZXhhY3RseSAyIHBvcnRzLiBJcyBpdCBzYWZl IHRvIGFzc3VtZSB0aGF0IHBvcnQgIzAgaXMgYW4gaW5wdXQgcG9ydCBhbmQKPiBwb3J0ICMxIGlz IGFuIG91dHB1dCBwb3J0PyBJcyB0aGF0IHRoZSBub3JtPwoKSSBkb24ndCB0aGluayB0aGF0IGFu eXRoaW5nIGxpa2UgdGhhdCBpcyBzcGVjaWZpZWQgYW55d2hlcmUsIHNvIHlvdSBjYW5ub3QKYXNz dW1lIGFueXRoaW5nIGFib3V0IHdoYXQgYSBwb3J0IGNvbnRhaW5zLgoKCj4gSSd2ZSBhdCBsZWFz dCBzZWVuIG9uZSBkZXZpY2UgKHRvc2hpYmEsdGMzNTg3NjcgYnJpZGdlKSB0aGF0IGNhbiAKPiBh Y3R1YWxseSB0YWtlIGVpdGhlciBEUEkgYXMgaW5wdXQgb3IgRFNJIGJhc2VkIG9uIGhvdyB5b3Ug Y29uZmlndXJlIGl0Lgo+IFRoZXJlIGFyZSAyIGlucHV0IHBvcnRzIGhlcmUsIHBvcnQgIzAgZm9y IERTSSBhbmQgcG9ydCAjMSBmb3IgRFBJLiBXb3VsZAo+IGl0IGhhdmUgbWFkZSBzZW5zZSBoZXJl IHRvIGhhdmUgYSBzaW5nbGUgcG9ydCBhbmQgMiBlbmRwb2ludHMgaGVyZSB0b28/CgpOb3BlLCBJ IGd1ZXNzIGhhdmluZyBhIHBvcnQgZm9yIERQSSBpbnB1dCwgb25lIHBvcnQgZm9yIERTSSBpbnB1 dCBtYWtlcwpxdWl0ZSBhIGxvdCBvZiBzZW5zZS4gQW5kIHRoZW4geW91IGNhbiBoYXZlIHRoZSBp bnB1dC1zcGVjaWZpY3MgbGl2aW5nIGluCnRoZSBlbmRwb2ludHMgbGlrZSBkdWFsIGxpbmtzIG9y IHNvLgoKCj4gPiBXaGlsZSB0aGUgZm9sbG93aW5nIGFyZ3VtZW50IG1pZ2h0IG5vdCBiZSAxMDAl IHZhbGlkIGZyb20gYSBkdC1wdXJpdHkKPiA+IHN0YW5kcG9pbnQgaW1wbGVtZW50aW5nIHRoaXMg bWlnaHQgZ2V0IGhhaXJ5IGZvciBfYW55XyBvcGVyYXRpbmcgc3lzdGVtLAo+ID4gYXMgeW91IHdp bGwgbmVlZCBlYWNoIHBhbmVsL2JyaWRnZSB0byB0ZWxsIHdoYXQgdGhlIHBvcnRzIGFyZSB1c2Vk IGZvci4KPiAKPiBZZWFoLgo+IAo+ID4gCj4gPiBJLmUuIGluIG15IGVuZHBvaW50IGJhc2VkIG1h cHBpbmcsIHJpZ2h0IG5vdyBJIGhhdmUgdGhpcyBuaWNlIGFuZCBnZW5lcmljCj4gPiBXSVAgZnVu Y3Rpb24gdG8gcGFyc2UgdGhlIG9mX2dyYXBoIGFuZCBnZXQgdGhlIG1hc3RlcitzbGF2ZSBub2Rl czoKPiA+IAo+ID4gaHR0cHM6Ly9naXRodWIuY29tL21taW5kL2xpbnV4LXJvY2tjaGlwL2Jsb2Iv dG1wL3JrMzM5OS1ncnUtYm9iLXNjYXJsZXQvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1p cGktZHNpLXJvY2tjaGlwLmMjTDY5Nwo+ID4gWzBdCj4gCj4gSSdkIHRyaWVkIG91dCBzb21ldGhp bmcgbG9jYWxseSBiZWZvcmUgcG9zdGluZyB0aGlzIHBhdGNoLCBJIGRvbid0IGhhdmUKPiB0aGUg Y29kZSBmb3IgaXQsIGJ1dCBJIGNhbiBkZXNjcmliZSB0aGUgc3RlcHMgSSB0b29rLiBUaGlzIGNv ZGUgZXhwZWN0cwo+IHRoZSBwYW5lbC9icmlkZ2UgdG8gaGF2ZSAyIGlucHV0IHBvcnRzLgoKV2hp Y2ggYWdhaW4gd291bGQgYmUgdmVyeSBtdWNoIHBhbmVsLXNwZWNpZmljIGFzIHlvdSBjYW5ub3Qg YXNzdW1lCnRvIG11Y2ggYWJvdXQgdGhlIHBvcnRzLgoKCj4gMS4gRFNJMCBob3N0IGRyaXZlciBs b29rcyB1cCBpdHMgb3V0cHV0IHBvcnQsIGdldHMgdGhlIHJlbW90ZSBlbmRwb2ludCwKPiBhbmQg Z2V0IHRoaXMgZW5kcG9pbnQncyBwYXJlbnQgKHVzaW5nCj4gb2ZfZ3JhcGhfZ2V0X3JlbW90ZV9w b3J0X3BhcmVudCgpKS4gS2VlcHMgdGhlIHBhcmVudCBkZXZpY2Ugbm9kZSBpbiBhCj4gdGVtcCB2 YXJpYWJsZS4KPiAKPiAyLiBEU0kxIGhvc3QgZHJpdmVyIGRvZXMgdGhlIHNhbWUgdGhpbmcuCj4g Cj4gMy4gRFNJMCBhbmQgRFNJMSBjaGVjayB3aGV0aGVyIHRoZWlyIG91dHB1dHMgYXJlIGNvbm5l Y3RlZCB0byB0aGUKPiBzYW1lIGRldmljZS4gSWYgc28sIHRoZXkncmUgaW4gZHVhbCBEU0kgbW9k ZS4gSWYgbm90LCB0aGV5IGFyZQo+IG9wZXJhdGluZyBpbmRlcGVuZGVudGx5Lgo+IAo+IFRoZSBw b3NpdGl2ZSBvZiB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBtYWtlIGFu eQo+IGFzc3VtcHRpb25zIGFib3V0IHRoZSBwYW5lbC9icmlkZ2UncyBwb3J0IG51bWJlcnMsIHdo aWNoIGlzIGdyZWF0Lgo+IFRoZSBuZWdhdGl2ZSBpcyB0aGF0IG91ciBEU0kgY29udHJvbGxlciBp bnN0YW5jZXMgbm93IG5lZWQgdG8gcXVlcnkKPiBlYWNoIG90aGVyLCB3aGljaCBjYW4gYmUgbWVz c3ksIGJ1dCBub3QgdG9vIGhhcmQgdG8gaW1wbGVtZW50Lgo+IAo+IEkgdGhpbmsgdGhlIGNob2lj ZSBmaW5hbGx5IGJvaWxzIGRvd24gdG8gd2hhdCBtYWtlcyBtb3JlIHNlbnNlIHcuci50Cj4gcmVw cmVzZW50aW5nIHRoZSBIVyBjb3JyZWN0bHkuIFdlJ2QgbmVlZCBSb2IncyBjb21tZW50IG9uIHRo YXQuCgpUYWtpbmcgeW91ciBEUEkrRFNJIGV4YW1wbGUgZnJvbSBhYm92ZSBhY3R1YWxseSBzaG93 cyBxdWl0ZSBuaWNlbHkKaG93IHBvcnRzK2VuZHBvaW50cyBjb3VsZCBwbGF5IHRvZ2V0aGVyLgoK cGFuZWwtb3ItYnJpZGdlQDAgewoJY29tcGF0aWJsZSA9ICJzb21ldGhpbmcsc29tZXRoaW5nIjsK CXJlZyA9IDwwPjsKCglwb3J0cyB7CgkJLyogRFBJIGlucHV0ICovCgkJcG9ydEAwIHsKCQkJZW5k cG9pbnQgewoJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZkcGlfb3V0PjsKCQkJfTsKCQl9OwoKCQkv KiBEU0kgaW5wdXQgKi8KCQlwb3J0QDEgewoJCQkvKiBmcm9tIGZpcnN0IGRzaSBjb250cm9sbGVy ICovCgkJCWVuZHBvaW50QDAgewoJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZkc2kwX291dD47CgkJ CX07CgoJCQkvKiBmcm9tIHNlY29uZCBkc2kgY29udHJvbGxlciAqLwoJCQllbmRwb2ludEAxIHsK CQkJCXJlbW90ZS1lbmRwb2ludCA9IDwmZHNpMV9vdXQ+OwoJCQl9OwoJCX07CgoJCS8qIGFub3Ro ZXIgaW5wdXQsIG9yIGFuIG91dHB1dCBmb3IgYSBicmlkZ2UgKi8KCQlwb3J0QDIgewoJCQllbmRw b2ludCB7CgkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnNvbWV3aGVyZT47CgkJCX0KCQl9OwoJfTsK fTsKCkJ1dCB5ZWFoLCBob3BlZnVsbHkgd2UgY2FuIGVudGljZSBSb2IgZm9yIGNvbW1lbnRzIDot KSAuCgpIZWlrbwoKPiBUaGFua3MsCj4gQXJjaGl0Cj4gCj4gPiAKPiA+IFNvIEkgZ3Vlc3MgbXkg cHJvcG9zYWwgd291bGQgYmUgdG8gaGF2ZSBvbmUgcG9ydCBmb3IgaW5wdXRzCj4gPiBhbmQgb25l IHBvcnQgZm9yIG91dHB1dHMgZm9yIGRzaSBwZXJpcGhlcmFscywgd2l0aCBwb3NzaWJseQo+ID4g bXVsdGlwbGUgZW5kcG9pbnRzIGluIGVhY2guCj4gPiAKPiA+IAo+ID4gSGVpa28KPiA+IAo+ID4g Cj4gPiBbMF0gZ2l0aHViIHNlZW1zIHRvIGhhdmUgcmVsaWFiaWxpdHkgcHJvYmxlbXMsIHNvIGZv ciByZWZlcmVuY2UgbXkKPiA+IHBhcnNpbmcgZnVuY3Rpb246Cj4gPiAKPiA+IHN0YXRpYyBpbnQg ZHdfbWlwaV9kc2lfaXNfZHVhbChzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgKmRzaSwKPiA+ IAkJCXN0cnVjdCBkZXZpY2Vfbm9kZSAqKm1hc3Rlciwgc3RydWN0IGRldmljZV9ub2RlICoqc2xh dmUpCj4gPiB7Cj4gPiAJc3RydWN0IGRldmljZV9ub2RlICpsb2NhbF9lcCwgKnJlbW90ZV9wb3J0 LCAqZXA7Cj4gPiAJc3RydWN0IGRldmljZV9ub2RlICpjdHJsc1syXSA9IHsgTlVMTCwgTlVMTCB9 Owo+ID4gCWludCBudW0gPSAwLCByZXQgPSAwLCBpZHg7Cj4gPiAKPiA+IAkvKiBnZXQgbG9jYWwg cGFuZWwgZW5kcG9pbnQgb2YgdGhlIGRzaSBjb250cm9sbGVyICovCj4gPiAJbG9jYWxfZXAgPSBv Zl9ncmFwaF9nZXRfZW5kcG9pbnRfYnlfcmVncyhkc2ktPmRldi0+b2Zfbm9kZSwgMSwgMCk7Cj4g PiAJaWYgKCFsb2NhbF9lcCkgewo+ID4gCQlEUk1fREVWX0VSUk9SKGRzaS0+ZGV2LCAiY291bGRu J3QgZmluZCBsb2NhbCBwYW5lbCBlbmRwb2ludFxuIik7Cj4gPiAJCXJldHVybiAtRU5YSU87Cj4g PiAJfQo+ID4gCj4gPiAJLyogZ2V0IHBhbmVsIHBvcnQgKi8KPiA+IAlyZW1vdGVfcG9ydCA9IG9m X2dyYXBoX2dldF9yZW1vdGVfcG9ydF9wYXJlbnQobG9jYWxfZXApOwo+ID4gCW9mX25vZGVfcHV0 KGxvY2FsX2VwKTsKPiA+IAlpZiAoIXJlbW90ZV9wb3J0KSB7Cj4gPiAJCURSTV9ERVZfRVJST1Io ZHNpLT5kZXYsICJjb3VsZG4ndCBmaW5kIHBhbmVsIHBvcnRcbiIpOwo+ID4gCQlyZXR1cm4gLUVO WElPOwo+ID4gCX0KPiA+IAo+ID4gCS8qIGNoZWNrIG90aGVyIGVuZHBvaW50cyAqLwo+ID4gCWZv cl9lYWNoX2VuZHBvaW50X29mX25vZGUocmVtb3RlX3BvcnQsIGVwKSB7Cj4gPiAJCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqbnAgPSBvZl9ncmFwaF9nZXRfcmVtb3RlX3BvcnRfcGFyZW50KGVwKTsKPiA+ IAo+ID4gCQlpZiAoIW5wKQo+ID4gCQkJY29udGludWU7Cj4gPiAKPiA+IAkJaWR4ID0gb2ZfcHJv cGVydHlfcmVhZF9ib29sKG5wLCAiY2xvY2stbWFzdGVyIik7Cj4gPiAKPiA+IAkJLyoKPiA+IAkJ ICogRWl0aGVyIG1hc3RlciBvciBzbGF2ZSBhbHJlYWR5IGRlZmluZWQsIGRyb3AgcmVmY250Cj4g PiAJCSAqIGJ1dCBjYXRjaCBlcnJvcnMgb25seSBhZnRlciB0aGUgZnVsbCBsb29wLgo+ID4gCQkg Ki8KPiA+IAkJaWYgKGN0cmxzW2lkeF0pCj4gPiAJCQlvZl9ub2RlX3B1dChucCk7Cj4gPiAJCWVs c2UKPiA+IAkJCWN0cmxzW2lkeF0gPSBucDsKPiA+IAo+ID4gCQludW0rKzsKPiA+IAl9Cj4gPiAJ b2Zfbm9kZV9wdXQocmVtb3RlX3BvcnQpOwo+ID4gCj4gPiAJaWYgKG51bSA+IDIpIHsKPiA+IAkJ RFJNX0RFVl9FUlJPUihkc2ktPmRldiwgInRvbyBtYW55IGRzaSBkZXZpY2VzIGxpbmtlZFxuIik7 Cj4gPiAJCXJldCA9IC1FSU5WQUw7Cj4gPiAJCWdvdG8gY2xlYW51cDsKPiA+IAl9Cj4gPiAKPiA+ IAkvKiBub3RoaW5nIHRvIGRvICovCj4gPiAJaWYgKG51bSA8IDEpIHsKPiA+IAkJcmV0ID0gMDsK PiA+IAkJZ290byBjbGVhbnVwOwo+ID4gCX0KPiA+IAo+ID4gCWlmICghY3RybHNbMV0pIHsKPiA+ IAkJRFJNX0RFVl9FUlJPUihkc2ktPmRldiwgIm5vIG1hc3RlciBkZWZpbmVkIGluIGR1YWwtZHNp XG4iKTsKPiA+IAkJcmV0ID0gLUVOT0RFVjsKPiA+IAkJZ290byBjbGVhbnVwOwo+ID4gCX0KPiA+ IAo+ID4gCWlmICghY3RybHNbMF0pIHsKPiA+IAkJRFJNX0RFVl9FUlJPUihkc2ktPmRldiwgIm5v IHNsYXZlIGRlZmluZWQgaW4gZHVhbC1kc2lcbiIpOwo+ID4gCQlyZXQgPSAtRU5PREVWOwo+ID4g CQlnb3RvIGNsZWFudXA7Cj4gPiAJfQo+ID4gCj4gPiAJKm1hc3RlciA9IGN0cmxzWzFdOwo+ID4g CSpzbGF2ZSA9IGN0cmxzWzBdOwo+ID4gCj4gPiAJcmV0dXJuIDE7Cj4gPiAKPiA+IGNsZWFudXA6 Cj4gPiAJZm9yIChpZHggPSAwOyBpZHggPCAyOyBpZHgrKykKPiA+IAkJaWYgKGN0cmxzW2lkeF0p Cj4gPiAJCQlvZl9ub2RlX3B1dChjdHJsc1tpZHhdKTsKPiA+IAlyZXR1cm4gcmV0Owo+ID4gfQo+ ID4gCj4gPj4+IFNvIHJpZ2h0IG5vdyBJJ20gb3BlcmF0aW5nIHdpdGggYSBkZXZpY2V0cmVlIGxp a2UKPiA+Pj4KPiA+Pj4gJm1pcGlfZHNpIHsKPiA+Pj4KPiA+Pj4gICAgICAgICAgIHN0YXR1cyA9 ICJva2F5IjsKPiA+Pj4gICAgICAgICAgIGNsb2NrLW1hc3RlcjsKPiA+Pj4gICAgICAgICAgIAo+ ID4+PiAgICAgICAgICAgcG9ydHMgewo+ID4+PiAgICAgICAgICAgCj4gPj4+ICAgICAgICAgICAg ICAgICAgIG1pcGlfb3V0OiBwb3J0QDEgewo+ID4+PiAgICAgICAgICAgICAgICAgICAKPiA+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MT47Cj4gPj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlwaV9vdXRfcGFu ZWw6IGVuZHBvaW50IHsKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZS1lbmRwb2ludCA9IDwmbWlwaV9p bl9wYW5lbD47Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgfTsKPiA+Pj4gICAgICAgICAgICAgICAgICAgCj4gPj4+ICAgICAg ICAgICAgICAgICAgIH07Cj4gPj4+ICAgICAgICAgICAKPiA+Pj4gICAgICAgICAgIH07Cj4gPj4+ ICAgICAgICAgICAKPiA+Pj4gICAgICAgICAgIG1pcGlfcGFuZWw6IHBhbmVsQDAgewo+ID4+PiAJ CQo+ID4+PiAJCSAgY29tcGF0aWJsZSA9ICJpbm5vbHV4LHAwOTdwZmciOwo+ID4+PiAJCQo+ID4+ PiAgICAgICAgICAgICAgICAgICByZWcgPSA8MD47Cj4gPj4+ICAgICAgICAgICAgICAgICAgIGJh Y2tsaWdodCA9IDwmYmFja2xpZ2h0PjsKPiA+Pj4gICAgICAgICAgICAgICAgICAgZW5hYmxlLWdw aW9zID0gPCZncGlvNCAyNSBHUElPX0FDVElWRV9ISUdIPjsKPiA+Pj4gICAgICAgICAgICAgICAg ICAgcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiA+Pj4gICAgICAgICAgICAgICAgICAgcGlu Y3RybC0wID0gPCZkaXNwbGF5X3JzdF9sPjsKPiA+Pj4gICAgICAgICAgICAgICAgICAgCj4gPj4+ ICAgICAgICAgICAgICAgICAgIHBvcnQgewo+ID4+PiAgICAgICAgICAgICAgICAgICAKPiA+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiA+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwwPjsKPiA+Pj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICBtaXBpX2lu X3BhbmVsOiBlbmRwb2ludEAwIHsKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwwPjsKPiA+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZS1lbmRwb2ludCA9IDwmbWlwaV9v dXRfcGFuZWw+Owo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgIH07Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4g Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlwaTFfaW5fcGFuZWw6IGVuZHBvaW50QDEg ewo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVnID0gPDE+Owo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVtb3RlLWVuZHBvaW50ID0gPCZtaXBpMV9vdXRfcGFuZWw+Owo+ID4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg IH07Cj4gPj4+ICAgICAgICAgICAgICAgICAgIAo+ID4+PiAgICAgICAgICAgICAgICAgICB9Owo+ ID4+PiAgICAgICAgICAgCj4gPj4+ICAgICAgICAgICB9Owo+ID4+Pgo+ID4+PiB9Owo+ID4+Pgo+ ID4+PiAmbWlwaV9kc2kxIHsKPiA+Pj4KPiA+Pj4gICAgICAgICAgIHN0YXR1cyA9ICJva2F5IjsK PiA+Pj4gICAgICAgICAgIAo+ID4+PiAgICAgICAgICAgcG9ydHMgewo+ID4+PiAgICAgICAgICAg Cj4gPj4+ICAgICAgICAgICAgICAgICAgIG1pcGkxX291dDogcG9ydEAxIHsKPiA+Pj4gICAgICAg ICAgICAgICAgICAgCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDE+Owo+ ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1pcGkxX291dF9wYW5lbDogZW5kcG9pbnQgewo+ID4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgIAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3Rl LWVuZHBvaW50ID0gPCZtaXBpMV9pbl9wYW5lbD47Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKPiA+Pj4gICAgICAgICAg ICAgICAgICAgCj4gPj4+ICAgICAgICAgICAgICAgICAgIH07Cj4gPj4+ICAgICAgICAgICAKPiA+ Pj4gICAgICAgICAgIH07Cj4gPj4+Cj4gPj4+IH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IEkgZ3Vlc3Mg aXQgaXMgYSBtYXR0ZXIgb2YgcHJlZmVyZW5jZSBvbiB3aGF0IHJlZmxlY3RzIHRoZSBoYXJkd2Fy ZQo+ID4+PiBiZXN0LCBzbyBtYXliZSB0aGF0J3MgUm9icyBjYWxsPwo+ID4+Pgo+ID4+Pgo+ID4+ PiBIZWlrbwo+ID4+Pgo+ID4+Pj4+PiAtLS0KPiA+Pj4+Pj4gdjI6Cj4gPj4+Pj4+IC0gU3BlY2lm eSB0aGF0IGNsb2NrLW1hc3RlciBpcyBhIGJvb2xlYW4gcHJvcGVydHkuCj4gPj4+Pj4+IC0gRHJv cC9hZGQgdW5pdC1hZGRyZXNzIGFuZCAjKi1jZWxscyB3aGVyZSBhcHBsaWNhYmxlLgo+ID4+Pj4+ Pgo+ID4+Pj4+PiAgICAgLi4uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9taXBpLWRzaS1i dXMudHh0ICAgfCA4MAo+ID4+Pj4+PiAgICAgKysrKysrKysrKysrKysrKysrKysrKyAxIGZpbGUg Y2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKQo+ID4+Pj4+Pgo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEv RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWlwaS1kc2ktYnVzLnR4 dAo+ID4+Pj4+PiBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21p cGktZHNpLWJ1cy50eHQgaW5kZXgKPiA+Pj4+Pj4gOTRmYjcyY2I5MTZmLi43YTNhYmJlZGIzZmEg MTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21pcGktZHNpLWJ1cy50eHQKPiA+Pj4+Pj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWlwaS1kc2ktYnVzLnR4dAo+ID4+Pj4+Pgo+ID4+Pj4+ PiBAQCAtMjksNiArMjksMTMgQEAgUmVxdWlyZWQgcHJvcGVydGllczoKPiA+Pj4+Pj4gICAgIC0g I3NpemUtY2VsbHM6IFNob3VsZCBiZSAwLiBUaGVyZSBhcmUgY2FzZXMgd2hlcmUgaXQgbWFrZXMg c2Vuc2UgdG8KPiA+Pj4+Pj4gICAgIHVzZQo+ID4+Pj4+PiAgICAgYQo+ID4+Pj4+PiAgICAgCj4g Pj4+Pj4+ICAgICAgIGRpZmZlcmVudCB2YWx1ZSBoZXJlLiBTZWUgYmVsb3cuCj4gPj4+Pj4+Cj4g Pj4+Pj4+ICtPcHRpb25hbCBwcm9wZXJ0aWVzOgo+ID4+Pj4+PiArLSBjbG9jay1tYXN0ZXI6IGJv b2xlYW4uIFNob3VsZCBiZSBlbmFibGVkIGlmIHRoZSBob3N0IGlzIGJlaW5nIHVzZWQKPiA+Pj4+ Pj4gaW4KPiA+Pj4+Pj4gKyAgY29uanVuY3Rpb24gd2l0aCBhbm90aGVyIERTSSBob3N0IHRvIGRy aXZlIHRoZSBzYW1lIHBlcmlwaGVyYWwuCj4gPj4+Pj4+IEhhcmR3YXJlCj4gPj4+Pj4+ICsgIHN1 cHBvcnRpbmcgc3VjaCBhIGNvbmZpZ3VyYXRpb24gZ2VuZXJhbGx5IHJlcXVpcmVzIHRoZSBkYXRh IG9uIGJvdGgKPiA+Pj4+Pj4gdGhlIGJ1c3NlcyArICB0byBiZSBkcml2ZW4gYnkgdGhlIHNhbWUg Y2xvY2suIE9ubHkgdGhlIERTSSBob3N0Cj4gPj4+Pj4+IGluc3RhbmNlCj4gPj4+Pj4+IGNvbnRy b2xsaW5nIHRoaXMgKyAgY2xvY2sgc2hvdWxkIGNvbnRhaW4gdGhpcyBwcm9wZXJ0eS4KPiA+Pj4+ Pj4gKwo+ID4+Pj4+Pgo+ID4+Pj4+PiAgICAgRFNJIHBlcmlwaGVyYWwKPiA+Pj4+Pj4gICAgID09 PT09PT09PT09PT09Cj4gPj4+Pj4+Cj4gPj4+Pj4+IEBAIC02Miw2ICs2OSwxNiBAQCBwcmltYXJ5 IGNvbnRyb2wgYnVzLCBidXQgYXJlIGFsc28gY29ubmVjdGVkIHRvIGEgRFNJCj4gPj4+Pj4+IGJ1 cyAobW9zdGx5IGZvciB0aGUgZGF0YT4+Cj4gPj4+Pj4+Cj4gPj4+Pj4+ICAgICBwYXRoKS4gQ29u bmVjdGlvbnMgYmV0d2VlbiBzdWNoIHBlcmlwaGVyYWxzIGFuZCBhIERTSSBob3N0IGNhbiBiZQo+ ID4+Pj4+PiAgICAgcmVwcmVzZW50ZWQgdXNpbmcgdGhlIGdyYXBoIGJpbmRpbmdzIFsxXSwgWzJd Lgo+ID4+Pj4+Pgo+ID4+Pj4+PiArUGVyaXBoZXJhbHMgdGhhdCBzdXBwb3J0IGR1YWwgY2hhbm5l bCBEU0kKPiA+Pj4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gPj4+Pj4+ICsKPiA+Pj4+Pj4gK1BlcmlwaGVyYWxzIHdpdGggaGlnaGVyIGJhbmR3aWR0aCBy ZXF1aXJlbWVudHMgY2FuIGJlIGNvbm5lY3RlZCB0byAyCj4gPj4+Pj4+IERTSQo+ID4+Pj4+PiAr YnVzc2VzLiBFYWNoIERTSSBidXMvY2hhbm5lbCBkcml2ZXMgc29tZSBwb3J0aW9uIG9mIHRoZSBw aXhlbCBkYXRhCj4gPj4+Pj4+IChnZW5lcmFsbHkgK2xlZnQvcmlnaHQgaGFsZiBvZiBlYWNoIGxp bmUgb2YgdGhlIGRpc3BsYXksIG9yIGV2ZW4vb2RkCj4gPj4+Pj4+IGxpbmVzIG9mIHRoZSBkaXNw bGF5KS4gK1RoZSBncmFwaCBiaW5kaW5ncyBzaG91bGQgYmUgdXNlZCB0byByZXByZXNlbnQKPiA+ Pj4+Pj4gdGhlIG11bHRpcGxlIERTSSBidXNzZXMgdGhhdCBhcmUgK2Nvbm5lY3RlZCB0byB0aGlz IHBlcmlwaGVyYWwuIEVhY2gKPiA+Pj4+Pj4gRFNJCj4gPj4+Pj4+IGhvc3QncyBvdXRwdXQgZW5k cG9pbnQgY2FuIGJlIGxpbmtlZCB0byArYW4gaW5wdXQgZW5kcG9pbnQgb2YgdGhlIERTSQo+ID4+ Pj4+PiBwZXJpcGhlcmFsLgo+ID4+Pj4+PiArCj4gPj4+Pj4+Cj4gPj4+Pj4+ICAgICBbMV0gRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dyYXBoLnR4dAo+ID4+Pj4+PiAgICAgWzJd IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZWRpYS92aWRlby1pbnRlcmZhY2Vz LnR4dAo+ID4+Pj4+Pgo+ID4+Pj4+PiBAQCAtNzEsNiArODgsOCBAQCBFeGFtcGxlcwo+ID4+Pj4+ Pgo+ID4+Pj4+PiAgICAgICB3aXRoIGRpZmZlcmVudCB2aXJ0dWFsIGNoYW5uZWwgY29uZmlndXJh dGlvbnMuCj4gPj4+Pj4+ICAgICAKPiA+Pj4+Pj4gICAgIC0gKDQpIGlzIGFuIGV4YW1wbGUgb2Yg YSBwZXJpcGhlcmFsIG9uIGEgSTJDIGNvbnRyb2wgYnVzIGNvbm5lY3RlZAo+ID4+Pj4+PiAgICAg d2l0aAo+ID4+Pj4+PiAgICAgdG8KPiA+Pj4+Pj4gICAgIAo+ID4+Pj4+PiAgICAgICBhIERTSSBo b3N0IHVzaW5nIG9mLWdyYXBoIGJpbmRpbmdzLgo+ID4+Pj4+Pgo+ID4+Pj4+PiArLSAoNSkgaXMg YW4gZXhhbXBsZSBvZiAyIERTSSBob3N0cyBkcml2aW5nIGEgZHVhbC1jaGFubmVsIERTSQo+ID4+ Pj4+PiBwZXJpcGhlcmFsLAo+ID4+Pj4+PiArICB3aGljaCB1c2VzIEkyQyBhcyBpdHMgcHJpbWFy eSBjb250cm9sIGJ1cy4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gICAgIDEpCj4gPj4+Pj4+ICAgICAKPiA+ Pj4+Pj4gICAgIAlkc2ktaG9zdCB7Cj4gPj4+Pj4+Cj4gPj4+Pj4+IEBAIC0xNTMsMyArMTcyLDY0 IEBAIEV4YW1wbGVzCj4gPj4+Pj4+Cj4gPj4+Pj4+ICAgICAJCQl9Owo+ID4+Pj4+PiAgICAgCQkK PiA+Pj4+Pj4gICAgIAkJfTsKPiA+Pj4+Pj4gICAgIAkKPiA+Pj4+Pj4gICAgIAl9Owo+ID4+Pj4+ Pgo+ID4+Pj4+PiArCj4gPj4+Pj4+ICs1KQo+ID4+Pj4+PiArCWkyYy1ob3N0IHsKPiA+Pj4+Pj4g KwkJZHNpLWJyaWRnZUAzNSB7Cj4gPj4+Pj4+ICsJCQljb21wYXRpYmxlID0gIi4uLiI7Cj4gPj4+ Pj4+ICsJCQlyZWcgPSA8MHgzNT47Cj4gPj4+Pj4+ICsKPiA+Pj4+Pj4gKwkJCXBvcnRzIHsKPiA+ Pj4+Pj4gKwkJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKPiA+Pj4+Pj4gKwkJCQkjc2l6ZS1jZWxs cyA9IDwwPjsKPiA+Pj4+Pj4gKwo+ID4+Pj4+PiArCQkJCXBvcnRAMCB7Cj4gPj4+Pj4+ICsJCQkJ CXJlZyA9IDwwPjsKPiA+Pj4+Pj4gKwkJCQkJZHNpMF9pbjogZW5kcG9pbnQgewo+ID4+Pj4+PiAr CQkJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZkc2kwX291dD47Cj4gPj4+Pj4+ICsJCQkJCX07Cj4g Pj4+Pj4+ICsJCQkJfTsKPiA+Pj4+Pj4gKwo+ID4+Pj4+PiArCQkJCXBvcnRAMSB7Cj4gPj4+Pj4+ ICsJCQkJCXJlZyA9IDwxPjsKPiA+Pj4+Pj4gKwkJCQkJZHNpMV9pbjogZW5kcG9pbnQgewo+ID4+ Pj4+PiArCQkJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZkc2kxX291dD47Cj4gPj4+Pj4+ICsJCQkJ CX07Cj4gPj4+Pj4+ICsJCQkJfTsKPiA+Pj4+Pj4gKwkJCX07Cj4gPj4+Pj4+ICsJCX07Cj4gPj4+ Pj4+ICsJfTsKPiA+Pj4+Pj4gKwo+ID4+Pj4+PiArCWRzaTAtaG9zdCB7Cj4gPj4+Pj4+ICsJCS4u Lgo+ID4+Pj4+PiArCj4gPj4+Pj4+ICsJCS8qCj4gPj4+Pj4+ICsJCSAqIHRoaXMgRFNJIGluc3Rh bmNlIGRyaXZlcyB0aGUgY2xvY2sgZm9yIGJvdGggdGhlIGhvc3QKPiA+Pj4+Pj4gKwkJICogY29u dHJvbGxlcnMKPiA+Pj4+Pj4gKwkJICovCj4gPj4+Pj4+ICsJCWNsb2NrLW1hc3RlcjsKPiA+Pj4+ Pj4gKwo+ID4+Pj4+PiArCQlwb3J0cyB7Cj4gPj4+Pj4+ICsJCQkuLi4KPiA+Pj4+Pj4gKwo+ID4+ Pj4+PiArCQkJcG9ydCB7Cj4gPj4+Pj4+ICsJCQkJZHNpMF9vdXQ6IGVuZHBvaW50IHsKPiA+Pj4+ Pj4gKwkJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZkc2kwX2luPjsKPiA+Pj4+Pj4gKwkJCQl9Owo+ ID4+Pj4+PiArCQkJfTsKPiA+Pj4+Pj4gKwkJfTsKPiA+Pj4+Pj4gKwl9Owo+ID4+Pj4+PiArCj4g Pj4+Pj4+ICsJZHNpMS1ob3N0IHsKPiA+Pj4+Pj4gKwkJLi4uCj4gPj4+Pj4+ICsKPiA+Pj4+Pj4g KwkJcG9ydHMgewo+ID4+Pj4+PiArCQkJLi4uCj4gPj4+Pj4+ICsKPiA+Pj4+Pj4gKwkJCXBvcnQg ewo+ID4+Pj4+PiArCQkJCWRzaTFfb3V0OiBlbmRwb2ludCB7Cj4gPj4+Pj4+ICsJCQkJCXJlbW90 ZS1lbmRwb2ludCA9IDwmZHNpMV9pbj47Cj4gPj4+Pj4+ICsJCQkJfTsKPiA+Pj4+Pj4gKwkJCX07 Cj4gPj4+Pj4+ICsJCX07Cj4gPj4+Pj4+ICsJfTsKPiA+Pj4+Pgo+ID4+Pj4+IC0tCj4gPj4+Pj4g VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJl IGxpbnV4LWFybS1tc20iCj4gPj4+Pj4gaW4KPiA+Pj4+PiB0aGUgYm9keSBvZiBhIG1lc3NhZ2Ug dG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwo+ID4+Pj4+IE1vcmUgbWFqb3Jkb21vIGluZm8g YXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo+ID4gCj4gPiAK PiA+IAo+ID4gCj4gPiAtLQo+ID4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQg dGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LWFybS1tc20iIGluCj4gPiB0aGUgYm9keSBvZiBh IG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwo+ID4gTW9yZSBtYWpvcmRvbW8g aW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCj4gPiAK PiAKPiAKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=