From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 48/55] drm/i915: Add *_ring_begin() to request allocation Date: Wed, 17 Jun 2015 15:31:59 +0200 Message-ID: <20150617133159.GX23637@phenom.ffwll.local> References: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> <1432917856-12261-49-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 719376E5A5 for ; Wed, 17 Jun 2015 06:29:15 -0700 (PDT) Received: by wicnd19 with SMTP id nd19so83293586wic.1 for ; Wed, 17 Jun 2015 06:29:14 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1432917856-12261-49-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBNYXkgMjksIDIwMTUgYXQgMDU6NDQ6MDlQTSArMDEwMCwgSm9obi5DLkhhcnJpc29u QEludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25A SW50ZWwuY29tPgo+IAo+IE5vdyB0aGF0IHRoZSAqX3JpbmdfYmVnaW4oKSBmdW5jdGlvbnMgbm8g bG9uZ2VyIGNhbGwgdGhlIHJlcXVlc3QgYWxsb2NhdGlvbgo+IGNvZGUsIGl0IGlzIGZpbmFsbHkg c2FmZSBmb3IgdGhlIHJlcXVlc3QgYWxsb2NhdGlvbiBjb2RlIHRvIGNhbGwgKl9yaW5nX2JlZ2lu KCkuCj4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIHNwYWNlIHJlc2Vy dmVkIGZvciB0aGUgc3Vic2VxdWVudAo+IGk5MTVfYWRkX3JlcXVlc3QoKSBjYWxsIGRvZXMgYWN0 dWFsbHkgZ2V0IHJlc2VydmVkLgo+IAo+IHYyOiBSZW5hbWVkIGZ1bmN0aW9ucyBhY2NvcmRpbmcg dG8gcmV2aWV3IGZlZWRiYWNrIChUb21hcyBFbGYpLgo+IAo+IEZvcjogVklaLTUxMTUKPiBTaWdu ZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgoKU3Rp bGwgaGFzIG15IHF1ZXN0aW9uIG9wZW4gZnJvbSB0aGUgcHJldmlvcyByb3VuZDoKCmh0dHA6Ly9t aWQuZ21hbmUub3JnLzIwMTUwMzIzMDkxMDMwLkdMMTM0OUBwaGVub20uZmZ3bGwubG9jYWwKCk5v dGUgdGhhdCB0aGlzIGlzbid0IGFsbCB0aGF0IHVubGlrZWx5IHdpdGggR3VDIG1vZGUgc2luY2Ug dGhlcmUgdGhlCnJpbmdidWZmZXIgaXMgc3Vic3RhbnRpYWxseSBzbWFsbGVyIChkdWUgdG8gZmly bXdhcmUgbGltaXRhdGlvbnMpIHRoYW4Kd2hhdCB3ZSBhbGxvY2F0ZSBvdXJzZWx2ZXMgcmlnaHQg bm93LgotRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAg ICAgICAgfCAgIDI1ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgICAxNSArKysrKysrKysrKysrKysKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAgIHwgICAgMSArCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8ICAgMjkgKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgICAg MSArCj4gIDUgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggOWYzZTA3MTcuLjEyNjE3OTIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMjY4MCwxOSArMjY4MCwyMCBAQCBpbnQg aTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAJ ICogaTkxNV9hZGRfcmVxdWVzdCgpIGNhbGwgY2FuJ3QgZmFpbC4gTm90ZSB0aGF0IHRoZSByZXNl cnZlIG1heSBuZWVkCj4gIAkgKiB0byBiZSByZWRvbmUgaWYgdGhlIHJlcXVlc3QgaXMgbm90IGFj dHVhbGx5IHN1Ym1pdHRlZCBzdHJhaWdodAo+ICAJICogYXdheSwgZS5nLiBiZWNhdXNlIGEgR1BV IHNjaGVkdWxlciBoYXMgZGVmZXJyZWQgaXQuCj4gLQkgKgo+IC0JICogTm90ZSBmdXJ0aGVyIHRo YXQgdGhpcyBjYWxsIG1lcmVseSBub3RlcyB0aGUgcmVzZXJ2ZSByZXF1ZXN0LiBBCj4gLQkgKiBz dWJzZXF1ZW50IGNhbGwgdG8gKl9yaW5nX2JlZ2luKCkgaXMgcmVxdWlyZWQgdG8gYWN0dWFsbHkg ZW5zdXJlCj4gLQkgKiB0aGF0IHRoZSByZXNlcnZhdGlvbiBpcyBhdmFpbGFibGUuIFdpdGhvdXQg dGhlIGJlZ2luLCBpZiB0aGUKPiAtCSAqIHJlcXVlc3QgY3JlYXRvciBpbW1lZGlhdGVseSBzdWJt aXR0ZWQgdGhlIHJlcXVlc3Qgd2l0aG91dCBhZGRpbmcKPiAtCSAqIGFueSBjb21tYW5kcyB0byBp dCB0aGVuIHRoZXJlIG1pZ2h0IG5vdCBhY3R1YWxseSBiZSBzdWZmaWNpZW50Cj4gLQkgKiByb29t IGZvciB0aGUgc3VibWlzc2lvbiBjb21tYW5kcy4gVW5mb3J0dW5hdGVseSwgdGhlIGN1cnJlbnQK PiAtCSAqICpfcmluZ19iZWdpbigpIGltcGxlbWVudGF0aW9ucyBwb3RlbnRpYWxseSBjYWxsIGJh Y2sgaGVyZSB0bwo+IC0JICogaTkxNV9nZW1fcmVxdWVzdF9hbGxvYygpLiBUaHVzIGNhbGxpbmcg X2JlZ2luKCkgaGVyZSB3b3VsZCBsZWFkIHRvCj4gLQkgKiBpbmZpbml0ZSByZWN1cnNpb24hIFVu dGlsIHRoYXQgYmFjayBjYWxsIHBhdGggaXMgcmVtb3ZlZCwgaXQgaXMKPiAtCSAqIG5lY2Vzc2Fy eSB0byBkbyBhIG1hbnVhbCBfYmVnaW4oKSBvdXRzaWRlLgo+ICAJICovCj4gLQlpbnRlbF9yaW5n X3Jlc2VydmVkX3NwYWNlX3Jlc2VydmUocmVxLT5yaW5nYnVmLCBNSU5fU1BBQ0VfRk9SX0FERF9S RVFVRVNUKTsKPiArCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCj4gKwkJcmV0ID0gaW50ZWxf bG9naWNhbF9yaW5nX3Jlc2VydmVfc3BhY2UocmVxKTsKPiArCWVsc2UKPiArCQlyZXQgPSBpbnRl bF9yaW5nX3Jlc2VydmVfc3BhY2UocmVxKTsKPiArCWlmIChyZXQpIHsKPiArCQkvKgo+ICsJCSAq IEF0IHRoaXMgcG9pbnQsIHRoZSByZXF1ZXN0IGlzIGZ1bGx5IGFsbG9jYXRlZCBldmVuIGlmIG5v dAo+ICsJCSAqIGZ1bGx5IHByZXBhcmVkLiBUaHVzIGl0IGNhbiBiZSBjbGVhbmVkIHVwIHVzaW5n IHRoZSBwcm9wZXIKPiArCQkgKiBmcmVlIGNvZGUuCj4gKwkJICovCj4gKwkJaTkxNV9nZW1fcmVx dWVzdF9jYW5jZWwocmVxKTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICAKPiAgCSpyZXFfb3V0 ID0gcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0ID0gcmVxOwo+ICAJcmV0dXJuIDA7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA1NDhjNTNkLi5lMTY0YWMwIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtODIzLDYgKzgyMywyMSBAQCBzdGF0aWMgaW50 IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtpbnQgaW50ZWxfbG9naWNhbF9yaW5nX3Jlc2Vy dmVfc3BhY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICt7Cj4gKwkv Kgo+ICsJICogVGhlIGZpcnN0IGNhbGwgbWVyZWx5IG5vdGVzIHRoZSByZXNlcnZlIHJlcXVlc3Qg YW5kIGlzIGNvbW1vbiBmb3IKPiArCSAqIGFsbCBiYWNrIGVuZHMuIFRoZSBzdWJzZXF1ZW50IGxv Y2FsaXNlZCBfYmVnaW4oKSBjYWxsIGFjdHVhbGx5Cj4gKwkgKiBlbnN1cmVzIHRoYXQgdGhlIHJl c2VydmF0aW9uIGlzIGF2YWlsYWJsZS4gV2l0aG91dCB0aGUgYmVnaW4sIGlmCj4gKwkgKiB0aGUg cmVxdWVzdCBjcmVhdG9yIGltbWVkaWF0ZWx5IHN1Ym1pdHRlZCB0aGUgcmVxdWVzdCB3aXRob3V0 Cj4gKwkgKiBhZGRpbmcgYW55IGNvbW1hbmRzIHRvIGl0IHRoZW4gdGhlcmUgbWlnaHQgbm90IGFj dHVhbGx5IGJlCj4gKwkgKiBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBzdWJtaXNzaW9uIGNvbW1h bmRzLgo+ICsJICovCj4gKwlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX3Jlc2VydmUocmVxdWVz dC0+cmluZ2J1ZiwgTUlOX1NQQUNFX0ZPUl9BRERfUkVRVUVTVCk7Cj4gKwo+ICsJcmV0dXJuIGlu dGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyZXF1ZXN0LCAwKTsKPiArfQo+ICsKPiAgLyoqCj4gICAq IGV4ZWNsaXN0c19zdWJtaXNzaW9uKCkgLSBzdWJtaXQgYSBiYXRjaGJ1ZmZlciBmb3IgZXhlY3V0 aW9uLCBFeGVjbGlzdHMgc3R5bGUKPiAgICogQGRldjogRFJNIGRldmljZS4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuaAo+IGluZGV4IDA0NGMwZTUuLmY1OTk0MGEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuaAo+IEBAIC0zNyw2ICszNyw3IEBACj4gIAo+ICAvKiBMb2dpY2FsIFJpbmdz ICovCj4gIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMoc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KTsKPiAraW50IGludGVsX2xvZ2ljYWxfcmlu Z19yZXNlcnZlX3NwYWNlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7Cj4g IHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX3N0b3Aoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu Zyk7Cj4gIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZyk7Cj4gIGludCBpbnRlbF9sb2dpY2FsX3JpbmdzX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGlu ZGV4IGJiMTBmYzIuLjBiYTU3ODcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jCj4gQEAgLTIxOTIsMjQgKzIxOTIsMjcgQEAgaW50IGludGVsX3JpbmdfYWxsb2Nf cmVxdWVzdF9leHRyYXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAJ cmV0dXJuIDA7Cj4gIH0KPiAgCj4gK2ludCBpbnRlbF9yaW5nX3Jlc2VydmVfc3BhY2Uoc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICt7Cj4gKwkvKgo+ICsJICogVGhlIGZp cnN0IGNhbGwgbWVyZWx5IG5vdGVzIHRoZSByZXNlcnZlIHJlcXVlc3QgYW5kIGlzIGNvbW1vbiBm b3IKPiArCSAqIGFsbCBiYWNrIGVuZHMuIFRoZSBzdWJzZXF1ZW50IGxvY2FsaXNlZCBfYmVnaW4o KSBjYWxsIGFjdHVhbGx5Cj4gKwkgKiBlbnN1cmVzIHRoYXQgdGhlIHJlc2VydmF0aW9uIGlzIGF2 YWlsYWJsZS4gV2l0aG91dCB0aGUgYmVnaW4sIGlmCj4gKwkgKiB0aGUgcmVxdWVzdCBjcmVhdG9y IGltbWVkaWF0ZWx5IHN1Ym1pdHRlZCB0aGUgcmVxdWVzdCB3aXRob3V0Cj4gKwkgKiBhZGRpbmcg YW55IGNvbW1hbmRzIHRvIGl0IHRoZW4gdGhlcmUgbWlnaHQgbm90IGFjdHVhbGx5IGJlCj4gKwkg KiBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBzdWJtaXNzaW9uIGNvbW1hbmRzLgo+ICsJICovCj4g KwlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX3Jlc2VydmUocmVxdWVzdC0+cmluZ2J1ZiwgTUlO X1NQQUNFX0ZPUl9BRERfUkVRVUVTVCk7Cj4gKwo+ICsJcmV0dXJuIGludGVsX3JpbmdfYmVnaW4o cmVxdWVzdCwgMCk7Cj4gK30KPiArCj4gIHZvaWQgaW50ZWxfcmluZ19yZXNlcnZlZF9zcGFjZV9y ZXNlcnZlKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLCBpbnQgc2l6ZSkKPiAgewo+ IC0JLyogTkI6IFVudGlsIHJlcXVlc3QgbWFuYWdlbWVudCBpcyBmdWxseSB0aWRpZWQgdXAgYW5k IHRoZSBPTFIgaXMKPiAtCSAqIHJlbW92ZWQsIHRoZXJlIGFyZSB0b28gbWFueSB3YXlzIGZvciBn ZXQgZmFsc2UgaGl0cyBvbiB0aGlzCj4gLQkgKiBhbnRpLXJlY3Vyc2lvbiBjaGVjayEgKi8KPiAt CS8qV0FSTl9PTihyaW5nYnVmLT5yZXNlcnZlZF9zaXplKTsqLwo+ICsJV0FSTl9PTihyaW5nYnVm LT5yZXNlcnZlZF9zaXplKTsKPiAgCVdBUk5fT04ocmluZ2J1Zi0+cmVzZXJ2ZWRfaW5fdXNlKTsK PiAgCj4gIAlyaW5nYnVmLT5yZXNlcnZlZF9zaXplID0gc2l6ZTsKPiAtCj4gLQkvKgo+IC0JICog UmVhbGx5IG5lZWQgdG8gY2FsbCBfYmVnaW4oKSBoZXJlIGJ1dCB0aGF0IGN1cnJlbnRseSBsZWFk cyB0bwo+IC0JICogcmVjdXJzaW9uIHByb2JsZW1zISBUaGlzIHdpbGwgYmUgZml4ZWQgbGF0ZXIg YnV0IGZvciBub3cganVzdAo+IC0JICogcmV0dXJuIGFuZCBob3BlIGZvciB0aGUgYmVzdC4gTm90 ZSB0aGF0IHRoZXJlIGlzIG9ubHkgYSByZWFsCj4gLQkgKiBwcm9ibGVtIGlmIHRoZSBjcmVhdGUg b2YgdGhlIHJlcXVlc3QgbmV2ZXIgYWN0dWFsbHkgY2FsbHMgX2JlZ2luKCkKPiAtCSAqIGJ1dCBp ZiB0aGV5IGFyZSBub3Qgc3VibWl0dGluZyBhbnkgd29yayB0aGVuIHdoeSBkaWQgdGhleSBjcmVh dGUKPiAtCSAqIHRoZSByZXF1ZXN0IGluIHRoZSBmaXJzdCBwbGFjZT8KPiAtCSAqLwo+ICB9Cj4g IAo+ICB2b2lkIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHN0cnVjdCBpbnRlbF9y aW5nYnVmZmVyICpyaW5nYnVmKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmgKPiBpbmRleCAxNmZkOWJhLi5mNDYzM2NhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaAo+IEBAIC00NTAsNiArNDUwLDcgQEAgaW50ZWxfcmluZ19nZXRfcmVx dWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAKPiAgI2RlZmluZSBNSU5fU1BB Q0VfRk9SX0FERF9SRVFVRVNUCTEyOAo+ICAKPiAraW50IGludGVsX3JpbmdfcmVzZXJ2ZV9zcGFj ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOwo+ICB2b2lkIGludGVsX3Jp bmdfcmVzZXJ2ZWRfc3BhY2VfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiwgaW50IHNpemUpOwo+ICB2b2lkIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHN0 cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKTsKPiAgdm9pZCBpbnRlbF9yaW5nX3Jlc2Vy dmVkX3NwYWNlX3VzZShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1Zik7Cj4gLS0gCj4g MS43LjkuNQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9y YXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK