From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17740 invoked by alias); 16 Mar 2016 11:15:59 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 17727 invoked by uid 89); 16 Mar 2016 11:15:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.7 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 spammy=iot, florida, IOT, Florida X-HELO: mail-lf0-f51.google.com Received: from mail-lf0-f51.google.com (HELO mail-lf0-f51.google.com) (209.85.215.51) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 16 Mar 2016 11:15:48 +0000 Received: by mail-lf0-f51.google.com with SMTP id l202so16530947lfl.2 for ; Wed, 16 Mar 2016 04:15:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:subject:from:reply-to:to:cc:date :in-reply-to:references:organization:mime-version; bh=DKZ8yFvQe9F+zcYNkT+v637jFPeI6A183TLmRSel+gI=; b=DHTnjhCuTaA0H+gvaXHZav6L15+bpvCg/mjL+zkdpP26QCv3aLtjMaA3CA8AvltIhz BgYSPNTuoBokg4aSYt3tnBE5/OGQXz5iYcnWqIAhC8KJChmEtobR+nVTi7MnO2/eVH8E kiylk7CD1OvJDNIvGpgDrY8DvfP53134FG24lDfjNw7UD/bDeZqWaCSsDYbgCgZxGRFS Zxtvy3pC6xKdHuGNUMsFJbGIs7ulnThJeNuG988W0wEkKUKcTj7pQ1PTVCQ0mNWcspBj uy0/QAn7IiKf2b10f7sllaxxggJqeQRVJXiuGEfaK8D6uqxDe5NsiVxJ7mN0PgpB2Bu7 Lbzg== X-Gm-Message-State: AD7BkJI3IWrM9QqhYcGl2yKktp0OjfZCjVLPzlMHebHz1RvUN1XmcAKuFx9Pv1umiS16Cw== X-Received: by 10.25.170.85 with SMTP id t82mr936488lfe.57.1458126945230; Wed, 16 Mar 2016 04:15:45 -0700 (PDT) Received: from G3620 (178-78-231-178.customers.ownit.se. [178.78.231.178]) by smtp.gmail.com with ESMTPSA id n185sm448551lfd.11.2016.03.16.04.15.43 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 16 Mar 2016 04:15:44 -0700 (PDT) Message-ID: <1458126972.21760.14.camel@gmail.com> Subject: Re: Please include ada-hurd.diff upstream (try2) From: Svante Signell Reply-To: svante.signell@gmail.com To: Eric Botcazou Cc: gcc-patches@gcc.gnu.org, Samuel Thibault , Matthias Klose Date: Wed, 16 Mar 2016 11:15:00 -0000 In-Reply-To: <3403114.XIWJ88mpLG@polaris> References: <1456875776.5852.194.camel@gmail.com> <1892980.xfHAqQvLqb@polaris> <1458124921.21760.10.camel@gmail.com> <3403114.XIWJ88mpLG@polaris> Content-Type: multipart/mixed; boundary="=-rv5bnq6TcHJaQ7aV+SKS" Mime-Version: 1.0 X-SW-Source: 2016-03/txt/msg00897.txt.bz2 --=-rv5bnq6TcHJaQ7aV+SKS Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: 7bit Content-length: 446 On Wed, 2016-03-16 at 11:53 +0100, Eric Botcazou wrote: > > > > Sorry for not supplying a ChangeLog yet, I've been busy lately with other > > things. Since there is another new file s-osinte-gnu.adb in the latest > > patch, that might be added too. > AFAICS there is only s-osinte-gnu.ads in the posted patch. Yes, you are right, somehow I submitted the old patch. Attached is the updated one, with a proposed ChangeLog entry included. Thanks! --=-rv5bnq6TcHJaQ7aV+SKS Content-Disposition: attachment; filename="ada-hurd.diff" Content-Type: text/x-patch; name="ada-hurd.diff"; charset="ISO-8859-15" Content-Transfer-Encoding: base64 Content-length: 51956 MjAxNi0wMy0xNiAgU3ZhbnRlIFNpZ25lbGwgIDxzdmFudGUuc2lnbmVsbEBn bWFpbC5jb20+CgogICAgICAgICogZ2NjLWludGVyZmFjZS9NYWtlZmlsZS5p bjogQWRkIHN1cHBvcnQgZm9yIHg4NiBHTlUvSHVyZC4KICAgICAgICAqIHMt b3NpbnRlLWdudS5hZHM6IE5ldyBzcGVjaWZpY2F0aW9uIGZpbGUuCiAgICAg ICAgKiBzLW9zaW50ZS1nbnUuYWRiOiBOZXcgYm9keSBmaWxlLCBiYXNpY2Fs bHkgcy1vc2ludGUtcG9zaXguYWRiCiAgICAgICAgICBhZGRpbmcgZHVtbXkg aW1wbGVtZW50YXRpb24gb2YgZnVuY3Rpb25zIG5vdCB5ZXQgaW1wbGVtZW50 ZWQuCi0tLQpJbmRleDogZ2NjLTUtNS4zLjEvc3JjL2djYy9hZGEvcy1vc2lu dGUtZ251LmFkYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSAvZGV2L251 bGwKKysrIGdjYy01LTUuMy4xL3NyYy9nY2MvYWRhL3Mtb3NpbnRlLWdudS5h ZGIKQEAgLTAsMCArMSwxNDcgQEAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t CistLSAgICAgICAgICAgICAgICAgR05BVCBSVU4tVElNRSBMSUJSQVJZIChH TkFSTCkgQ09NUE9ORU5UUyAgICAgICAgICAgICAgICAgLS0KKy0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtLQorLS0gICAgICAgICAgICAgICAg ICAgUyBZIFMgVCBFIE0gLiBPIFMgXyBJIE4gVCBFIFIgRiBBIEMgRSAgICAg ICAgICAgICAgICAgIC0tCistLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLS0KKy0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC IG8gZCB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQorLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCistLSAgICAgICAgICAg ICBDb3B5cmlnaHQgKEMpIDE5OTEtMTk5NCwgRmxvcmlkYSBTdGF0ZSBVbml2 ZXJzaXR5ICAgICAgICAgICAgLS0KKy0tICAgICAgICAgICAgICAgICAgICAg Q29weXJpZ2h0IChDKSAxOTk1LTIwMDYsIEFkYUNvcmUgICAgICAgICAgICAg ICAgICAgICAtLQorLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t CistLSBHTkFSTCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuICByZWRpc3Ry aWJ1dGUgaXQgIGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgLS0KKy0tIHRlcm1z IG9mIHRoZSAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkICBieSB0aGUgRnJlZSBTb2Z0LSAtLQorLS0gd2FyZSAgRm91bmRhdGlv bjsgIGVpdGhlciB2ZXJzaW9uIDIsICBvciAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXItIC0tCistLSBzaW9uLiBHTkFSTCBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lU SC0gLS0KKy0tIE9VVCBBTlkgV0FSUkFOVFk7ICB3aXRob3V0IGV2ZW4gdGhl ICBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSAtLQorLS0g b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIC0tCistLSBmb3IgIG1vcmUg ZGV0YWlscy4gIFlvdSBzaG91bGQgaGF2ZSAgcmVjZWl2ZWQgIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgLS0KKy0tIFB1YmxpYyBMaWNlbnNlICBkaXN0 cmlidXRlZCB3aXRoIEdOQVJMOyBzZWUgZmlsZSBDT1BZSU5HLiAgSWYgbm90 LCB3cml0ZSAtLQorLS0gdG8gIHRoZSAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCAgNTEgIEZyYW5rbGluICBTdHJlZXQsICBGaWZ0aCAgRmxvb3IsIC0t CistLSBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KKy0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtLQorLS0gQXMgYSBzcGVjaWFsIGV4 Y2VwdGlvbiwgIGlmIG90aGVyIGZpbGVzICBpbnN0YW50aWF0ZSAgZ2VuZXJp Y3MgZnJvbSB0aGlzIC0tCistLSB1bml0LCBvciB5b3UgbGluayAgdGhpcyB1 bml0IHdpdGggb3RoZXIgZmlsZXMgIHRvIHByb2R1Y2UgYW4gZXhlY3V0YWJs ZSwgLS0KKy0tIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1 c2UgIHRoZSByZXN1bHRpbmcgIGV4ZWN1dGFibGUgIHRvICBiZSAtLQorLS0g Y292ZXJlZCAgYnkgdGhlICBHTlUgIEdlbmVyYWwgIFB1YmxpYyAgTGljZW5z ZS4gIFRoaXMgZXhjZXB0aW9uIGRvZXMgbm90IC0tCistLSBob3dldmVyIGlu dmFsaWRhdGUgIGFueSBvdGhlciByZWFzb25zIHdoeSAgdGhlIGV4ZWN1dGFi bGUgZmlsZSAgbWlnaHQgYmUgLS0KKy0tIGNvdmVyZWQgYnkgdGhlICBHTlUg UHVibGljIExpY2Vuc2UuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLQorLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t CistLSBHTkFSTCB3YXMgZGV2ZWxvcGVkIGJ5IHRoZSBHTkFSTCB0ZWFtIGF0 IEZsb3JpZGEgU3RhdGUgVW5pdmVyc2l0eS4gICAgICAgLS0KKy0tIEV4dGVu c2l2ZSBjb250cmlidXRpb25zIHdlcmUgcHJvdmlkZWQgYnkgQWRhIENvcmUg VGVjaG5vbG9naWVzLCBJbmMuICAgICAtLQorLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0tCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKworLS0gIFRoaXMgaXMgdGhlIEdOVS9IdXJkIHZlcnNpb24gb2Yg dGhpcyBwYWNrYWdlLgorCitwcmFnbWEgUG9sbGluZyAoT2ZmKTsKKy0tICBU dXJuIG9mZiBwb2xsaW5nLCB3ZSBkbyBub3Qgd2FudCBBVEMgcG9sbGluZyB0 byB0YWtlIHBsYWNlIGR1cmluZworLS0gIHRhc2tpbmcgb3BlcmF0aW9ucy4g SXQgY2F1c2VzIGluZmluaXRlIGxvb3BzIGFuZCBvdGhlciBwcm9ibGVtcy4K KworLS0gIFRoaXMgcGFja2FnZSBlbmNhcHN1bGF0ZXMgYWxsIGRpcmVjdCBp bnRlcmZhY2VzIHRvIE9TIHNlcnZpY2VzCistLSAgdGhhdCBhcmUgbmVlZGVk IGJ5IGNoaWxkcmVuIG9mIFN5c3RlbS4KKworcGFja2FnZSBib2R5IFN5c3Rl bS5PU19JbnRlcmZhY2UgaXMKKworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgIC0tIEdldF9TdGFja19CYXNlIC0tCisgICAtLS0tLS0tLS0tLS0tLS0t LS0tLQorCisgICBmdW5jdGlvbiBHZXRfU3RhY2tfQmFzZSAodGhyZWFkIDog cHRocmVhZF90KSByZXR1cm4gQWRkcmVzcyBpcworICAgICAgcHJhZ21hIFdh cm5pbmdzIChPZmYsIHRocmVhZCk7CisKKyAgIGJlZ2luCisgICAgICByZXR1 cm4gTnVsbF9BZGRyZXNzOworICAgZW5kIEdldF9TdGFja19CYXNlOworCisg ICAtLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIHB0aHJlYWRfaW5pdCAtLQor ICAgLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgIHByb2NlZHVyZSBwdGhyZWFk X2luaXQgaXMKKyAgIGJlZ2luCisgICAgICBudWxsOworICAgZW5kIHB0aHJl YWRfaW5pdDsKKworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAgIC0tIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHByaW9jZWls aW5nIC0tCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorCisgICBmdW5jdGlvbiBwdGhyZWFkX211dGV4YXR0cl9zZXRwcmlv Y2VpbGluZworICAgICAoYXR0ciAgICAgOiBhY2Nlc3MgcHRocmVhZF9tdXRl eGF0dHJfdDsKKyAgICAgIHByaW9jZWlsaW5nIDogaW50KSByZXR1cm4gaW50 IGlzCisgICAgICBwcmFnbWEgVW5yZWZlcmVuY2VkIChhdHRyLCBwcmlvY2Vp bGluZyk7CisgICBiZWdpbgorICAgICAgcmV0dXJuIDA7CisgICBlbmQgcHRo cmVhZF9tdXRleGF0dHJfc2V0cHJpb2NlaWxpbmc7CisKKyAgIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBwdGhyZWFk X211dGV4YXR0cl9nZXRwcmlvY2VpbGluZyAtLQorICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgZnVuY3Rpb24gcHRo cmVhZF9tdXRleGF0dHJfZ2V0cHJpb2NlaWxpbmcKKyAgICAgKGF0dHIgICAg IDogYWNjZXNzIHB0aHJlYWRfbXV0ZXhhdHRyX3Q7CisgICAgICBwcmlvY2Vp bGluZyA6IGFjY2VzcyBpbnQpIHJldHVybiBpbnQgaXMKKyAgICAgIHByYWdt YSBVbnJlZmVyZW5jZWQgKGF0dHIsIHByaW9jZWlsaW5nKTsKKyAgIGJlZ2lu CisgICAgICByZXR1cm4gMDsKKyAgIGVuZCBwdGhyZWFkX211dGV4YXR0cl9n ZXRwcmlvY2VpbGluZzsKKworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgICAtLSBwdGhyZWFkX3NldHNjaGVkcGFyYW0gLS0KKyAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICBmdW5jdGlvbiBwdGhyZWFk X3NldHNjaGVkcGFyYW0KKyAgICAgKHRocmVhZCA6IHB0aHJlYWRfdDsKKyAg ICAgIHBvbGljeSA6IGludDsKKyAgICAgIHBhcmFtIDogYWNjZXNzIHN0cnVj dF9zY2hlZF9wYXJhbSkgcmV0dXJuIGludCBpcworICAgICAgcHJhZ21hIFVu cmVmZXJlbmNlZCAodGhyZWFkLCBwb2xpY3ksIHBhcmFtKTsKKyAgIGJlZ2lu CisgICAgICByZXR1cm4gMDsKKyAgIGVuZCBwdGhyZWFkX3NldHNjaGVkcGFy YW07CisKKyAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBUb19EdXJhdGlv biAtLQorICAgLS0tLS0tLS0tLS0tLS0tLS0KKworICAgZnVuY3Rpb24gVG9f RHVyYXRpb24gKFRTIDogdGltZXNwZWMpIHJldHVybiBEdXJhdGlvbiBpcwor ICAgYmVnaW4KKyAgICAgIHJldHVybiBEdXJhdGlvbiAoVFMudHZfc2VjKSAr IER1cmF0aW9uIChUUy50dl9uc2VjKSAvIDEwIzEjRTk7CisgICBlbmQgVG9f RHVyYXRpb247CisKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAg LS0gVG9fVGFyZ2V0X1ByaW9yaXR5IC0tCisgICAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKworICAgZnVuY3Rpb24gVG9fVGFyZ2V0X1ByaW9yaXR5Cisg ICAgIChQcmlvIDogU3lzdGVtLkFueV9Qcmlvcml0eSkgcmV0dXJuIEludGVy ZmFjZXMuQy5pbnQKKyAgIGlzCisgICBiZWdpbgorICAgICAgcmV0dXJuIElu dGVyZmFjZXMuQy5pbnQgKFByaW8pOworICAgZW5kIFRvX1RhcmdldF9Qcmlv cml0eTsKKworICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIFRvX1RpbWVz cGVjIC0tCisgICAtLS0tLS0tLS0tLS0tLS0tLQorCisgICBmdW5jdGlvbiBU b19UaW1lc3BlYyAoRCA6IER1cmF0aW9uKSByZXR1cm4gdGltZXNwZWMgaXMK KyAgICAgIFMgOiB0aW1lX3Q7CisgICAgICBGIDogRHVyYXRpb247CisKKyAg IGJlZ2luCisgICAgICBTIDo9IHRpbWVfdCAoTG9uZ19Mb25nX0ludGVnZXIg KEQpKTsKKyAgICAgIEYgOj0gRCAtIER1cmF0aW9uIChTKTsKKworICAgICAg LS0gIElmIEYgaGFzIG5lZ2F0aXZlIHZhbHVlIGR1ZSB0byBhIHJvdW5kLXVw LCBhZGp1c3QgZm9yIHBvc2l0aXZlIEYKKyAgICAgIC0tICB2YWx1ZS4KKwor ICAgICAgaWYgRiA8IDAuMCB0aGVuCisgICAgICAgICBTIDo9IFMgLSAxOwor ICAgICAgICAgRiA6PSBGICsgMS4wOworICAgICAgZW5kIGlmOworCisgICAg ICByZXR1cm4gdGltZXNwZWMnKHR2X3NlYyA9PiBTLAorICAgICAgICAgICAg ICAgICAgICAgICB0dl9uc2VjID0+IGxvbmcgKExvbmdfTG9uZ19JbnRlZ2Vy IChGICogMTAjMSNFOSkpKTsKKyAgIGVuZCBUb19UaW1lc3BlYzsKKworZW5k IFN5c3RlbS5PU19JbnRlcmZhY2U7CkluZGV4OiBnY2MtNS01LjMuMS9zcmMv Z2NjL2FkYS9zLW9zaW50ZS1nbnUuYWRzCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIC9kZXYvbnVsbAorKysgZ2NjLTUtNS4zLjEvc3JjL2djYy9hZGEv cy1vc2ludGUtZ251LmFkcwpAQCAtMCwwICsxLDgwMSBAQAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLS0KKy0tICAgICAgICAgICAgICAgIEdOVSBBREEgUlVO LVRJTUUgTElCUkFSWSAoR05BUkwpIENPTVBPTkVOVFMgICAgICAgICAgICAg ICAtLQorLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCistLSAg ICAgICAgICAgICAgICAgICBTIFkgUyBUIEUgTSAuIE8gUyBfIEkgTiBUIEUg UiBGIEEgQyBFICAgICAgICAgICAgICAgICAgLS0KKy0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtLQorLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUyBwIGUgYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0tCistLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K Ky0tICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5MS0xOTk0LCBGbG9y aWRhIFN0YXRlIFVuaXZlcnNpdHkgICAgICAgICAgICAtLQorLS0gICAgICAg ICAgQ29weXJpZ2h0IChDKSAxOTk1LTIwMTQsIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiAgICAgICAgIC0tCistLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLS0KKy0tIEdOQVQgaXMgZnJlZSBzb2Z0d2FyZTsgIHlv dSBjYW4gIHJlZGlzdHJpYnV0ZSBpdCAgYW5kL29yIG1vZGlmeSBpdCB1bmRl ciAtLQorLS0gdGVybXMgb2YgdGhlICBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgIGJ5IHRoZSBGcmVlIFNvZnQtIC0tCistLSB3 YXJlICBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMywgIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlci0gLS0KKy0tIHNpb24uICBHTkFU IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsIGJ1dCBXSVRILSAtLQorLS0gT1VUIEFOWSBXQVJSQU5UWTsgIHdp dGhvdXQgZXZlbiB0aGUgIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRB QklMSVRZIC0tCistLSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K Ky0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQorLS0gQXMgYSBz cGVjaWFsIGV4Y2VwdGlvbiB1bmRlciBTZWN0aW9uIDcgb2YgR1BMIHZlcnNp b24gMywgeW91IGFyZSBncmFudGVkIC0tCistLSBhZGRpdGlvbmFsIHBlcm1p c3Npb25zIGRlc2NyaWJlZCBpbiB0aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBF eGNlcHRpb24sICAgLS0KKy0tIHZlcnNpb24gMy4xLCBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gICAgICAgICAgICAg ICAtLQorLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCistLSBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhbmQgICAgLS0KKy0tIGEgY29weSBvZiB0 aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRpb24gYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW07ICAgICAtLQorLS0gc2VlIHRoZSBmaWxlcyBDT1BZSU5H MyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwg c2VlICAgIC0tCistLSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K Ky0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQorLS0gR05BUkwg d2FzIGRldmVsb3BlZCBieSB0aGUgR05BUkwgdGVhbSBhdCBGbG9yaWRhIFN0 YXRlIFVuaXZlcnNpdHkuICAgICAgIC0tCistLSBFeHRlbnNpdmUgY29udHJp YnV0aW9ucyB3ZXJlIHByb3ZpZGVkIGJ5IEFkYSBDb3JlIFRlY2hub2xvZ2ll cywgSW5jLiAgICAgLS0KKy0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtLQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy0t ICBUaGlzIGlzIHRoZSBHTlUvSHVyZCAoUE9TSVggVGhyZWFkcykgdmVyc2lv biBvZiB0aGlzIHBhY2thZ2UKKworLS0gIFRoaXMgcGFja2FnZSBlbmNhcHN1 bGF0ZXMgYWxsIGRpcmVjdCBpbnRlcmZhY2VzIHRvIE9TIHNlcnZpY2VzCist LSAgdGhhdCBhcmUgbmVlZGVkIGJ5IGNoaWxkcmVuIG9mIFN5c3RlbS4KKwor LS0gIFBMRUFTRSBETyBOT1QgYWRkIGFueSB3aXRoLWNsYXVzZXMgdG8gdGhp cyBwYWNrYWdlIG9yIHJlbW92ZSB0aGUgcHJhZ21hCistLSAgUHJlZWxhYm9y YXRlLiBUaGlzIHBhY2thZ2UgaXMgZGVzaWduZWQgdG8gYmUgYSBib3R0b20t bGV2ZWwgKGxlYWYpIHBhY2thZ2UKKword2l0aCBJbnRlcmZhY2VzLkM7Cit3 aXRoIFVuY2hlY2tlZF9Db252ZXJzaW9uOworCitwYWNrYWdlIFN5c3RlbS5P U19JbnRlcmZhY2UgaXMKKyAgIHByYWdtYSBQcmVlbGFib3JhdGU7CisKKyAg IHByYWdtYSBMaW5rZXJfT3B0aW9ucyAoIi1scHRocmVhZCIpOworICAgcHJh Z21hIExpbmtlcl9PcHRpb25zICgiLWxydCIpOworCisgICBzdWJ0eXBlIGlu dCAgICAgICAgICAgIGlzIEludGVyZmFjZXMuQy5pbnQ7CisgICBzdWJ0eXBl IGNoYXIgICAgICAgICAgIGlzIEludGVyZmFjZXMuQy5jaGFyOworICAgc3Vi dHlwZSBzaG9ydCAgICAgICAgICBpcyBJbnRlcmZhY2VzLkMuc2hvcnQ7Cisg ICBzdWJ0eXBlIGxvbmcgICAgICAgICAgIGlzIEludGVyZmFjZXMuQy5sb25n OworICAgc3VidHlwZSB1bnNpZ25lZCAgICAgICBpcyBJbnRlcmZhY2VzLkMu dW5zaWduZWQ7CisgICBzdWJ0eXBlIHVuc2lnbmVkX3Nob3J0IGlzIEludGVy ZmFjZXMuQy51bnNpZ25lZF9zaG9ydDsKKyAgIHN1YnR5cGUgdW5zaWduZWRf bG9uZyAgaXMgSW50ZXJmYWNlcy5DLnVuc2lnbmVkX2xvbmc7CisgICBzdWJ0 eXBlIHVuc2lnbmVkX2NoYXIgIGlzIEludGVyZmFjZXMuQy51bnNpZ25lZF9j aGFyOworICAgc3VidHlwZSBwbGFpbl9jaGFyICAgICBpcyBJbnRlcmZhY2Vz LkMucGxhaW5fY2hhcjsKKyAgIHN1YnR5cGUgc2l6ZV90ICAgICAgICAgaXMg SW50ZXJmYWNlcy5DLnNpemVfdDsKKworICAgLS0tLS0tLS0tLS0KKyAgIC0t IEVycm5vIC0tCisgICAtLS0tLS0tLS0tLQorICAgLS0gIEZyb20gL3Vzci9p bmNsdWRlL2kzODYtZ251L2JpdHMvZXJybm8uaAorCisgICBmdW5jdGlvbiBl cnJubyByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgZXJybm8s ICJfX2dldF9lcnJubyIpOworCisgICBFQUdBSU4gICA6IGNvbnN0YW50IDo9 IDEwNzM3NDE4NTk7CisgICBFSU5UUiAgICA6IGNvbnN0YW50IDo9IDEwNzM3 NDE4Mjg7CisgICBFSU5WQUwgICA6IGNvbnN0YW50IDo9IDEwNzM3NDE4NDY7 CisgICBFTk9NRU0gICA6IGNvbnN0YW50IDo9IDEwNzM3NDE4MzY7CisgICBF UEVSTSAgICA6IGNvbnN0YW50IDo9IDEwNzM3NDE4MjU7CisgICBFVElNRURP VVQgICAgOiBjb25zdGFudCA6PSAxMDczNzQxODg0OworCisgICAtLS0tLS0t LS0tLS0tCisgICAtLSBTaWduYWxzIC0tCisgICAtLS0tLS0tLS0tLS0tCisg ICAtLSAgRnJvbSAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9zaWdudW0u aAorCisgICBNYXhfSW50ZXJydXB0IDogY29uc3RhbnQgOj0gMzI7CisgICB0 eXBlIFNpZ25hbCBpcyBuZXcgaW50IHJhbmdlIDAgLi4gTWF4X0ludGVycnVw dDsKKyAgIGZvciBTaWduYWwnU2l6ZSB1c2UgaW50J1NpemU7CisKKyAgIFNJ R0hVUCAgICAgOiBjb25zdGFudCA6PSAxOyAtLSAgaGFuZ3VwCisgICBTSUdJ TlQgICAgIDogY29uc3RhbnQgOj0gMjsgLS0gIGludGVycnVwdCAocnVib3V0 KQorICAgU0lHUVVJVCAgICA6IGNvbnN0YW50IDo9IDM7IC0tICBxdWl0IChB U0NEIEZTKQorICAgU0lHSUxMICAgICA6IGNvbnN0YW50IDo9IDQ7IC0tICBp bGxlZ2FsIGluc3RydWN0aW9uIChub3QgcmVzZXQpCisgICBTSUdUUkFQICAg IDogY29uc3RhbnQgOj0gNTsgLS0gIHRyYWNlIHRyYXAgKG5vdCByZXNldCkK KyAgIFNJR0lPVCAgICAgOiBjb25zdGFudCA6PSA2OyAtLSAgSU9UIGluc3Ry dWN0aW9uCisgICBTSUdBQlJUICAgIDogY29uc3RhbnQgOj0gNjsgLS0gIHVz ZWQgYnkgYWJvcnQsIHJlcGxhY2UgU0lHSU9UIGluIHRoZSAgZnV0dXJlCisg ICBTSUdFTVQgICAgIDogY29uc3RhbnQgOj0gNzsgLS0gIEVNVCBpbnN0cnVj dGlvbgorICAgU0lHRlBFICAgICA6IGNvbnN0YW50IDo9IDg7IC0tICBmbG9h dGluZyBwb2ludCBleGNlcHRpb24KKyAgIFNJR0tJTEwgICAgOiBjb25zdGFu dCA6PSA5OyAtLSAga2lsbCAoY2Fubm90IGJlIGNhdWdodCBvciBpZ25vcmVk KQorICAgU0lHQlVTICAgICA6IGNvbnN0YW50IDo9IDEwOyAtLSAgYnVzIGVy cm9yCisgICBTSUdTRUdWICAgIDogY29uc3RhbnQgOj0gMTE7IC0tICBzZWdt ZW50YXRpb24gdmlvbGF0aW9uCisgICBTSUdTWVMgICAgIDogY29uc3RhbnQg Oj0gMTI7IC0tICBiYWQgYXJndW1lbnQgdG8gc3lzdGVtIGNhbGwKKyAgIFNJ R1BJUEUgICAgOiBjb25zdGFudCA6PSAxMzsgLS0gIHdyaXRlIG9uIGEgcGlw ZSB3aXRoIG5vIG9uZSB0byByZWFkIGl0CisgICBTSUdBTFJNICAgIDogY29u c3RhbnQgOj0gMTQ7IC0tICBhbGFybSBjbG9jaworICAgU0lHVEVSTSAgICA6 IGNvbnN0YW50IDo9IDE1OyAtLSAgc29mdHdhcmUgdGVybWluYXRpb24gc2ln bmFsIGZyb20ga2lsbAorICAgU0lHVVJHICAgICA6IGNvbnN0YW50IDo9IDE2 OyAtLSAgdXJnZW50IGNvbmRpdGlvbiBvbiBJTyBjaGFubmVsCisgICBTSUdT VE9QICAgIDogY29uc3RhbnQgOj0gMTc7IC0tICBzdG9wIChjYW5ub3QgYmUg Y2F1Z2h0IG9yIGlnbm9yZWQpCisgICBTSUdUU1RQICAgIDogY29uc3RhbnQg Oj0gMTg7IC0tICB1c2VyIHN0b3AgcmVxdWVzdGVkIGZyb20gdHR5CisgICBT SUdDT05UICAgIDogY29uc3RhbnQgOj0gMTk7IC0tICBzdG9wcGVkIHByb2Nl c3MgaGFzIGJlZW4gY29udGludWVkCisgICBTSUdDTEQgICAgIDogY29uc3Rh bnQgOj0gMjA7IC0tICBhbGlhcyBmb3IgU0lHQ0hMRAorICAgU0lHQ0hMRCAg ICA6IGNvbnN0YW50IDo9IDIwOyAtLSAgY2hpbGQgc3RhdHVzIGNoYW5nZQor ICAgU0lHVFRJTiAgICA6IGNvbnN0YW50IDo9IDIxOyAtLSAgYmFja2dyb3Vu ZCB0dHkgcmVhZCBhdHRlbXB0ZWQKKyAgIFNJR1RUT1UgICAgOiBjb25zdGFu dCA6PSAyMjsgLS0gIGJhY2tncm91bmQgdHR5IHdyaXRlIGF0dGVtcHRlZAor ICAgU0lHSU8gICAgICA6IGNvbnN0YW50IDo9IDIzOyAtLSAgSS9PIHBvc3Np YmxlIChTb2xhcmlzIFNJR1BPTEwgYWxpYXMpCisgICBTSUdQT0xMICAgIDog Y29uc3RhbnQgOj0gMjM7IC0tICBJL08gcG9zc2libGUgKHNhbWUgYXMgU0lH SU8/KQorICAgU0lHWENQVSAgICA6IGNvbnN0YW50IDo9IDI0OyAtLSAgQ1BV IHRpbWUgbGltaXQgZXhjZWVkZWQKKyAgIFNJR1hGU1ogICAgOiBjb25zdGFu dCA6PSAyNTsgLS0gIGZpbGVzaXplIGxpbWl0IGV4Y2VlZGVkCisgICBTSUdW VEFMUk0gIDogY29uc3RhbnQgOj0gMjY7IC0tICB2aXJ0dWFsIHRpbWVyIGV4 cGlyZWQKKyAgIFNJR1BST0YgICAgOiBjb25zdGFudCA6PSAyNzsgLS0gIHBy b2ZpbGluZyB0aW1lciBleHBpcmVkCisgICBTSUdXSU5DSCAgIDogY29uc3Rh bnQgOj0gMjg7IC0tICB3aW5kb3cgc2l6ZSBjaGFuZ2UKKyAgIFNJR0lORk8g ICAgOiBjb25zdGFudCA6PSAyOTsgLS0gIGluZm9ybWF0aW9uIHJlcXVlc3Qg KE5ldEJTRC9GcmVlQlNEKQorICAgU0lHVVNSMSAgICA6IGNvbnN0YW50IDo9 IDMwOyAtLSAgdXNlciBkZWZpbmVkIHNpZ25hbCAxCisgICBTSUdVU1IyICAg IDogY29uc3RhbnQgOj0gMzE7IC0tICB1c2VyIGRlZmluZWQgc2lnbmFsIDIK KyAgIFNJR0xPU1QgICAgOiBjb25zdGFudCA6PSAzMjsgLS0gIFJlc291cmNl IGxvc3QgKFN1bik7IHNlcnZlciBkaWVkIChHTlUpCisKKyAgIFNJR0FEQUFC T1JUIDogY29uc3RhbnQgOj0gU0lHQUJSVDsKKyAgIC0tICBDaGFuZ2UgdGhp cyBpZiB5b3Ugd2FudCB0byB1c2UgYW5vdGhlciBzaWduYWwgZm9yIHRhc2sg YWJvcnQuCisgICAtLSAgU0lHVEVSTSBtaWdodCBiZSBhIGdvb2Qgb25lLgor CisgICB0eXBlIFNpZ25hbF9TZXQgaXMgYXJyYXkgKE5hdHVyYWwgcmFuZ2Ug PD4pIG9mIFNpZ25hbDsKKworICAgVW5tYXNrZWQgICAgOiBjb25zdGFudCBT aWduYWxfU2V0IDo9ICgKKyAgICAgIFNJR1RSQVAsCisgICAgICAtLSAgVG8g ZW5hYmxlIGRlYnVnZ2luZyBvbiBtdWx0aXRocmVhZGVkIGFwcGxpY2F0aW9u cywgbWFyayBTSUdUUkFQIHRvCisgICAgICAtLSAgYmUga2VwdCB1bm1hc2tl ZC4KKworICAgICAgU0lHQlVTLAorCisgICAgICBTSUdUVElOLCBTSUdUVE9V LCBTSUdUU1RQLAorICAgICAgLS0gIEtlZXAgdGhlc2UgdGhyZWUgc2lnbmFs cyB1bm1hc2tlZCBzbyB0aGF0IGJhY2tncm91bmQgcHJvY2Vzc2VzCisgICAg ICAtLSAgYW5kIElPIGJlaGF2ZXMgYXMgbm9ybWFsICJDIiBhcHBsaWNhdGlv bnMKKworICAgICAgU0lHUFJPRiwKKyAgICAgIC0tICBUbyBhdm9pZCBjb25m dXNpbmcgdGhlIHByb2ZpbGVyCisKKyAgICAgIFNJR0tJTEwsIFNJR1NUT1Ap OworICAgICAgLS0gIFRoZXNlIHR3byBzaWduYWxzIGFjdHVhbGx5IGNhbm5v dCBiZSBtYXNrZWQ7CisgICAgICAtLSAgUE9TSVggc2ltcGx5IHdvbid0IGFs bG93IGl0LgorCisgICBSZXNlcnZlZCAgICA6IGNvbnN0YW50IFNpZ25hbF9T ZXQgOj0KKyAgIC0tICBJIGFtIG5vdCBzdXJlIHdoeSB0aGUgZm9sbG93aW5n IHNpZ25hbCBpcyByZXNlcnZlZC4KKyAgIC0tICBJIGd1ZXNzIHRoZXkgYXJl IG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyB2ZXJzaW9uIG9mIEdOVS9IdXJkLgor ICAgICAoMCAuLiAwID0+IFNJR1ZUQUxSTSk7CisKKyAgIHR5cGUgc2lnc2V0 X3QgaXMgcHJpdmF0ZTsKKworICAgLS0gIEZyb20gL3Vzci9pbmNsdWRlL3Np Z25hbC5oIC91c3IvaW5jbHVkZS9pMzg2LWdudS9iaXRzL3NpZ3NldC5oCisg ICBmdW5jdGlvbiBzaWdhZGRzZXQgKHNldCA6IGFjY2VzcyBzaWdzZXRfdDsg c2lnIDogU2lnbmFsKSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAo Qywgc2lnYWRkc2V0LCAic2lnYWRkc2V0Iik7CisKKyAgIGZ1bmN0aW9uIHNp Z2RlbHNldCAoc2V0IDogYWNjZXNzIHNpZ3NldF90OyBzaWcgOiBTaWduYWwp IHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBzaWdkZWxzZXQs ICJzaWdkZWxzZXQiKTsKKworICAgZnVuY3Rpb24gc2lnZmlsbHNldCAoc2V0 IDogYWNjZXNzIHNpZ3NldF90KSByZXR1cm4gaW50OworICAgcHJhZ21hIElt cG9ydCAoQywgc2lnZmlsbHNldCwgInNpZ2ZpbGxzZXQiKTsKKworICAgZnVu Y3Rpb24gc2lnaXNtZW1iZXIgKHNldCA6IGFjY2VzcyBzaWdzZXRfdDsgc2ln IDogU2lnbmFsKSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywg c2lnaXNtZW1iZXIsICJzaWdpc21lbWJlciIpOworCisgICBmdW5jdGlvbiBz aWdlbXB0eXNldCAoc2V0IDogYWNjZXNzIHNpZ3NldF90KSByZXR1cm4gaW50 OworICAgcHJhZ21hIEltcG9ydCAoQywgc2lnZW1wdHlzZXQsICJzaWdlbXB0 eXNldCIpOworCisgICAtLSAgc2lnY29udGV4dCBpcyBhcmNoaXRlY3R1cmUg ZGVwZW5kZW50LCBzbyBkZWZpbmUgaXQgcHJpdmF0ZQorICAgdHlwZSBzdHJ1 Y3Rfc2lnY29udGV4dCBpcyBwcml2YXRlOworCisgICAtLSAgRnJvbSAvdXNy L2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9zaWdhY3Rpb24uaDogTm90ZTogYXJn LiBvcmRlciBkaWZmZXJzCisgICB0eXBlIHN0cnVjdF9zaWdhY3Rpb24gaXMg cmVjb3JkCisgICAgICBzYV9oYW5kbGVyIDogU3lzdGVtLkFkZHJlc3M7Cisg ICAgICBzYV9tYXNrICAgIDogc2lnc2V0X3Q7CisgICAgICBzYV9mbGFncyAg IDogaW50OworICAgZW5kIHJlY29yZDsKKyAgIHByYWdtYSBDb252ZW50aW9u IChDLCBzdHJ1Y3Rfc2lnYWN0aW9uKTsKKworICAgdHlwZSBzdHJ1Y3Rfc2ln YWN0aW9uX3B0ciBpcyBhY2Nlc3MgYWxsIHN0cnVjdF9zaWdhY3Rpb247CisK KyAgIC0tICBGcm9tIC91c3IvaW5jbHVkZS9pMzg2LWdudS9iaXRzL3NpZ2Fj dGlvbi5oCisgICBTSUdfQkxPQ0sgICA6IGNvbnN0YW50IDo9IDE7CisgICBT SUdfVU5CTE9DSyA6IGNvbnN0YW50IDo9IDI7CisgICBTSUdfU0VUTUFTSyA6 IGNvbnN0YW50IDo9IDM7CisKKyAgIC0tICBGcm9tIC91c3IvaW5jbHVkZS9p Mzg2LWdudS9iaXRzL3NpZ251bS5oCisgICBTSUdfRVJSICA6IGNvbnN0YW50 IDo9IDE7CisgICBTSUdfREZMICA6IGNvbnN0YW50IDo9IDA7CisgICBTSUdf SUdOICA6IGNvbnN0YW50IDo9IDE7CisgICBTSUdfSE9MRCA6IGNvbnN0YW50 IDo9IDI7CisKKyAgIC0tICBGcm9tIC91c3IvaW5jbHVkZS9pMzg2LWdudS9i aXRzL3NpZ2FjdGlvbi5oCisgICBTQV9TSUdJTkZPIDogY29uc3RhbnQgOj0g MTYjMDA0MCM7CisgICBTQV9PTlNUQUNLIDogY29uc3RhbnQgOj0gMTYjMDAw MSM7CisKKyAgIGZ1bmN0aW9uIHNpZ2FjdGlvbgorICAgICAoc2lnICA6IFNp Z25hbDsKKyAgICAgIGFjdCAgOiBzdHJ1Y3Rfc2lnYWN0aW9uX3B0cjsKKyAg ICAgIG9hY3QgOiBzdHJ1Y3Rfc2lnYWN0aW9uX3B0cikgcmV0dXJuIGludDsK KyAgIHByYWdtYSBJbXBvcnQgKEMsIHNpZ2FjdGlvbiwgInNpZ2FjdGlvbiIp OworCisgICAtLS0tLS0tLS0tCisgICAtLSBUaW1lIC0tCisgICAtLS0tLS0t LS0tCisKKyAgIFRpbWVfU2xpY2VfU3VwcG9ydGVkIDogY29uc3RhbnQgQm9v bGVhbiA6PSBUcnVlOworICAgLS0gIEluZGljYXRlcyB3aGV0aGVyIHRpbWUg c2xpY2luZyBpcyBzdXBwb3J0ZWQgKGkuZSBTQ0hFRF9SUiBpcyBzdXBwb3J0 ZWQpCisKKyAgIHR5cGUgdGltZXNwZWMgaXMgcHJpdmF0ZTsKKworICAgZnVu Y3Rpb24gbmFub3NsZWVwIChycXRwLCBybXRwIDogYWNjZXNzIHRpbWVzcGVj KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgbmFub3NsZWVw LCAibmFub3NsZWVwIik7CisKKyAgIHR5cGUgY2xvY2tpZF90IGlzIG5ldyBp bnQ7CisgICBDTE9DS19SRUFMVElNRSA6IGNvbnN0YW50IGNsb2NraWRfdCA6 PSAwOworCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRlL3RpbWUuaAorICAg ZnVuY3Rpb24gY2xvY2tfZ2V0dGltZQorICAgICAoY2xvY2tfaWQgOiBjbG9j a2lkX3Q7CisgICAgICB0cCAgICAgICA6IGFjY2VzcyB0aW1lc3BlYykKKyAg ICAgIHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBjbG9ja19n ZXR0aW1lLCAiY2xvY2tfZ2V0dGltZSIpOworCisgICBmdW5jdGlvbiBjbG9j a19nZXRyZXMKKyAgICAgKGNsb2NrX2lkIDogY2xvY2tpZF90OworICAgICAg cmVzICAgICAgOiBhY2Nlc3MgdGltZXNwZWMpIHJldHVybiBpbnQ7CisgICBw cmFnbWEgSW1wb3J0IChDLCBjbG9ja19nZXRyZXMsICJjbG9ja19nZXRyZXMi KTsKKworICAgZnVuY3Rpb24gVG9fRHVyYXRpb24gKFRTIDogdGltZXNwZWMp IHJldHVybiBEdXJhdGlvbjsKKyAgIHByYWdtYSBJbmxpbmUgKFRvX0R1cmF0 aW9uKTsKKworICAgZnVuY3Rpb24gVG9fVGltZXNwZWMgKEQgOiBEdXJhdGlv bikgcmV0dXJuIHRpbWVzcGVjOworICAgcHJhZ21hIElubGluZSAoVG9fVGlt ZXNwZWMpOworCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRlL3VuaXN0ZC5o CisgICBmdW5jdGlvbiBzeXNjb25mIChuYW1lIDogaW50KSByZXR1cm4gbG9u ZzsKKyAgIHByYWdtYSBJbXBvcnQgKEMsIHN5c2NvbmYpOworCisgICAtLSAg RnJvbSAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9jb25mbmFtZS5oCisg ICBTQ19DTEtfVENLICAgICAgICAgIDogY29uc3RhbnQgOj0gMjsKKyAgIFND X05QUk9DRVNTT1JTX09OTE4gOiBjb25zdGFudCA6PSA4NDsKKworICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0gUHJpb3JpdHkgU2NoZWR1 bGluZyAtLQorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgLS0g IEZyb20gL3Vzci9pbmNsdWRlL2kzODYtZ251L2JpdHMvc2NoZWQuaAorCisg ICBTQ0hFRF9PVEhFUiA6IGNvbnN0YW50IDo9IDA7CisgICBTQ0hFRF9GSUZP ICA6IGNvbnN0YW50IDo9IDE7CisgICBTQ0hFRF9SUiAgICA6IGNvbnN0YW50 IDo9IDI7CisKKyAgIGZ1bmN0aW9uIFRvX1RhcmdldF9Qcmlvcml0eQorICAg ICAoUHJpbyA6IFN5c3RlbS5BbnlfUHJpb3JpdHkpIHJldHVybiBJbnRlcmZh Y2VzLkMuaW50OworICAgLS0gIE1hcHMgU3lzdGVtLkFueV9Qcmlvcml0eSB0 byBhIFBPU0lYIHByaW9yaXR5LgorCisgICAtLS0tLS0tLS0tLS0tCisgICAt LSBQcm9jZXNzIC0tCisgICAtLS0tLS0tLS0tLS0tCisKKyAgIHR5cGUgcGlk X3QgaXMgcHJpdmF0ZTsKKworICAgLS0gIEZyb206IC91c3IvaW5jbHVkZS9z aWduYWwuaAorICAgZnVuY3Rpb24ga2lsbCAocGlkIDogcGlkX3Q7IHNpZyA6 IFNpZ25hbCkgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBvcnQgKEMsIGtp bGwsICJraWxsIik7CisKKyAgIC0tICBGcm9tOiAvdXNyL2luY2x1ZGUvdW5p c3RkLmgKKyAgIGZ1bmN0aW9uIGdldHBpZCByZXR1cm4gcGlkX3Q7CisgICBw cmFnbWEgSW1wb3J0IChDLCBnZXRwaWQsICJnZXRwaWQiKTsKKworICAgLS0t LS0tLS0tCisgICAtLSBMV1AgLS0KKyAgIC0tLS0tLS0tLQorCisgICAtLSAg RnJvbTogL3Vzci9pbmNsdWRlL3B0aHJlYWQvcHRocmVhZC5oCisgICBmdW5j dGlvbiBsd3Bfc2VsZiByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CisgICAtLSAg bHdwX3NlbGYgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyB0aHJlYWQgbGlicmFy eSwgcmV2ZXJ0IHRvIHB0aHJlYWRfc2VsZgorICAgLS0gIHdoaWNoIGlzIHRo ZSBjbG9zZXN0IGFwcHJveGltYXRpb24gKHdpdGggZ2V0cGlkKS4gVGhpcyBm dW5jdGlvbiBpcworICAgLS0gIG5lZWRlZCB0byBzaGFyZSA3c3RhcHJvcC5h ZGIgYWNyb3NzIFBPU0lYLWxpa2UgdGFyZ2V0cy4KKyAgIHByYWdtYSBJbXBv cnQgKEMsIGx3cF9zZWxmLCAicHRocmVhZF9zZWxmIik7CisKKyAgIC0tLS0t LS0tLS0tLS0KKyAgIC0tIFRocmVhZHMgLS0KKyAgIC0tLS0tLS0tLS0tLS0K KworICAgdHlwZSBUaHJlYWRfQm9keSBpcyBhY2Nlc3MKKyAgICAgZnVuY3Rp b24gKGFyZyA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gU3lzdGVtLkFkZHJl c3M7CisgICBwcmFnbWEgQ29udmVudGlvbiAoQywgVGhyZWFkX0JvZHkpOwor CisgICBmdW5jdGlvbiBUaHJlYWRfQm9keV9BY2Nlc3MgaXMgbmV3CisgICAg IFVuY2hlY2tlZF9Db252ZXJzaW9uIChTeXN0ZW0uQWRkcmVzcywgVGhyZWFk X0JvZHkpOworCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRlL2JpdHMvcHRo cmVhZC5oOnR5cGVkZWYgaW50IF9fcHRocmVhZF90OworICAgLS0gIC91c3Iv aW5jbHVkZS9wdGhyZWFkL3B0aHJlYWR0eXBlcy5oOnR5cGVkZWYgX19wdGhy ZWFkX3QgcHRocmVhZF90OworICAgdHlwZSBwdGhyZWFkX3QgaXMgbmV3IHVu c2lnbmVkX2xvbmc7CisgICBzdWJ0eXBlIFRocmVhZF9JZCAgICAgICAgaXMg cHRocmVhZF90OworCisgICBmdW5jdGlvbiBUb19wdGhyZWFkX3QgaXMgbmV3 IFVuY2hlY2tlZF9Db252ZXJzaW9uCisgICAgICh1bnNpZ25lZF9sb25nLCBw dGhyZWFkX3QpOworCisgICB0eXBlIHB0aHJlYWRfbXV0ZXhfdCAgICAgaXMg bGltaXRlZCBwcml2YXRlOworICAgdHlwZSBwdGhyZWFkX3J3bG9ja190ICAg ICBpcyBsaW1pdGVkIHByaXZhdGU7CisgICB0eXBlIHB0aHJlYWRfY29uZF90 ICAgICAgaXMgbGltaXRlZCBwcml2YXRlOworICAgdHlwZSBwdGhyZWFkX2F0 dHJfdCAgICAgIGlzIGxpbWl0ZWQgcHJpdmF0ZTsKKyAgIHR5cGUgcHRocmVh ZF9tdXRleGF0dHJfdCBpcyBsaW1pdGVkIHByaXZhdGU7CisgICB0eXBlIHB0 aHJlYWRfcndsb2NrYXR0cl90IGlzIGxpbWl0ZWQgcHJpdmF0ZTsKKyAgIHR5 cGUgcHRocmVhZF9jb25kYXR0cl90ICBpcyBsaW1pdGVkIHByaXZhdGU7Cisg ICB0eXBlIHB0aHJlYWRfa2V5X3QgICAgICAgaXMgcHJpdmF0ZTsKKworICAg LS0gIEZyb20gL3Vzci9pbmNsdWRlL3B0aHJlYWQvcHRocmVhZHR5cGVzLmgK KyAgIFBUSFJFQURfQ1JFQVRFX0RFVEFDSEVEIDogY29uc3RhbnQgOj0gMTsK KyAgIFBUSFJFQURfQ1JFQVRFX0pPSU5BQkxFIDogY29uc3RhbnQgOj0gMDsK KworICAgUFRIUkVBRF9TQ09QRV9QUk9DRVNTIDogY29uc3RhbnQgOj0gMTsK KyAgIFBUSFJFQURfU0NPUEVfU1lTVEVNICA6IGNvbnN0YW50IDo9IDA7CisK KyAgIC0tLS0tLS0tLS0tCisgICAtLSBTdGFjayAtLQorICAgLS0tLS0tLS0t LS0KKworICAgLS0gIEZyb206IC91c3IvaW5jbHVkZS9pMzg2LWdudS9iaXRz L3NpZ3N0YWNrLmgKKyAgIHR5cGUgc3RhY2tfdCBpcyByZWNvcmQKKyAgICAg IHNzX3NwICAgIDogU3lzdGVtLkFkZHJlc3M7CisgICAgICBzc19zaXplICA6 IHNpemVfdDsKKyAgICAgIHNzX2ZsYWdzIDogaW50OworICAgZW5kIHJlY29y ZDsKKyAgIHByYWdtYSBDb252ZW50aW9uIChDLCBzdGFja190KTsKKworICAg ZnVuY3Rpb24gc2lnYWx0c3RhY2sKKyAgICAgKHNzICA6IG5vdCBudWxsIGFj Y2VzcyBzdGFja190OworICAgICAgb3NzIDogYWNjZXNzIHN0YWNrX3QpIHJl dHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBzaWdhbHRzdGFjaywg InNpZ2FsdHN0YWNrIik7CisKKyAgIEFsdGVybmF0ZV9TdGFjayA6IGFsaWFz ZWQgU3lzdGVtLkFkZHJlc3M7CisgICAtLSAgVGhpcyBpcyBhIGR1bW15IGRl ZmluaXRpb24sIG5ldmVyIHVzZWQgKEFsdGVybmF0ZV9TdGFja19TaXplIGlz IG51bGwpCisKKyAgIEFsdGVybmF0ZV9TdGFja19TaXplIDogY29uc3RhbnQg Oj0gMDsKKyAgIC0tICBObyBhbHRlcm5hdGUgc2lnbmFsIHN0YWNrIGlzIHVz ZWQgb24gdGhpcyBwbGF0Zm9ybQorCisgICBTdGFja19CYXNlX0F2YWlsYWJs ZSA6IGNvbnN0YW50IEJvb2xlYW4gOj0gRmFsc2U7CisgICAtLSAgSW5kaWNh dGVzIHdoZXRoZXIgdGhlIHN0YWNrIGJhc2UgaXMgYXZhaWxhYmxlIG9uIHRo aXMgdGFyZ2V0CisKKyAgIGZ1bmN0aW9uIEdldF9TdGFja19CYXNlICh0aHJl YWQgOiBwdGhyZWFkX3QpIHJldHVybiBBZGRyZXNzOworICAgcHJhZ21hIElu bGluZSAoR2V0X1N0YWNrX0Jhc2UpOworICAgLS0gIHJldHVybnMgdGhlIHN0 YWNrIGJhc2Ugb2YgdGhlIHNwZWNpZmllZCB0aHJlYWQuIE9ubHkgY2FsbCB0 aGlzIGZ1bmN0aW9uCisgICAtLSAgd2hlbiBTdGFja19CYXNlX0F2YWlsYWJs ZSBpcyBUcnVlLgorCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRlL2kzODYt Z251L2JpdHMvc2htLmggX19nZXRwYWdlc2l6ZSBvciBnZXRwYWdlc2l6ZT8/ CisgICBmdW5jdGlvbiBHZXRfUGFnZV9TaXplIHJldHVybiBzaXplX3Q7Cisg ICBmdW5jdGlvbiBHZXRfUGFnZV9TaXplIHJldHVybiBBZGRyZXNzOworICAg cHJhZ21hIEltcG9ydCAoQywgR2V0X1BhZ2VfU2l6ZSwgIl9fZ2V0cGFnZXNp emUiKTsKKyAgIC0tICBSZXR1cm5zIHRoZSBzaXplIG9mIGEgcGFnZQorCisg ICAtLSAgRnJvbSAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9tbWFuLmgK KyAgIFBST1RfTk9ORSAgOiBjb25zdGFudCA6PSAwOworICAgUFJPVF9SRUFE ICA6IGNvbnN0YW50IDo9IDQ7CisgICBQUk9UX1dSSVRFIDogY29uc3RhbnQg Oj0gMjsKKyAgIFBST1RfRVhFQyAgOiBjb25zdGFudCA6PSAxOworICAgUFJP VF9BTEwgICA6IGNvbnN0YW50IDo9IFBST1RfUkVBRCArIFBST1RfV1JJVEUg KyBQUk9UX0VYRUM7CisgICBQUk9UX09OICAgIDogY29uc3RhbnQgOj0gUFJP VF9OT05FOworICAgUFJPVF9PRkYgICA6IGNvbnN0YW50IDo9IFBST1RfQUxM OworCisgICAtLSAgRnJvbSAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9t bWFuLmgKKyAgIGZ1bmN0aW9uIG1wcm90ZWN0IChhZGRyIDogQWRkcmVzczsg bGVuIDogc2l6ZV90OyBwcm90IDogaW50KSByZXR1cm4gaW50OworICAgcHJh Z21hIEltcG9ydCAoQywgbXByb3RlY3QpOworCisgICAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIC0tIE5vbnN0YW5kYXJk IFRocmVhZCBJbml0aWFsaXphdGlvbiAtLQorICAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgIHByb2NlZHVyZSBwdGhy ZWFkX2luaXQ7CisgICBwcmFnbWEgSW5saW5lIChwdGhyZWFkX2luaXQpOwor ICAgLS0gIFRoaXMgaXMgYSBkdW1teSBwcm9jZWR1cmUgdG8gc2hhcmUgc29t ZSBHTlVMTEkgZmlsZXMKKworICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICAgLS0gUE9TSVguMWMgIFNlY3Rpb24gMyAtLQorICAgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRl L3NpZ25hbC5oOgorICAgLS0gIHNpZ3dhaXQgKF9fY29uc3Qgc2lnc2V0X3Qg Kl9fcmVzdHJpY3QgX19zZXQsIGludCAqX19yZXN0cmljdCBfX3NpZykKKyAg IGZ1bmN0aW9uIHNpZ3dhaXQgKHNldCA6IGFjY2VzcyBzaWdzZXRfdDsgc2ln IDogYWNjZXNzIFNpZ25hbCkgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBv cnQgKEMsIHNpZ3dhaXQsICJzaWd3YWl0Iik7CisKKyAgIC0tICBGcm9tOiAv dXNyL2luY2x1ZGUvcHRocmVhZC9wdGhyZWFkLmg6CisgICAtLSAgZXh0ZXJu IGludCBwdGhyZWFkX2tpbGwgKHB0aHJlYWRfdCB0aHJlYWQsIGludCBzaWdu byk7CisgICBmdW5jdGlvbiBwdGhyZWFkX2tpbGwgKHRocmVhZCA6IHB0aHJl YWRfdDsgc2lnIDogU2lnbmFsKSByZXR1cm4gaW50OworICAgcHJhZ21hIElt cG9ydCAoQywgcHRocmVhZF9raWxsLCAicHRocmVhZF9raWxsIik7CisKKyAg IC0tICBGcm9tOiAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9zaWd0aHJl YWQuaAorICAgLS0gIGV4dGVybiBpbnQgcHRocmVhZF9zaWdtYXNrIChpbnQg X19ob3csIF9fY29uc3QgX19zaWdzZXRfdCAqX19uZXdtYXNrLAorICAgLS0g IF9fc2lnc2V0X3QgKl9fb2xkbWFzaykgX19USFJPVzsKKyAgIGZ1bmN0aW9u IHB0aHJlYWRfc2lnbWFzaworICAgICAoaG93ICA6IGludDsKKyAgICAgIHNl dCAgOiBhY2Nlc3Mgc2lnc2V0X3Q7CisgICAgICBvc2V0IDogYWNjZXNzIHNp Z3NldF90KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRo cmVhZF9zaWdtYXNrLCAicHRocmVhZF9zaWdtYXNrIik7CisKKyAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBQT1NJWC4xYyAgU2VjdGlv biAxMSAtLQorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAg LS0gIEZyb206IC91c3IvaW5jbHVkZS9wdGhyZWFkL3B0aHJlYWQuaCBhbmQK KyAgIC0tICAvdXNyL2luY2x1ZGUvcHRocmVhZC9wdGhyZWFkdHlwZXMuaAor ICAgZnVuY3Rpb24gcHRocmVhZF9tdXRleGF0dHJfaW5pdAorICAgICAoYXR0 ciA6IGFjY2VzcyBwdGhyZWFkX211dGV4YXR0cl90KSByZXR1cm4gaW50Owor ICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9tdXRleGF0dHJfaW5pdCwg InB0aHJlYWRfbXV0ZXhhdHRyX2luaXQiKTsKKworICAgZnVuY3Rpb24gcHRo cmVhZF9tdXRleGF0dHJfZGVzdHJveQorICAgICAoYXR0ciA6IGFjY2VzcyBw dGhyZWFkX211dGV4YXR0cl90KSByZXR1cm4gaW50OworICAgcHJhZ21hIElt cG9ydCAoQywgcHRocmVhZF9tdXRleGF0dHJfZGVzdHJveSwgInB0aHJlYWRf bXV0ZXhhdHRyX2Rlc3Ryb3kiKTsKKworICAgZnVuY3Rpb24gcHRocmVhZF9t dXRleF9pbml0CisgICAgIChtdXRleCA6IGFjY2VzcyBwdGhyZWFkX211dGV4 X3Q7CisgICAgICBhdHRyICA6IGFjY2VzcyBwdGhyZWFkX211dGV4YXR0cl90 KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9t dXRleF9pbml0LCAicHRocmVhZF9tdXRleF9pbml0Iik7CisKKyAgIGZ1bmN0 aW9uIHB0aHJlYWRfbXV0ZXhfZGVzdHJveSAobXV0ZXggOiBhY2Nlc3MgcHRo cmVhZF9tdXRleF90KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAo QywgcHRocmVhZF9tdXRleF9kZXN0cm95LCAicHRocmVhZF9tdXRleF9kZXN0 cm95Iik7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRfbXV0ZXhfbG9jayAobXV0 ZXggOiBhY2Nlc3MgcHRocmVhZF9tdXRleF90KSByZXR1cm4gaW50OworICAg cHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9tdXRleF9sb2NrLCAicHRocmVh ZF9tdXRleF9sb2NrIik7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRfbXV0ZXhf dW5sb2NrIChtdXRleCA6IGFjY2VzcyBwdGhyZWFkX211dGV4X3QpIHJldHVy biBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX211dGV4X3Vu bG9jaywgInB0aHJlYWRfbXV0ZXhfdW5sb2NrIik7CisKKyAgIGZ1bmN0aW9u IHB0aHJlYWRfcndsb2NrYXR0cl9pbml0CisgICAgIChhdHRyIDogYWNjZXNz IHB0aHJlYWRfcndsb2NrYXR0cl90KSByZXR1cm4gaW50OworICAgcHJhZ21h IEltcG9ydCAoQywgcHRocmVhZF9yd2xvY2thdHRyX2luaXQsICJwdGhyZWFk X3J3bG9ja2F0dHJfaW5pdCIpOworCisgICBmdW5jdGlvbiBwdGhyZWFkX3J3 bG9ja2F0dHJfZGVzdHJveQorICAgICAoYXR0ciA6IGFjY2VzcyBwdGhyZWFk X3J3bG9ja2F0dHJfdCkgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBvcnQg KEMsIHB0aHJlYWRfcndsb2NrYXR0cl9kZXN0cm95LCAicHRocmVhZF9yd2xv Y2thdHRyX2Rlc3Ryb3kiKTsKKyAgIFBUSFJFQURfUldMT0NLX1BSRUZFUl9S RUFERVJfTlAgICAgICAgICAgICAgIDogY29uc3RhbnQgOj0gMDsKKyAgIFBU SFJFQURfUldMT0NLX1BSRUZFUl9XUklURVJfTlAgICAgICAgICAgICAgIDog Y29uc3RhbnQgOj0gMTsKKyAgIFBUSFJFQURfUldMT0NLX1BSRUZFUl9XUklU RVJfTk9OUkVDVVJTSVZFX05QIDogY29uc3RhbnQgOj0gMjsKKworICAgZnVu Y3Rpb24gcHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRfbnAKKyAgICAgKGF0 dHIgOiBhY2Nlc3MgcHRocmVhZF9yd2xvY2thdHRyX3Q7CisgICAgICBwcmVm IDogaW50KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydAorICAgICAo QywgcHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRfbnAsICJwdGhyZWFkX3J3 bG9ja2F0dHJfc2V0a2luZF9ucCIpOworCisgICBmdW5jdGlvbiBwdGhyZWFk X3J3bG9ja19pbml0CisgICAgIChtdXRleCA6IGFjY2VzcyBwdGhyZWFkX3J3 bG9ja190OworICAgICAgYXR0ciAgOiBhY2Nlc3MgcHRocmVhZF9yd2xvY2th dHRyX3QpIHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhy ZWFkX3J3bG9ja19pbml0LCAicHRocmVhZF9yd2xvY2tfaW5pdCIpOworCisg ICBmdW5jdGlvbiBwdGhyZWFkX3J3bG9ja19kZXN0cm95CisgICAgIChtdXRl eCA6IGFjY2VzcyBwdGhyZWFkX3J3bG9ja190KSByZXR1cm4gaW50OworICAg cHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9yd2xvY2tfZGVzdHJveSwgInB0 aHJlYWRfcndsb2NrX2Rlc3Ryb3kiKTsKKworICAgZnVuY3Rpb24gcHRocmVh ZF9yd2xvY2tfcmRsb2NrIChtdXRleCA6IGFjY2VzcyBwdGhyZWFkX3J3bG9j a190KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVh ZF9yd2xvY2tfcmRsb2NrLCAicHRocmVhZF9yd2xvY2tfcmRsb2NrIik7CisK KyAgIGZ1bmN0aW9uIHB0aHJlYWRfcndsb2NrX3dybG9jayAobXV0ZXggOiBh Y2Nlc3MgcHRocmVhZF9yd2xvY2tfdCkgcmV0dXJuIGludDsKKyAgIHByYWdt YSBJbXBvcnQgKEMsIHB0aHJlYWRfcndsb2NrX3dybG9jaywgInB0aHJlYWRf cndsb2NrX3dybG9jayIpOworCisgICBmdW5jdGlvbiBwdGhyZWFkX3J3bG9j a191bmxvY2sgKG11dGV4IDogYWNjZXNzIHB0aHJlYWRfcndsb2NrX3QpIHJl dHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX3J3bG9j a191bmxvY2ssICJwdGhyZWFkX3J3bG9ja191bmxvY2siKTsKKworICAgZnVu Y3Rpb24gcHRocmVhZF9jb25kYXR0cl9pbml0CisgICAgIChhdHRyIDogYWNj ZXNzIHB0aHJlYWRfY29uZGF0dHJfdCkgcmV0dXJuIGludDsKKyAgIHByYWdt YSBJbXBvcnQgKEMsIHB0aHJlYWRfY29uZGF0dHJfaW5pdCwgInB0aHJlYWRf Y29uZGF0dHJfaW5pdCIpOworCisgICBmdW5jdGlvbiBwdGhyZWFkX2NvbmRh dHRyX2Rlc3Ryb3kKKyAgICAgKGF0dHIgOiBhY2Nlc3MgcHRocmVhZF9jb25k YXR0cl90KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRo cmVhZF9jb25kYXR0cl9kZXN0cm95LCAicHRocmVhZF9jb25kYXR0cl9kZXN0 cm95Iik7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRfY29uZF9pbml0CisgICAg IChjb25kIDogYWNjZXNzIHB0aHJlYWRfY29uZF90OworICAgICAgYXR0ciA6 IGFjY2VzcyBwdGhyZWFkX2NvbmRhdHRyX3QpIHJldHVybiBpbnQ7CisgICBw cmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX2NvbmRfaW5pdCwgInB0aHJlYWRf Y29uZF9pbml0Iik7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRfY29uZF9kZXN0 cm95IChjb25kIDogYWNjZXNzIHB0aHJlYWRfY29uZF90KSByZXR1cm4gaW50 OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9jb25kX2Rlc3Ryb3ks ICJwdGhyZWFkX2NvbmRfZGVzdHJveSIpOworCisgICBmdW5jdGlvbiBwdGhy ZWFkX2NvbmRfc2lnbmFsIChjb25kIDogYWNjZXNzIHB0aHJlYWRfY29uZF90 KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9j b25kX3NpZ25hbCwgInB0aHJlYWRfY29uZF9zaWduYWwiKTsKKworICAgZnVu Y3Rpb24gcHRocmVhZF9jb25kX3dhaXQKKyAgICAgKGNvbmQgIDogYWNjZXNz IHB0aHJlYWRfY29uZF90OworICAgICAgbXV0ZXggOiBhY2Nlc3MgcHRocmVh ZF9tdXRleF90KSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAoQywg cHRocmVhZF9jb25kX3dhaXQsICJwdGhyZWFkX2NvbmRfd2FpdCIpOworCisg ICBmdW5jdGlvbiBwdGhyZWFkX2NvbmRfdGltZWR3YWl0CisgICAgIChjb25k ICAgIDogYWNjZXNzIHB0aHJlYWRfY29uZF90OworICAgICAgbXV0ZXggICA6 IGFjY2VzcyBwdGhyZWFkX211dGV4X3Q7CisgICAgICBhYnN0aW1lIDogYWNj ZXNzIHRpbWVzcGVjKSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9ydCAo QywgcHRocmVhZF9jb25kX3RpbWVkd2FpdCwgInB0aHJlYWRfY29uZF90aW1l ZHdhaXQiKTsKKworICAgUmVsYXRpdmVfVGltZWRfV2FpdCA6IGNvbnN0YW50 IEJvb2xlYW4gOj0gRmFsc2U7CisgICAtLSAgcHRocmVhZF9jb25kX3RpbWVk d2FpdCByZXF1aXJlcyBhbiBhYnNvbHV0ZSBkZWxheSB0aW1lCisKKyAgIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBQT1NJWC4xYyAgU2Vj dGlvbiAxMyAtLQorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg IC0tICBGcm9tIC91c3IvaW5jbHVkZS9wdGhyZWFkL3B0aHJlYWR0eXBlcy5o CisKKyAgIFBUSFJFQURfUFJJT19OT05FICAgIDogY29uc3RhbnQgOj0gMDsK KyAgIFBUSFJFQURfUFJJT19QUk9URUNUIDogY29uc3RhbnQgOj0gMjsKKyAg IFBUSFJFQURfUFJJT19JTkhFUklUIDogY29uc3RhbnQgOj0gMTsKKworICAg LS0gIEdOVS9IdXJkIGRvZXMgbm90IHN1cHBvcnQgVGhyZWFkIFByaW9yaXR5 IFByb3RlY3Rpb24gb3IgVGhyZWFkCisgICAtLSAgUHJpb3JpdHkgSW5oZXJp dGFuY2UgYW5kIGxhY2tzIHNvbWUgcHRocmVhZF9tdXRleGF0dHJfKiBmdW5j dGlvbnMuCisgICAtLSAgUmVwbGFjZSB0aGVtIHdpdGggZHVtbXkgdmVyc2lv bnMuCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRlL3B0aHJlYWQvcHRocmVh ZC5oCisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHByb3Rv Y29sCisgICAgIChhdHRyICAgICA6IGFjY2VzcyBwdGhyZWFkX211dGV4YXR0 cl90OworICAgICAgcHJvdG9jb2wgOiBpbnQpIHJldHVybiBpbnQ7CisgICBw cmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX211dGV4YXR0cl9zZXRwcm90b2Nv bCwKKyAgICAgInB0aHJlYWRfbXV0ZXhhdHRyX3NldHByb3RvY29sIik7CisK KyAgIGZ1bmN0aW9uIHB0aHJlYWRfbXV0ZXhhdHRyX2dldHByb3RvY29sCisg ICAgIChhdHRyICAgICA6IGFjY2VzcyBwdGhyZWFkX211dGV4YXR0cl90Owor ICAgICAgcHJvdG9jb2wgOiBhY2Nlc3MgaW50KSByZXR1cm4gaW50OworICAg cHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9tdXRleGF0dHJfZ2V0cHJvdG9j b2wsCisgICAgICJwdGhyZWFkX211dGV4YXR0cl9nZXRwcm90b2NvbCIpOwor CisgICBmdW5jdGlvbiBwdGhyZWFkX211dGV4YXR0cl9zZXRwcmlvY2VpbGlu ZworICAgICAoYXR0ciAgICAgOiBhY2Nlc3MgcHRocmVhZF9tdXRleGF0dHJf dDsKKyAgICAgIHByaW9jZWlsaW5nIDogaW50KSByZXR1cm4gaW50OworCisg ICBmdW5jdGlvbiBwdGhyZWFkX211dGV4YXR0cl9nZXRwcmlvY2VpbGluZwor ICAgICAoYXR0ciAgICAgOiBhY2Nlc3MgcHRocmVhZF9tdXRleGF0dHJfdDsK KyAgICAgIHByaW9jZWlsaW5nIDogYWNjZXNzIGludCkgcmV0dXJuIGludDsK KworICAgdHlwZSBzdHJ1Y3Rfc2NoZWRfcGFyYW0gaXMgcmVjb3JkCisgICAg ICBzY2hlZF9wcmlvcml0eSA6IGludDsgIC0tICBzY2hlZHVsaW5nIHByaW9y aXR5CisgICBlbmQgcmVjb3JkOworICAgcHJhZ21hIENvbnZlbnRpb24gKEMs IHN0cnVjdF9zY2hlZF9wYXJhbSk7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRf c2V0c2NoZWRwYXJhbQorICAgICAodGhyZWFkIDogcHRocmVhZF90OworICAg ICAgcG9saWN5IDogaW50OworICAgICAgcGFyYW0gIDogYWNjZXNzIHN0cnVj dF9zY2hlZF9wYXJhbSkgcmV0dXJuIGludDsKKworICAgZnVuY3Rpb24gcHRo cmVhZF9hdHRyX3NldHNjb3BlCisgICAgIChhdHRyICAgICAgICAgICAgOiBh Y2Nlc3MgcHRocmVhZF9hdHRyX3Q7CisgICAgICBjb250ZW50aW9uc2NvcGUg OiBpbnQpIHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhy ZWFkX2F0dHJfc2V0c2NvcGUsICJwdGhyZWFkX2F0dHJfc2V0c2NvcGUiKTsK KworICAgZnVuY3Rpb24gcHRocmVhZF9hdHRyX2dldHNjb3BlCisgICAgIChh dHRyICAgICAgICAgICAgOiBhY2Nlc3MgcHRocmVhZF9hdHRyX3Q7CisgICAg ICBjb250ZW50aW9uc2NvcGUgOiBhY2Nlc3MgaW50KSByZXR1cm4gaW50Owor ICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9hdHRyX2dldHNjb3BlLCAi cHRocmVhZF9hdHRyX2dldHNjb3BlIik7CisKKyAgIGZ1bmN0aW9uIHB0aHJl YWRfYXR0cl9zZXRpbmhlcml0c2NoZWQKKyAgICAgKGF0dHIgICAgICAgICAg ICA6IGFjY2VzcyBwdGhyZWFkX2F0dHJfdDsKKyAgICAgIGluaGVyaXRzY2hl ZCA6IGludCkgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBvcnQgKEMsIHB0 aHJlYWRfYXR0cl9zZXRpbmhlcml0c2NoZWQsCisgICAgICJwdGhyZWFkX2F0 dHJfc2V0aW5oZXJpdHNjaGVkIik7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRf YXR0cl9nZXRpbmhlcml0c2NoZWQKKyAgICAgKGF0dHIgICAgICAgICA6IGFj Y2VzcyBwdGhyZWFkX2F0dHJfdDsKKyAgICAgIGluaGVyaXRzY2hlZCA6IGFj Y2VzcyBpbnQpIHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBw dGhyZWFkX2F0dHJfZ2V0aW5oZXJpdHNjaGVkLAorICAgICAicHRocmVhZF9h dHRyX2dldGluaGVyaXRzY2hlZCIpOworCisgICBmdW5jdGlvbiBwdGhyZWFk X2F0dHJfc2V0c2NoZWRwb2xpY3kKKyAgICAgKGF0dHIgICA6IGFjY2VzcyBw dGhyZWFkX2F0dHJfdDsKKyAgICAgIHBvbGljeSA6IGludCkgcmV0dXJuIGlu dDsKKyAgIHByYWdtYSBJbXBvcnQgKEMsIHB0aHJlYWRfYXR0cl9zZXRzY2hl ZHBvbGljeSwgInB0aHJlYWRfc2V0c2NoZWRwb2xpY3kiKTsKKworICAgZnVu Y3Rpb24gc2NoZWRfeWllbGQgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBv cnQgKEMsIHNjaGVkX3lpZWxkLCAic2NoZWRfeWllbGQiKTsKKworICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtLSBQMTAwMy4xYyAtIFNl Y3Rpb24gMTYgLS0KKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor CisgICBmdW5jdGlvbiBwdGhyZWFkX2F0dHJfaW5pdAorICAgICAoYXR0cmli dXRlcyA6IGFjY2VzcyBwdGhyZWFkX2F0dHJfdCkgcmV0dXJuIGludDsKKyAg IHByYWdtYSBJbXBvcnQgKEMsIHB0aHJlYWRfYXR0cl9pbml0LCAicHRocmVh ZF9hdHRyX2luaXQiKTsKKworICAgZnVuY3Rpb24gcHRocmVhZF9hdHRyX2Rl c3Ryb3kKKyAgICAgKGF0dHJpYnV0ZXMgOiBhY2Nlc3MgcHRocmVhZF9hdHRy X3QpIHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFk X2F0dHJfZGVzdHJveSwgInB0aHJlYWRfYXR0cl9kZXN0cm95Iik7CisKKyAg IGZ1bmN0aW9uIHB0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZQorICAgICAo YXR0ciAgICAgICAgOiBhY2Nlc3MgcHRocmVhZF9hdHRyX3Q7CisgICAgICBk ZXRhY2hzdGF0ZSA6IGludCkgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBv cnQKKyAgICAgKEMsIHB0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZSwgInB0 aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZSIpOworCisgICBmdW5jdGlvbiBw dGhyZWFkX2F0dHJfc2V0c3RhY2tzaXplCisgICAgIChhdHRyICAgICAgOiBh Y2Nlc3MgcHRocmVhZF9hdHRyX3Q7CisgICAgICBzdGFja3NpemUgOiBzaXpl X3QpIHJldHVybiBpbnQ7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFk X2F0dHJfc2V0c3RhY2tzaXplLCAicHRocmVhZF9hdHRyX3NldHN0YWNrc2l6 ZSIpOworCisgICAtLSAgRnJvbTogL3Vzci9pbmNsdWRlL3B0aHJlYWQvcHRo cmVhZC5oCisgICBmdW5jdGlvbiBwdGhyZWFkX2NyZWF0ZQorICAgICAodGhy ZWFkICAgICAgICA6IGFjY2VzcyBwdGhyZWFkX3Q7CisgICAgICBhdHRyaWJ1 dGVzICAgIDogYWNjZXNzIHB0aHJlYWRfYXR0cl90OworICAgICAgc3RhcnRf cm91dGluZSA6IFRocmVhZF9Cb2R5OworICAgICAgYXJnICAgICAgICAgICA6 IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gaW50OworICAgcHJhZ21hIEltcG9y dCAoQywgcHRocmVhZF9jcmVhdGUsICJwdGhyZWFkX2NyZWF0ZSIpOworCisg ICBwcm9jZWR1cmUgcHRocmVhZF9leGl0IChzdGF0dXMgOiBTeXN0ZW0uQWRk cmVzcyk7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFkX2V4aXQsICJw dGhyZWFkX2V4aXQiKTsKKworICAgZnVuY3Rpb24gcHRocmVhZF9zZWxmIHJl dHVybiBwdGhyZWFkX3Q7CisgICBwcmFnbWEgSW1wb3J0IChDLCBwdGhyZWFk X3NlbGYsICJwdGhyZWFkX3NlbGYiKTsKKworICAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAgIC0tIFBPU0lYLjFjICBTZWN0aW9uIDE3IC0tCisg ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICBmdW5jdGlvbiBw dGhyZWFkX3NldHNwZWNpZmljCisgICAgIChrZXkgICA6IHB0aHJlYWRfa2V5 X3Q7CisgICAgICB2YWx1ZSA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gaW50 OworICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9zZXRzcGVjaWZpYywg InB0aHJlYWRfc2V0c3BlY2lmaWMiKTsKKworICAgZnVuY3Rpb24gcHRocmVh ZF9nZXRzcGVjaWZpYyAoa2V5IDogcHRocmVhZF9rZXlfdCkgcmV0dXJuIFN5 c3RlbS5BZGRyZXNzOworICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9n ZXRzcGVjaWZpYywgInB0aHJlYWRfZ2V0c3BlY2lmaWMiKTsKKworICAgdHlw ZSBkZXN0cnVjdG9yX3BvaW50ZXIgaXMgYWNjZXNzIHByb2NlZHVyZSAoYXJn IDogU3lzdGVtLkFkZHJlc3MpOworICAgcHJhZ21hIENvbnZlbnRpb24gKEMs IGRlc3RydWN0b3JfcG9pbnRlcik7CisKKyAgIGZ1bmN0aW9uIHB0aHJlYWRf a2V5X2NyZWF0ZQorICAgICAoa2V5ICAgICAgICA6IGFjY2VzcyBwdGhyZWFk X2tleV90OworICAgICAgZGVzdHJ1Y3RvciA6IGRlc3RydWN0b3JfcG9pbnRl cikgcmV0dXJuIGludDsKKyAgIHByYWdtYSBJbXBvcnQgKEMsIHB0aHJlYWRf a2V5X2NyZWF0ZSwgInB0aHJlYWRfa2V5X2NyZWF0ZSIpOworCisgICAtLSAg RnJvbSAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9zY2hlZC5oCisgICBD UFVfU0VUU0laRSA6IGNvbnN0YW50IDo9IDFfMDI0OworCisgICB0eXBlIGJp dF9maWVsZCBpcyBhcnJheSAoMSAuLiBDUFVfU0VUU0laRSkgb2YgQm9vbGVh bjsKKyAgIGZvciBiaXRfZmllbGQnU2l6ZSB1c2UgQ1BVX1NFVFNJWkU7Cisg ICBwcmFnbWEgUGFjayAoYml0X2ZpZWxkKTsKKyAgIHByYWdtYSBDb252ZW50 aW9uIChDLCBiaXRfZmllbGQpOworCisgICB0eXBlIGNwdV9zZXRfdCBpcyBy ZWNvcmQKKyAgICAgIGJpdHMgOiBiaXRfZmllbGQ7CisgICBlbmQgcmVjb3Jk OworICAgcHJhZ21hIENvbnZlbnRpb24gKEMsIGNwdV9zZXRfdCk7CisKK3By aXZhdGUKKworICAgdHlwZSBzaWdzZXRfdCBpcyBhcnJheSAoMSAuLiA0KSBv ZiB1bnNpZ25lZDsKKworICAgLS0gIEluIEdOVS9IdXJkIHRoZSBjb21wb25l bnQgc2FfaGFuZGxlciB0dXJucyBvdXQgdG8KKyAgIC0tICBiZSBvbmUgYSB1 bmlvbiB0eXBlLCBhbmQgdGhlIHNlbGVjdG9yIGlzIGEgbWFjcm86CisgICAt LSAgI2RlZmluZSBzYV9oYW5kbGVyIF9fc2lnYWN0aW9uX2hhbmRsZXIuc2Ff aGFuZGxlcgorICAgLS0gICNkZWZpbmUgc2Ffc2lnYWN0aW9uIF9fc2lnYWN0 aW9uX2hhbmRsZXIuc2Ffc2lnYWN0aW9uCisKKyAgIC0tICBTaG91bGQgd2Ug YWRkIGEgc2lnbmFsX2NvbnRleHQgdHlwZSBoZXJlID8KKyAgIC0tICBIb3cg Y291bGQgaXQgYmUgZG9uZSBpbmRlcGVuZGVudCBvZiB0aGUgQ1BVIGFyY2hp dGVjdHVyZSA/CisgICAtLSAgc2lnY29udGV4dCB0eXBlIGlzIG9wYXF1ZSwg c28gaXQgaXMgYXJjaGl0ZWN0dXJhbGx5IG5ldXRyYWwuCisgICAtLSAgSXQg aXMgYWx3YXlzIHBhc3NlZCBhcyBhbiBhY2Nlc3MgdHlwZSwgc28gZGVmaW5l IGl0IGFzIGFuIGVtcHR5IHJlY29yZAorICAgLS0gIHNpbmNlIHRoZSBjb250 ZW50cyBhcmUgbm90IHVzZWQgYW55d2hlcmUuCisgICB0eXBlIHN0cnVjdF9z aWdjb250ZXh0IGlzIG51bGwgcmVjb3JkOworICAgcHJhZ21hIENvbnZlbnRp b24gKEMsIHN0cnVjdF9zaWdjb250ZXh0KTsKKworICAgdHlwZSBwaWRfdCBp cyBuZXcgaW50OworCisgICB0eXBlIHRpbWVfdCBpcyBuZXcgbG9uZzsKKwor ICAgdHlwZSB0aW1lc3BlYyBpcyByZWNvcmQKKyAgICAgIHR2X3NlYyAgOiB0 aW1lX3Q7CisgICAgICB0dl9uc2VjIDogbG9uZzsKKyAgIGVuZCByZWNvcmQ7 CisgICBwcmFnbWEgQ29udmVudGlvbiAoQywgdGltZXNwZWMpOworCisgICAt LSAgRnJvbTogL3Vzci9pbmNsdWRlL3B0aHJlYWQvcHRocmVhZHR5cGVzLmg6 CisgICAtLSAgdHlwZWRlZiBzdHJ1Y3QgX19wdGhyZWFkX2F0dHIgcHRocmVh ZF9hdHRyX3Q7CisgICAtLSAgL3Vzci9pbmNsdWRlL2kzODYtZ251L2JpdHMv dGhyZWFkLWF0dHIuaDogc3RydWN0IF9fcHRocmVhZF9hdHRyLi4uCisgICAt LSAgL3Vzci9pbmNsdWRlL3B0aHJlYWQvcHRocmVhZHR5cGVzLmg6IGVudW0g X19wdGhyZWFkX2NvbnRlbnRpb25zY29wZQorICAgLS0gICBlbnVtIF9fcHRo cmVhZF9kZXRhY2hzdGF0ZSBkZXRhY2hzdGF0ZTsKKyAgIC0tICAgZW51bSBf X3B0aHJlYWRfaW5oZXJpdHNjaGVkIGluaGVyaXRzY2hlZDsKKyAgIC0tICAg ZW51bSBfX3B0aHJlYWRfY29udGVudGlvbnNjb3BlIGNvbnRlbnRpb25zY29w ZTsKKyAgIC0tICAgTm90IHVzZWQ6IHNjaGVkcG9saWN5ICAgOiBpbnQ7Cisg ICB0eXBlIHB0aHJlYWRfYXR0cl90IGlzIHJlY29yZAorICAgICAgc2NoZWRw YXJhbSAgICA6IHN0cnVjdF9zY2hlZF9wYXJhbTsKKyAgICAgIHN0YWNrYWRk ciAgICAgOiBTeXN0ZW0uQWRkcmVzczsKKyAgICAgIHN0YWNrc2l6ZSAgICAg OiBzaXplX3Q7CisgICAgICBndWFyZHNpemUgICAgIDogc2l6ZV90OworICAg ICAgZGV0YWNoc3RhdGUgICA6IGludDsKKyAgICAgIGluaGVyaXRzY2hlZCAg OiBpbnQ7CisgICAgICBjb250ZW50aW9uc2NvcGUgOiBpbnQ7CisgICAgICBz Y2hlZHBvbGljeSAgIDogaW50OworICAgZW5kIHJlY29yZDsKKyAgIHByYWdt YSBDb252ZW50aW9uIChDLCBwdGhyZWFkX2F0dHJfdCk7CisKKyAgIC0tICBG cm9tOiAvdXNyL2luY2x1ZGUvcHRocmVhZC9wdGhyZWFkdHlwZXMuaDoKKyAg IC0tICB0eXBlZGVmIHN0cnVjdCBfX3B0aHJlYWRfY29uZGF0dHIgcHRocmVh ZF9jb25kYXR0cl90OworICAgLS0gIEZyb206IC91c3IvaW5jbHVkZS9pMzg2 LWdudS9iaXRzL2NvbmRpdGlvbi1hdHRyLmg6CisgICAtLSAgc3RydWN0IF9f cHRocmVhZF9jb25kYXR0ciB7CisgICAtLSAgICBlbnVtIF9fcHRocmVhZF9w cm9jZXNzX3NoYXJlZCBwc2hhcmVkOworICAgLS0gICAgX19DbG9ja2lkX1Qg Q2xvY2s7fQorICAgLS0gIEZyb206IC91c3IvaW5jbHVkZS9wdGhyZWFkL3B0 aHJlYWR0eXBlcy5oOgorICAgLS0gIGVudW0gX19wdGhyZWFkX3Byb2Nlc3Nf c2hhcmVkCisgICB0eXBlIHB0aHJlYWRfY29uZGF0dHJfdCBpcyByZWNvcmQK KyAgICAgIHBzaGFyZWQgOiBpbnQ7CisgICAgICBjbG9jayAgIDogY2xvY2tp ZF90OworICAgZW5kIHJlY29yZDsKKyAgIHByYWdtYSBDb252ZW50aW9uIChD LCBwdGhyZWFkX2NvbmRhdHRyX3QpOworCisgICAtLSAgRnJvbTogL3Vzci9p bmNsdWRlL3B0aHJlYWQvcHRocmVhZHR5cGVzLmg6CisgICAtLSAgdHlwZWRl ZiBzdHJ1Y3QgX19wdGhyZWFkX211dGV4YXR0ciBwdGhyZWFkX211dGV4YXR0 cl90OyBhbmQKKyAgIC0tICAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9t dXRleC1hdHRyLmgKKyAgIC0tICBzdHJ1Y3QgX19wdGhyZWFkX211dGV4YXR0 ciB7CisgICAtLSAgaW50IHByaW9jZWlsaW5nOworICAgLS0gIGVudW0gX19w dGhyZWFkX211dGV4X3Byb3RvY29sIHByb3RvY29sOworICAgLS0gIGVudW0g X19wdGhyZWFkX3Byb2Nlc3Nfc2hhcmVkIHBzaGFyZWQ7CisgICAtLSAgZW51 bSBfX3B0aHJlYWRfbXV0ZXhfdHlwZSBtdXRleF90eXBlO307CisgICB0eXBl IHB0aHJlYWRfbXV0ZXhhdHRyX3QgaXMgcmVjb3JkCisgICAgICBwcmlvY2Vp bGluZyA6IGludDsKKyAgICAgIHByb3RvY29sICAgIDogaW50OworICAgICAg cHNoYXJlZCAgICAgOiBpbnQ7CisgICAgICBtdXRleF90eXBlICA6IGludDsK KyAgIGVuZCByZWNvcmQ7CisgICBwcmFnbWEgQ29udmVudGlvbiAoQywgcHRo cmVhZF9tdXRleGF0dHJfdCk7CisKKyAgIC0tICBGcm9tOiAvdXNyL2luY2x1 ZGUvcHRocmVhZC9wdGhyZWFkdHlwZXMuaAorICAgLS0gIHR5cGVkZWYgc3Ry dWN0IF9fcHRocmVhZF9tdXRleCBwdGhyZWFkX211dGV4X3Q7IGFuZAorICAg LS0gIC91c3IvaW5jbHVkZS9pMzg2LWdudS9iaXRzL211dGV4Lmg6CisgICAt LSAgc3RydWN0IF9fcHRocmVhZF9tdXRleCB7CisgICAtLSAgX19wdGhyZWFk X3NwaW5sb2NrX3QgX19oZWxkOworICAgLS0gIF9fcHRocmVhZF9zcGlubG9j a190IF9fbG9jazsKKyAgIC0tICAvKiBpbiBjdGhyZWFkcywgbXV0ZXhfaW5p dCBkb2VzIG5vdCBpbml0aWFsaXplZCB0aGUgdGhpcmQKKyAgIC0tICAgIHBv aW50ZXIsIGFzIHN1Y2gsIHdlIGNhbm5vdCByZWx5IG9uIGl0cyB2YWx1ZSBm b3IgYW55dGhpbmcuICAqLworICAgLS0gICAgY2hhciAqY3RocmVhZHNjb21w YXQxOworICAgLS0gIHN0cnVjdCBfX3B0aHJlYWQgKl9fcXVldWU7CisgICAt LSAgc3RydWN0IF9fcHRocmVhZF9tdXRleGF0dHIgKmF0dHI7CisgICAtLSAg dm9pZCAqZGF0YTsKKyAgIC0tICAvKiAgdXAgdG8gdGhpcyBwb2ludCwgd2Ug YXJlIGNvbXBsZXRlbHkgY29tcGF0aWJsZSB3aXRoIGN0aHJlYWRzCisgICAt LSAgICBhbmQgd2hhdCBsaWJjIGV4cGVjdHMuICAqLworICAgLS0gICAgdm9p ZCAqb3duZXI7CisgICAtLSAgdW5zaWduZWQgbG9ja3M7CisgICAtLSAgLyog aWYgbnVsbCB0aGVuIHRoZSBkZWZhdWx0IGF0dHJpYnV0ZXMgYXBwbHkuICAq LworICAgLS0gICAgfTsKKworICAgdHlwZSBwdGhyZWFkX211dGV4X3QgaXMg cmVjb3JkCisgICAgICBoZWxkICAgICAgICAgIDogaW50OworICAgICAgbG9j ayAgICAgICAgICA6IGludDsKKyAgICAgIGN0aHJlYWRjb21wYXQgOiBTeXN0 ZW0uQWRkcmVzczsKKyAgICAgIHF1ZXVlICAgICAgICAgOiBTeXN0ZW0uQWRk cmVzczsKKyAgICAgIGF0dHIgICAgICAgICAgOiBTeXN0ZW0uQWRkcmVzczsK KyAgICAgIGRhdGEgICAgICAgICAgOiBTeXN0ZW0uQWRkcmVzczsKKyAgICAg IG93bmVyICAgICAgICAgOiBTeXN0ZW0uQWRkcmVzczsKKyAgICAgIGxvY2tz ICAgICAgICAgOiB1bnNpZ25lZDsKKyAgIGVuZCByZWNvcmQ7CisgICBwcmFn bWEgQ29udmVudGlvbiAoQywgcHRocmVhZF9tdXRleF90KTsKKyAgIC0tICBw b2ludGVyIG5lZWRlZD8KKyAgIC0tICB0eXBlIHB0aHJlYWRfbXV0ZXhfdF9w dHIgaXMgYWNjZXNzIHB0aHJlYWRfbXV0ZXhfdDsKKworICAgLS0gIEZyb206 IC91c3IvaW5jbHVkZS9wdGhyZWFkL3B0aHJlYWR0eXBlcy5oOgorICAgLS0g IHR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF9jb25kIHB0aHJlYWRfY29uZF90 OworICAgLS0gIHR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF9jb25kYXR0ciBw dGhyZWFkX2NvbmRhdHRyX3Q7CisgICAtLSAgL3Vzci9pbmNsdWRlL2kzODYt Z251L2JpdHMvY29uZGl0aW9uLmg6c3RydWN0IF9fcHRocmVhZF9jb25ke30K KyAgIC0tICBwdGhyZWFkX2NvbmRhdHRyX3Q6IHNlZSBhYm92ZSEKKyAgIC0t ICAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9jb25kaXRpb24uaDoKKyAg IC0tICBzdHJ1Y3QgX19wdGhyZWFkX2NvbmRpbXBsICpfX2ltcGw7CisKKyAg IHR5cGUgcHRocmVhZF9jb25kX3QgaXMgcmVjb3JkCisgICAgICBsb2NrICAg ICAgIDogaW50OworICAgICAgcXVldWUgICAgICA6IFN5c3RlbS5BZGRyZXNz OworICAgICAgY29uZGF0dHIgICA6IFN5c3RlbS5BZGRyZXNzOworICAgICAg aW1wbCAgICAgICA6IFN5c3RlbS5BZGRyZXNzOworICAgICAgZGF0YSAgICAg ICA6IFN5c3RlbS5BZGRyZXNzOworICAgZW5kIHJlY29yZDsKKyAgIHByYWdt YSBDb252ZW50aW9uIChDLCBwdGhyZWFkX2NvbmRfdCk7CisKKyAgIC0tICBG cm9tOiAvdXNyL2luY2x1ZGUvcHRocmVhZC9wdGhyZWFkdHlwZXMuaDoKKyAg IC0tICB0eXBlZGVmIF9fcHRocmVhZF9rZXkgcHRocmVhZF9rZXlfdDsgYW5k CisgICAtLSAgL3Vzci9pbmNsdWRlL2kzODYtZ251L2JpdHMvdGhyZWFkLXNw ZWNpZmljLmg6CisgICAtLSAgdHlwZWRlZiBpbnQgX19wdGhyZWFkX2tleTsK KworICAgdHlwZSBwdGhyZWFkX2tleV90IGlzIG5ldyBpbnQ7CisKKyAgIC0t ICBGcm9tOiAvdXNyL2luY2x1ZGUvaTM4Ni1nbnUvYml0cy9yd2xvY2stYXR0 ci5oOgorICAgLS0gIHN0cnVjdCBfX3B0aHJlYWRfcndsb2NrYXR0ciB7Cisg ICAtLSAgZW51bSBfX3B0aHJlYWRfcHJvY2Vzc19zaGFyZWQgcHNoYXJlZDsg fTsKKworICAgdHlwZSBwdGhyZWFkX3J3bG9ja2F0dHJfdCBpcyByZWNvcmQK KyAgICAgIHBzaGFyZWQgOiBpbnQ7CisgICBlbmQgcmVjb3JkOworICAgcHJh Z21hIENvbnZlbnRpb24gKEMsIHB0aHJlYWRfcndsb2NrYXR0cl90KTsKKwor ICAgLS0gIEZyb206IC91c3IvaW5jbHVkZS9pMzg2LWdudS9iaXRzL3J3bG9j ay5oOgorICAgLS0gIHN0cnVjdCBfX3B0aHJlYWRfcndsb2NrIHsKKyAgIC0t ICBfX3B0aHJlYWRfc3BpbmxvY2tfdCBfX2hlbGQ7CisgICAtLSAgX19wdGhy ZWFkX3NwaW5sb2NrX3QgX19sb2NrOworICAgLS0gIGludCByZWFkZXJzOwor ICAgLS0gIHN0cnVjdCBfX3B0aHJlYWQgKnJlYWRlcnF1ZXVlOworICAgLS0g IHN0cnVjdCBfX3B0aHJlYWQgKndyaXRlcnF1ZXVlOworICAgLS0gIHN0cnVj dCBfX3B0aHJlYWRfcndsb2NrYXR0ciAqX19hdHRyOworICAgLS0gIHZvaWQg Kl9fZGF0YTsgfTsKKworICAgdHlwZSBwdGhyZWFkX3J3bG9ja190IGlzIHJl Y29yZAorICAgICAgaGVsZCAgICAgICAgOiBpbnQ7CisgICAgICBsb2NrICAg ICAgICA6IGludDsKKyAgICAgIHJlYWRlcnMgICAgIDogaW50OworICAgICAg cmVhZGVycXVldWUgOiBTeXN0ZW0uQWRkcmVzczsKKyAgICAgIHdyaXRlcnF1 ZXVlIDogU3lzdGVtLkFkZHJlc3M7CisgICAgICBhdHRyICAgICAgICA6IHB0 aHJlYWRfcndsb2NrYXR0cl90OworICAgICAgZGF0YSAgICAgICAgOiBpbnQ7 CisgICBlbmQgcmVjb3JkOworICAgcHJhZ21hIENvbnZlbnRpb24gKEMsIHB0 aHJlYWRfcndsb2NrX3QpOworCitlbmQgU3lzdGVtLk9TX0ludGVyZmFjZTsK SW5kZXg6IGdjYy01LTUuMy4xL3NyYy9nY2MvYWRhL2djYy1pbnRlcmZhY2Uv TWFrZWZpbGUuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjLTUt NS4zLjEub3JpZy9zcmMvZ2NjL2FkYS9nY2MtaW50ZXJmYWNlL01ha2VmaWxl LmluCisrKyBnY2MtNS01LjMuMS9zcmMvZ2NjL2FkYS9nY2MtaW50ZXJmYWNl L01ha2VmaWxlLmluCkBAIC0xMzkwLDYgKzEzOTAsMzUgQEAgaWZlcSAoJChz dHJpcCAkKGZpbHRlci1vdXQgJTg2IGtmcmVlYnNkJQogICBNSVNDTElCID0g LWx1dGlsCiBlbmRpZgogCisjIGlbMzQ1Nl04Ni1wYy1nbnUgaS5lLiBHTlUg SHVyZAoraWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgJTg2IHBjIGdudSwk KHRhcmdldF9jcHUpICQodGFyZ2V0X3ZlbmRvcikgJCh0YXJnZXRfb3MpKSks KQorICBMSUJHTkFUX1RBUkdFVF9QQUlSUyA9IFwKKyAgYS1pbnRuYW0uYWRz PGEtaW50bmFtLWZyZWVic2QuYWRzIFwKKyAgcy1pbm1hb3AuYWRiPHMtaW5t YW9wLXBvc2l4LmFkYiBcCisgIHMtaW50bWFuLmFkYjxzLWludG1hbi1wb3Np eC5hZGIgXAorICBzLW9zaW50ZS5hZGI8cy1vc2ludGUtZ251LmFkYiBcCisg IHMtb3NpbnRlLmFkczxzLW9zaW50ZS1nbnUuYWRzIFwKKyAgcy1vc3ByaW0u YWRiPHMtb3NwcmltLXBvc2l4LmFkYiBcCisgIHMtdGFwcm9wLmFkYjxzLXRh cHJvcC1wb3NpeC5hZGIgXAorICBzLXRhc3ByaS5hZHM8cy10YXNwcmktcG9z aXguYWRzIFwKKyAgcy10cG9wc3AuYWRiPHMtdHBvcHNwLXBvc2l4LWZvcmVp Z24uYWRiIFwKKyAgJChBVE9NSUNTX1RBUkdFVF9QQUlSUykgXAorICAkKFg4 Nl9UQVJHRVRfUEFJUlMpIFwKKyAgc3lzdGVtLmFkczxzeXN0ZW0tZnJlZWJz ZC14ODYuYWRzCisKKyAgVE9PTFNfVEFSR0VUX1BBSVJTID0gIFwKKyAgICBt bGliLXRndC1zcGVjaWZpYy5hZGI8bWxpYi10Z3Qtc3BlY2lmaWMtbGludXgu YWRiIFwKKyAgICBpbmRlcHN3LmFkYjxpbmRlcHN3LWdudS5hZGIKKworICBF WFRSQV9HTkFUUlRMX05PTlRBU0tJTkdfT0JKUz1nLXNzZS5vIGctc3N2ZXR5 Lm8KKworICBFSF9NRUNIQU5JU009LWdjYworICBUSFJFQURTTElCID0gLWxw dGhyZWFkCisgIEdOQVRMSUJfU0hBUkVEID0gZ25hdGxpYi1zaGFyZWQtZHVh bAorICBHTUVNX0xJQiA9IGdtZW1saWIKKyAgTElCUkFSWV9WRVJTSU9OIDo9 ICQoTElCX1ZFUlNJT04pCitlbmRpZgorCiBpZmVxICgkKHN0cmlwICQoZmls dGVyLW91dCB4ODZfNjQga2ZyZWVic2QlLCQodGFyZ2V0X2NwdSkgJCh0YXJn ZXRfb3MpKSksKQogICBMSUJHTkFUX1RBUkdFVF9QQUlSUyA9IFwKICAgYS1p bnRuYW0uYWRzPGEtaW50bmFtLWZyZWVic2QuYWRzIFwK --=-rv5bnq6TcHJaQ7aV+SKS--