From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26222 invoked from network); 16 Feb 2021 01:36:31 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 16 Feb 2021 01:36:31 -0000 Content-Type: multipart/mixed; boundary="===============5096473630424573141==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_New_package=3A_libgccjit-10=2E2=2E1=5Fpre1?= To: ml@inbox.vuxu.org From: lane-brain Reply-to: ml@inbox.vuxu.org Message-ID: Date: Tue, 16 Feb 2021 02:36:25 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============5096473630424573141== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGxhbmUtYnJhaW4gYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2xhbmUt YnJhaW4vdm9pZC1wYWNrYWdlcyBsaWJnY2NqaXQtdm9pZApodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjg3ODUKCk5ldyBwYWNrYWdlOiBsaWJnY2NqaXQt MTAuMi4xX3ByZTEKPCEtLSBNYXJrIGl0ZW1zIHdpdGggW3hdIHdoZXJlIGFwcGxpY2FibGUgLS0+ DQoNCiMjIyMgR2VuZXJhbA0KLSBbeF0gVGhpcyBpcyBhIG5ldyBwYWNrYWdlIGFuZCBpdCBjb25m b3JtcyB0byB0aGUgW3F1YWxpdHkgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVp cmVtZW50cykNCg0KIyMjIyBIYXZlIHRoZSByZXN1bHRzIG9mIHRoZSBwcm9wb3NlZCBjaGFuZ2Vz IGJlZW4gdGVzdGVkPw0KLSBbeF0gSSB1c2UgdGhlIHBhY2thZ2VzIGFmZmVjdGVkIGJ5IHRoZSBw cm9wb3NlZCBjaGFuZ2VzIG9uIGEgcmVndWxhciBiYXNpcyBhbmQgY29uZmlybSB0aGlzIFBSIHdv cmtzIGZvciBtZQ0KLSBbIF0gSSBnZW5lcmFsbHkgZG9uJ3QgdXNlIHRoZSBhZmZlY3RlZCBwYWNr YWdlcyBidXQgYnJpZWZseSB0ZXN0ZWQgdGhpcyBQUg0KDQo8IS0tDQpJZiBHaXRIdWIgQ0kgY2Fu bm90IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIGJ1aWxkIHJlc3VsdCAoZm9yIGV4YW1wbGUsIGlm IHRoZQ0KYnVpbGQgaXMgbGlrZWx5IHRvIHRha2Ugc2V2ZXJhbCBob3VycyksIG1ha2Ugc3VyZSB0 bw0KW3NraXAgQ0ldKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMv YmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24pLg0KV2hl biBza2lwcGluZyBDSSwgdW5jb21tZW50IGFuZCBmaWxsIG91dCB0aGUgZm9sbG93aW5nIHNlY3Rp b24uDQpOb3RlOiBmb3IgYnVpbGRzIHRoYXQgYXJlIGxpa2VseSB0byBjb21wbGV0ZSBpbiBsZXNz IHRoYW4gMiBob3VycywgaXQgaXMgbm90DQphY2NlcHRhYmxlIHRvIHNraXAgQ0kuDQotLT4NCjwh LS0gDQojIyMjIERvZXMgaXQgYnVpbGQgYW5kIHJ1biBzdWNjZXNzZnVsbHk/IA0KKFBsZWFzZSBj aG9vc2UgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVh c3Qgb25lIGNyb3NzIGJ1aWxkLiBNb3JlIGFyZSBiZXR0ZXIuKQ0KLSBbeF0gSSBidWlsdCB0aGlz IFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsICh4ODZfNjQtZ2xpYmMpDQot IFsgXSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYg c3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRzKToNCiAgLSBbIF0gYWFyY2g2NC1tdXNsDQogIC0g WyBdIGFybXY3bA0KICAtIFsgXSBhcm12NmwtbXVzbA0KLS0+CgpBIHBhdGNoIGZpbGUgZnJvbSBo dHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjg3ODUucGF0 Y2ggaXMgYXR0YWNoZWQ= --===============5096473630424573141== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-libgccjit-void-28785.patch" RnJvbSA0MTFkOTkyOWI0ZWQyNTk1NmFmMjE2YzY0M2U5YzE2NWE4ZmMyNmE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsYW5lLWJyYWluIDxsYW5lQG1haWxib3gub3JnPgpEYXRlOiBN b24sIDE1IEZlYiAyMDIxIDIwOjMyOjUxIC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBhY2th Z2U6IGxpYmdjY2ppdC0xMC4yLjFfcHJlMQoKLS0tCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9j ODkuMSAgICAgICAgICAgICAgICAgfCAgODAgKysrKysrCiBzcmNwa2dzL2xpYmdjY2ppdC9maWxl cy9jODkuc2ggICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjcGtncy9saWJnY2NqaXQvZmlsZXMv Yzk5LjEgICAgICAgICAgICAgICAgIHwgIDgxICsrKysrKwogc3JjcGtncy9saWJnY2NqaXQvZmls ZXMvYzk5LnNoICAgICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVz L2djY2dvLW11c2wucGF0Y2ggICAgICB8IDIyMiArKysrKysrKysrKysrKysrCiBzcmNwa2dzL2xp YmdjY2ppdC9maWxlcy9saWJnbmFybC1tdXNsLnBhdGNoICAgfCAxMjUgKysrKysrKysrCiBzcmNw a2dzL2xpYmdjY2ppdC9maWxlcy9saWJzc3AtbXVzbC5wYXRjaCAgICAgfCAgNzAgKysrKysKIHNy Y3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvYWRhLXNoYXJlZC5wYXRjaCAgICB8ICAyOCArKwogLi4u L3BhdGNoZXMvY29uc2lzdGVudC1saWJyYXJ5LXBhdGhzLnBhdGNoICAgIHwgMTEwICsrKysrKysr CiAuLi4vcGF0Y2hlcy9maXgtY3h4ZmxhZ3MtcGFzc2luZy5wYXRjaCAgICAgICAgfCAgMTAgKwog Li4uL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC1tdXNsLWV4ZWNpbmZvLnBhdGNoIHwgIDMzICsrKwog Li4uL3BhdGNoZXMvZml4LXZ0di1saW5rLW9yZGVyLnBhdGNoICAgICAgICAgIHwgIDIwICsrCiAu Li4vbGliZ2Njaml0L3BhdGNoZXMvbGliZmZpX2dudWxpbnV4LnBhdGNoICAgfCAgMTEgKwogLi4u L3BhdGNoZXMvbGliZ2NjLWlibTEyOC1uby10YWcucGF0Y2ggICAgICAgIHwgIDM4ICsrKwogLi4u L2xpYmdjY2ppdC9wYXRjaGVzL21pcHMtc2dpZGVmc19oLnBhdGNoICAgIHwgIDExICsKIC4uLi9s aWJnY2NqaXQvcGF0Y2hlcy9taXBzLXNvZnQtZmxvYXQucGF0Y2ggICB8ICAxOCArKwogc3JjcGtn cy9saWJnY2NqaXQvcGF0Y2hlcy9tdXNsLWFkYS5wYXRjaCAgICAgIHwgMjA0ICsrKysrKysrKysr KysrKwogc3JjcGtncy9saWJnY2NqaXQvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgMjQx ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9saWJnY2NqaXQvdXBkYXRlICAgICAgICAgICAg ICAgICAgICAgIHwgICAyICsKIDE5IGZpbGVzIGNoYW5nZWQsIDEzMDggaW5zZXJ0aW9ucygrKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M4OS4xCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzg5LnNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LjEKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jOTkuc2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L2xpYmdjY2ppdC9maWxlcy9nY2Nnby1tdXNsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9saWJnY2NqaXQvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9hZGEtc2hhcmVkLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9jb25zaXN0ZW50LWxpYnJh cnktcGF0aHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9wYXRj aGVzL2ZpeC1jeHhmbGFncy1wYXNzaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9saWJnY2NqaXQvcGF0Y2hlcy9maXgtbXVzbC1leGVjaW5mby5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4LXZ0di1saW5rLW9yZGVyLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9saWJmZmlfZ251 bGludXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVz L2xpYmdjYy1pYm0xMjgtbm8tdGFnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9s aWJnY2NqaXQvcGF0Y2hlcy9taXBzLXNnaWRlZnNfaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvbWlwcy1zb2Z0LWZsb2F0LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9tdXNsLWFkYS5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGliZ2Njaml0L3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9saWJnY2NqaXQvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJn Y2NqaXQvZmlsZXMvYzg5LjEgYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuMQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uM2VkOTg0ZGEzM2YKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuMQpAQCAtMCwwICsxLDgwIEBACisu XCIJJE5ldEJTRDogYzg5LjEsdiAxLjIgMjAwOC8wNC8zMCAxMzoxMDo1MCBtYXJ0aW4gRXhwICQK Ky5cIgorLlwiIENvcHlyaWdodCAoYykgMTk5OSBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4K Ky5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVz ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZp Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp b25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRp c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly aWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiCisuXCIgVEhJ UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04sIElOQy4gQU5E IENPTlRSSUJVVE9SUworLlwiIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorLlwiIFRPLCBUSEUgSU1QTElF RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSCisuXCIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBG T1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUworLlwiIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFV RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO VCBPRgorLlwiIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworLlwiIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisuXCIgQ09OVFJB Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U SEVSV0lTRSkKKy5cIiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorLlwiIFBPU1NJQklMSVRZIE9GIFNVQ0gg REFNQUdFLgorLlwiCisuRGQgSmFudWFyeSA1LCAxOTk5CisuRHQgQzg5IDEKKy5PcworLlNoIE5B TUUKKy5ObSBjODkKKy5OZCBBTlNJICgxOTg5KSBDIGNvbXBpbGVyCisuU2ggU1lOT1BTSVMKKy5O bQorLk9wIEZsIHBlZGFudGljCisuT3AgRmwgcGVkYW50aWMtZXJyb3JzCisuT3AgRmwgRF9BTlNJ X1NPVVJDRQorLk9wIG9wdGlvbnMgLi4uCisuU2ggREVTQ1JJUFRJT04KK0NhbGxzIHRoZSBDIGNv bXBpbGVyIChjYykgd2l0aCB0aGUgZ2l2ZW4KKy5BciBvcHRpb25zICwKK3VzaW5nIGEgQyBsYW5n dWFnZSBlbnZpcm9ubWVudCBjb21wYXRpYmxlIHdpdGggdGhlCisuU3QgLWFuc2lDCitzcGVjaWZp Y2F0aW9uLgorLlBwCitUaGlzIGluY2x1ZGVzIHByb3BlciBoYW5kbGluZyBvZiB0cmlncmFwaHMs CitkaXNhYmxpbmcgbm9uLUFOU0kgY29tcGlsZXIgZmVhdHVyZXMgKHN1Y2ggYXMKKy5BciBhc20g LAorLkFyIGlubGluZSAsCisuQXIgdHlwZW9mICwKK2FuZCB0aGUgJCBjaGFyYWN0ZXIgaW4gaWRl bnRpZmllcnMpLAorYW5kIGRlZmluaXRpb24gb2YgdGhlIHByZXByb2Nlc3NvciBzeW1ib2wKKy5F diBfX1NUUklDVF9BTlNJX18gLgorLlBwCitUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIGF2YWls YWJsZToKKy5CbCAtdGFnIC13aWR0aCAtcGVkYW50aWMtZXJyb3JzeHgKKy5JdCBGbCBwZWRhbnRp YworSXNzdWUgZXh0cmEgd2FybmluZ3MgZGVmaW5lZCBieSBBTlNJIGZvciB1c2Ugb2Ygbm9uLUFO U0kgZmVhdHVyZXMuCisuSXQgRmwgcGVkYW50aWMtZXJyb3JzCitJc3N1ZSBlcnJvcnMgaW5zdGVh ZCBvZiB3YXJuaW5ncyB0aGF0IG5vcm1hbGx5IHdvdWxkIGJlIHByZXNlbnRlZCBieQorLkZsIHBl ZGFudGljIC4KKy5JdCBGbCBEX0FOU0lfU09VUkNFCitUZWxsIHRoZSBzeXN0ZW0gaGVhZGVyIGZp bGUgc2V0IHRvIHVzZSBhbiBBTlNJLWNvbmZvcm1hbnQgImNsZWFuIiBuYW1lc3BhY2UuCisuRWwK Ky5TaCBTRUUgQUxTTworLlhyIGNjIDEKKy5TaCBTVEFOREFSRFMKKy5ObQorY29uZm9ybXMgdG8K Ky5TdCAtcDEwMDMuMi05MiAuCisuU2ggSElTVE9SWQorLk5tCithcHBlYXJlZCBpbgorLk54IDEu NCAuCisuU2ggQlVHUworU2luY2UKKy5ObQoraXMgYSBzaGVsbCB3cmFwcGVyIHNjcmlwdCB0bwor LkFyIGNjICwKK2NvbXBpbGUgZXJyb3JzIGFyZSBwcmVmaXhlZCBieSAiY2M6Ii4KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2M4OS5zaCBiL3NyY3BrZ3MvbGliZ2Njaml0L2Zp bGVzL2M4OS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTJkNmQ0 NTQzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jODkuc2gK QEAgLTAsMCArMSwyIEBACisjIS9iaW4vc2gKK2V4ZWMgL3Vzci9iaW4vY2MgLXN0ZD1jODkgIiRA IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LjEgYi9zcmNwa2dzL2xp YmdjY2ppdC9maWxlcy9jOTkuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uZDM2OGYxYTg3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxl cy9jOTkuMQpAQCAtMCwwICsxLDgxIEBACisuXCIJJE5ldEJTRDogYzk5LjEsdiAxLjMgMjAxMC8w NS8xNCAwMTo1MzoyOCBqb2VyZyBFeHAgJAorLlwiCisuXCIgQ29weXJpZ2h0IChjKSAxOTk5LTIw MDggVGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuCisuXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4K Ky5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y bXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92 aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4g UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5 cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s bG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMg bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisu XCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg dGhlIGRpc3RyaWJ1dGlvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg VEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFORCBDT05UUklCVVRPUlMKKy5cIiBgYEFTIElT JycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg Tk9UIExJTUlURUQKKy5cIiBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLlwiIFBVUlBPU0UgQVJFIERJU0NM QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgRk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMK Ky5cIiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD SUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKy5cIiBTVUJTVElUVVRFIEdPT0RT IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK Ky5cIiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ QUJJTElUWSwgV0hFVEhFUiBJTgorLlwiIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisuXCIgQVJJU0lORyBJTiBB TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP RiBUSEUKKy5cIiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKy5cIgorLkRkIFNlcHRlbWJl ciAyNCwgMjAwOAorLkR0IEM5OSAxCisuT3MKKy5TaCBOQU1FCisuTm0gYzk5CisuTmQgQU5TSSAo MTk5OSkgQyBjb21waWxlcgorLlNoIFNZTk9QU0lTCisuTm0KKy5PcCBGbCBwZWRhbnRpYworLk9w IEZsIHBlZGFudGljLWVycm9ycworLk9wIEZsIERfQU5TSV9TT1VSQ0UKKy5PcCBvcHRpb25zIC4u LgorLlNoIERFU0NSSVBUSU9OCitDYWxscyB0aGUgQyBjb21waWxlciAoY2MpIHdpdGggdGhlIGdp dmVuCisuQXIgb3B0aW9ucyAsCit1c2luZyBhIEMgbGFuZ3VhZ2UgZW52aXJvbm1lbnQgY29tcGF0 aWJsZSB3aXRoIHRoZQorLlN0IC1pc29DLTk5CitzcGVjaWZpY2F0aW9uLgorLlBwCitUaGlzIGlu Y2x1ZGVzCitpbmxpbmUgZnVuY3Rpb25zLCB2YXJpYWJsZS1sZW5ndGggYXJyYXlzLCBzdXBwb3J0 IGZvciBvbmUtbGluZQorY29tbWVudHMgYmVnaW5uaW5nIHdpdGggLy8sCitkaXNhYmxpbmcgbm9u LUFOU0kgY29tcGlsZXIgZmVhdHVyZXMgKHN1Y2ggYXMKKy5BciBhc20gLAorLkFyIHR5cGVvZiAs CithbmQgdGhlICQgY2hhcmFjdGVyIGluIGlkZW50aWZpZXJzKSwKK2FuZCBkZWZpbml0aW9uIG9m IHRoZSBwcmVwcm9jZXNzb3Igc3ltYm9sCisuRXYgX19TVFJJQ1RfQU5TSV9fIC4KKy5QcAorVGhl IGZvbGxvd2luZyBvcHRpb25zIGFyZSBhdmFpbGFibGU6CisuQmwgLXRhZyAtd2lkdGggLXBlZGFu dGljLWVycm9yc3h4CisuSXQgRmwgcGVkYW50aWMKK0lzc3VlIGV4dHJhIHdhcm5pbmdzIGRlZmlu ZWQgYnkgQU5TSSBmb3IgdXNlIG9mIG5vbi1BTlNJIGZlYXR1cmVzLgorLkl0IEZsIHBlZGFudGlj LWVycm9ycworSXNzdWUgZXJyb3JzIGluc3RlYWQgb2Ygd2FybmluZ3MgdGhhdCBub3JtYWxseSB3 b3VsZCBiZSBwcmVzZW50ZWQgYnkKKy5GbCBwZWRhbnRpYyAuCisuSXQgRmwgRF9BTlNJX1NPVVJD RQorVGVsbCB0aGUgc3lzdGVtIGhlYWRlciBmaWxlIHNldCB0byB1c2UgYW4gQU5TSS1jb25mb3Jt YW50ICJjbGVhbiIgbmFtZXNwYWNlLgorLkVsCisuU2ggU0VFIEFMU08KKy5YciBjYyAxCisuU2gg U1RBTkRBUkRTCisuTm0KK2NvbmZvcm1zIHRvCisuU3QgLXAxMDAzLjItOTIgLgorLlNoIEhJU1RP UlkKKy5ObQorZmlyc3QgYXBwZWFyZWQgaW4KKy5OeCA1LjAgLgorLlNoIEJVR1MKK1NpbmNlCisu Tm0KK2lzIGEgc2hlbGwgd3JhcHBlciBzY3JpcHQgdG8KKy5BciBjYyAsCitjb21waWxlIGVycm9y cyBhcmUgcHJlZml4ZWQgYnkgImNjOiIuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9m aWxlcy9jOTkuc2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9jOTkuc2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjE1Y2FiNDdjNzQ4Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvYzk5LnNoCkBAIC0wLDAgKzEsMiBAQAorIyEvYmlu L3NoCitleGVjIC91c3IvYmluL2NjIC1zdGQ9Yzk5ICIkQCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bGliZ2Njaml0L2ZpbGVzL2djY2dvLW11c2wucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxl cy9nY2Nnby1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5hMmNlNGIyYjA0NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVz L2djY2dvLW11c2wucGF0Y2gKQEAgLTAsMCArMSwyMjIgQEAKK1RoaXMgaXMgbm90IGFtb25nIHRo ZSBub3JtYWwgcGF0Y2hlcyBhcyB0aGVzZSBjaGFuZ2VzIGFyZSBtdXNsIHNwZWNpZmljIGFuZAor dGhlcmUgaXMgbm8gd2F5IHRvIGVhc2lseSBjb25kaXRpb25hbGl6ZSBpdCBpbiBzb3VyY2UgZm9y IHNvbWUgb2YgdGhlIGNoYW5nZXMuCisKK0FkZGVkIGJ5IHE2NjogcnVudGltZS5oIG5vdyB1c2Vz IGxpYnVjb250ZXh0XyBwcmVmaXhlZCBBUElzIHRvIGFsbG93IGJ1aWxkCit3aXRoIGZyZWVzdGFu ZGluZyB2ZXJzaW9ucyBvZiBsaWJ1Y29udGV4dAorCitTb3V1cmNlOiBBZMOpbGllIExpbnV4LCBx NjYKK1VSTDogaHR0cHM6Ly9jb2RlLmZveGtpdC51cy9hZGVsaWUvcGFja2FnZXMvdHJlZS9tYXN0 ZXIvc3lzdGVtL2djYworCistLS0gTWFrZWZpbGUuaW4KKysrKyBNYWtlZmlsZS5pbgorQEAgLTQ2 MzI1LDcgKzQ2MzI1LDcgQEAgY29uZmlndXJlLXRhcmdldC1saWJnbzoKKyAJZXNhYzsgXAorIAlt b2R1bGVfc3JjZGlyPWxpYmdvOyBcCisgCXJtIC1mIG5vLXN1Y2gtZmlsZSB8fCA6IDsgXAorLQlD T05GSUdfU0lURT1uby1zdWNoLWZpbGUgJChTSEVMTCkgXAorKwlDT05GSUdfU0lURT1uby1zdWNo LWZpbGUgTElCUz0iLWx1Y29udGV4dCAkJExJQlMiICQoU0hFTEwpIFwKKyAJICAkJHMvJCRtb2R1 bGVfc3JjZGlyL2NvbmZpZ3VyZSBcCisgCSAgLS1zcmNkaXI9JCR7dG9wZGlyfS8kJG1vZHVsZV9z cmNkaXIgXAorIAkgICQoVEFSR0VUX0NPTkZJR0FSR1MpIC0tYnVpbGQ9JHtidWlsZF9hbGlhc30g LS1ob3N0PSR7dGFyZ2V0X2FsaWFzfSBcCistLS0gbGliZ28vbWtzeXNpbmZvLnNoCisrKysgbGli Z28vbWtzeXNpbmZvLnNoCitAQCAtMzc5LDExICszNzksNyBAQCBmaQorICMgU29tZSBiYXNpYyB0 eXBlcy4KKyBlY2hvICd0eXBlIFNpemVfdCBfc2l6ZV90JyA+PiAke09VVH0KKyBlY2hvICJ0eXBl IFNzaXplX3QgX3NzaXplX3QiID4+ICR7T1VUfQorLWlmIGdyZXAgJ15jb25zdCBfSEFWRV9PRkY2 NF9UID0gJyBnZW4tc3lzaW5mby5nbyA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBlY2hvICJ0 eXBlIE9mZnNldF90IF9vZmY2NF90IiA+PiAke09VVH0KKy1lbHNlCistICBlY2hvICJ0eXBlIE9m ZnNldF90IF9vZmZfdCIgPj4gJHtPVVR9CistZmkKKytlY2hvICJ0eXBlIE9mZnNldF90IF9vZmZf dCIgPj4gJHtPVVR9CisgZWNobyAidHlwZSBNb2RlX3QgX21vZGVfdCIgPj4gJHtPVVR9CisgZWNo byAidHlwZSBQaWRfdCBfcGlkX3QiID4+ICR7T1VUfQorIGVjaG8gInR5cGUgVWlkX3QgX3VpZF90 IiA+PiAke09VVH0KKy0tLSBsaWJnby9nby9ydW50aW1lL21lbV9nY2Nnby5nbworKysrIGxpYmdv L2dvL3J1bnRpbWUvbWVtX2djY2dvLmdvCitAQCAtMTYsNyArMTYsNyBAQCBpbXBvcnQgKAorIC8v Z286bGlua25hbWUgc3lzRnJlZSBydW50aW1lLnN5c0ZyZWUKKyAKKyAvL2V4dGVybiBtbWFwCist ZnVuYyBzeXNNbWFwKGFkZHIgdW5zYWZlLlBvaW50ZXIsIG4gdWludHB0ciwgcHJvdCwgZmxhZ3Ms IGZkIGludDMyLCBvZmYgdWludHB0cikgdW5zYWZlLlBvaW50ZXIKKytmdW5jIHN5c01tYXAoYWRk ciB1bnNhZmUuUG9pbnRlciwgbiB1aW50cHRyLCBwcm90LCBmbGFncywgZmQgaW50MzIsIG9mZiBp bnQ2NCkgdW5zYWZlLlBvaW50ZXIKKyAKKyAvL2V4dGVybiBtdW5tYXAKKyBmdW5jIG11bm1hcChh ZGRyIHVuc2FmZS5Qb2ludGVyLCBsZW5ndGggdWludHB0cikgaW50MzIKK0BAIC0zOCw3ICszOCw3 IEBAIGZ1bmMgaW5pdCgpIHsKKyAJfQorIH0KKyAKKy1mdW5jIG1tYXAoYWRkciB1bnNhZmUuUG9p bnRlciwgbiB1aW50cHRyLCBwcm90LCBmbGFncywgZmQgaW50MzIsIG9mZiB1aW50cHRyKSAodW5z YWZlLlBvaW50ZXIsIGludCkgeworK2Z1bmMgbW1hcChhZGRyIHVuc2FmZS5Qb2ludGVyLCBuIHVp bnRwdHIsIHByb3QsIGZsYWdzLCBmZCBpbnQzMiwgb2ZmIGludDY0KSAodW5zYWZlLlBvaW50ZXIs IGludCkgeworIAlwIDo9IHN5c01tYXAoYWRkciwgbiwgcHJvdCwgZmxhZ3MsIGZkLCBvZmYpCisg CWlmIHVpbnRwdHIocCkgPT0gX01BUF9GQUlMRUQgeworIAkJcmV0dXJuIG5pbCwgZXJybm8oKQor LS0tIGxpYmdvL2dvL3J1bnRpbWUvc2lnbmFsX2djY2dvLmdvCisrKysgbGliZ28vZ28vcnVudGlt ZS9zaWduYWxfZ2NjZ28uZ28KK0BAIC0xMTEsNyArMTExLDcgQEAgZnVuYyBnZXRzaWcoaSB1aW50 MzIpIHVpbnRwdHIgeworIAlpZiBzaWdhY3Rpb24oaSwgbmlsLCAmc2EpIDwgMCB7CisgCQkvLyBP biBHTlUvTGludXggZ2xpYmMgcmVqZWN0cyBhdHRlbXB0cyB0byBjYWxsCisgCQkvLyBzaWdhY3Rp b24gd2l0aCBzaWduYWwgMzIgKFNJR0NBTkNFTCkgb3IgMzMgKFNJR1NFVFhJRCkuCistCQlpZiBH T09TID09ICJsaW51eCIgJiYgKGkgPT0gMzIgfHwgaSA9PSAzMykgeworKwkJaWYgR09PUyA9PSAi bGludXgiICYmIChpID09IDMyIHx8IGkgPT0gMzMgfHwgaSA9PSAzNCkgeworIAkJCXJldHVybiBf U0lHX0RGTAorIAkJfQorIAkJdGhyb3coInNpZ2FjdGlvbiByZWFkIGZhaWx1cmUiKQorLS0tIGxp YmdvL2dvL3N5c2NhbGwvZXJyc3RyLmdvCisrKysgbGliZ28vZ28vc3lzY2FsbC9lcnJzdHIuZ28K K0BAIC01LDcgKzUsNiBAQAorIC8vIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJ Q0VOU0UgZmlsZS4KKyAKKyAvLyArYnVpbGQgIWh1cmQKKy0vLyArYnVpbGQgIWxpbnV4CisgCisg cGFja2FnZSBzeXNjYWxsCisgCistLS0gbGliZ28vZ28vc3lzY2FsbC9lcnJzdHJfZ2xpYmMuZ28K KysrKyAvZGV2L251bGwKK0BAIC0xLDMzICswLDAgQEAKKy0vLyBlcnJzdHJfZ2xpYmMuZ28gLS0g R05VL0xpbnV4IGFuZCBHTlUvSHVyZCBzcGVjaWZpYyBlcnJvciBzdHJpbmdzLgorLQorLS8vIENv cHlyaWdodCAyMDEwIFRoZSBHbyBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLS8vIFVz ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCistLy8gbGlj ZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLQorLS8vIFdlIHVz ZSB0aGlzIHJhdGhlciB0aGFuIGVycnN0ci5nbyBiZWNhdXNlIG9uIEdOVS9MaW51eCBzdGVycm9y X3IKKy0vLyByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZXJyb3IgbWVzc2FnZSwgYW5kIG1heSBu b3QgdXNlIGJ1ZiBhdCBhbGwuCistCistLy8gK2J1aWxkIGh1cmQgbGludXgKKy0KKy1wYWNrYWdl IHN5c2NhbGwKKy0KKy1pbXBvcnQgInVuc2FmZSIKKy0KKy0vL3N5c25iCXN0cmVycm9yX3IoZXJy bnVtIGludCwgYiBbXWJ5dGUpIChlcnJzdHIgKmJ5dGUpCistLy9zdHJlcnJvcl9yKGVycm51bSBf Q19pbnQsIGIgKmJ5dGUsIGxlbiBTaXplX3QpICpieXRlCistCistZnVuYyBFcnJzdHIoZXJybnVt IGludCkgc3RyaW5nIHsKKy0JYSA6PSBtYWtlKFtdYnl0ZSwgMTI4KQorLQlwIDo9IHN0cmVycm9y X3IoZXJybnVtLCBhKQorLQliIDo9ICgqWzEwMDBdYnl0ZSkodW5zYWZlLlBvaW50ZXIocCkpCist CWkgOj0gMAorLQlmb3IgYltpXSAhPSAwIHsKKy0JCWkrKworLQl9CistCS8vIExvd2VyY2FzZSBm aXJzdCBsZXR0ZXI6IEJhZCAtPiBiYWQsIGJ1dCBTVFJFQU0gLT4gU1RSRUFNLgorLQlpZiBpID4g MSAmJiAnQScgPD0gYlswXSAmJiBiWzBdIDw9ICdaJyAmJiAnYScgPD0gYlsxXSAmJiBiWzFdIDw9 ICd6JyB7CistCQljIDo9IGJbMF0gKyAnYScgLSAnQScKKy0JCXJldHVybiBzdHJpbmcoYykgKyBz dHJpbmcoYlsxOmldKQorLQl9CistCXJldHVybiBzdHJpbmcoYls6aV0pCistfQorLS0tIGxpYmdv L2dvL3N5c2NhbGwvbGliY2FsbF9saW51eC5nbworKysrIGxpYmdvL2dvL3N5c2NhbGwvbGliY2Fs bF9saW51eC5nbworQEAgLTIwNiwxOSArMjA2LDE5IEBAIGZ1bmMgR2V0dGlkKCkgKHRpZCBpbnQp IHsKKyAvL3N5cwlTZXR4YXR0cihwYXRoIHN0cmluZywgYXR0ciBzdHJpbmcsIGRhdGEgW11ieXRl LCBmbGFncyBpbnQpIChlcnIgZXJyb3IpCisgLy9zZXR4YXR0cihwYXRoICpieXRlLCBuYW1lICpi eXRlLCB2YWx1ZSAqYnl0ZSwgc2l6ZSBTaXplX3QsIGZsYWdzIF9DX2ludCkgX0NfaW50CisgCist Ly9zeXMJc3BsaWNlKHJmZCBpbnQsIHJvZmYgKl9sb2ZmX3QsIHdmZCBpbnQsIHdvZmYgKl9sb2Zm X3QsIGxlbiBpbnQsIGZsYWdzIGludCkgKG4gaW50NjQsIGVyciBlcnJvcikKKy0vL3NwbGljZShy ZmQgX0NfaW50LCByb2ZmICpfbG9mZl90LCB3ZmQgX0NfaW50LCB3b2ZmICpfbG9mZl90LCBsZW4g U2l6ZV90LCBmbGFncyBfQ191aW50KSBTc2l6ZV90CisrLy9zeXMJc3BsaWNlKHJmZCBpbnQsIHJv ZmYgKl9vZmZfdCwgd2ZkIGludCwgd29mZiAqX29mZl90LCBsZW4gaW50LCBmbGFncyBpbnQpIChu IGludDY0LCBlcnIgZXJyb3IpCisrLy9zcGxpY2UocmZkIF9DX2ludCwgcm9mZiAqX29mZl90LCB3 ZmQgX0NfaW50LCB3b2ZmICpfb2ZmX3QsIGxlbiBTaXplX3QsIGZsYWdzIF9DX3VpbnQpIFNzaXpl X3QKKyBmdW5jIFNwbGljZShyZmQgaW50LCByb2ZmICppbnQ2NCwgd2ZkIGludCwgd29mZiAqaW50 NjQsIGxlbiBpbnQsIGZsYWdzIGludCkgKG4gaW50NjQsIGVyciBlcnJvcikgeworLQl2YXIgbHJv ZmYgX2xvZmZfdAorLQl2YXIgcGxyb2ZmICpfbG9mZl90CisrCXZhciBscm9mZiBfb2ZmX3QKKysJ dmFyIHBscm9mZiAqX29mZl90CisgCWlmIHJvZmYgIT0gbmlsIHsKKy0JCWxyb2ZmID0gX2xvZmZf dCgqcm9mZikKKysJCWxyb2ZmID0gX29mZl90KCpyb2ZmKQorIAkJcGxyb2ZmID0gJmxyb2ZmCisg CX0KKy0JdmFyIGx3b2ZmIF9sb2ZmX3QKKy0JdmFyIHBsd29mZiAqX2xvZmZfdAorKwl2YXIgbHdv ZmYgX29mZl90CisrCXZhciBwbHdvZmYgKl9vZmZfdAorIAlpZiB3b2ZmICE9IG5pbCB7CistCQls d29mZiA9IF9sb2ZmX3QoKndvZmYpCisrCQlsd29mZiA9IF9vZmZfdCgqd29mZikKKyAJCXBsd29m ZiA9ICZsd29mZgorIAl9CisgCW4sIGVyciA9IHNwbGljZShyZmQsIHBscm9mZiwgd2ZkLCBwbHdv ZmYsIGxlbiwgZmxhZ3MpCistLS0gbGliZ28vbWtzaWd0YWIuc2gKKysrKyBsaWJnby9ta3NpZ3Rh Yi5zaAorQEAgLTgyLDcgKzgyLDcgQEAgY2hlY2tzaWcgX1NJR1BXUiAgICAgJ3tfU2lnTm90aWZ5 LCAiU0lHUFdSOiBwb3dlciBmYWlsdXJlIHJlc3RhcnQifScKKyBjaGVja3NpZyBfU0lHRU1UICAg ICAne19TaWdUaHJvdywgIlNJR0VNVDogZW11bGF0ZSBpbnN0cnVjdGlvbiBleGVjdXRlZCJ9Jwor IGNoZWNrc2lnIF9TSUdJTkZPICAgICd7X1NpZ05vdGlmeSwgIlNJR0lORk86IHN0YXR1cyByZXF1 ZXN0IGZyb20ga2V5Ym9hcmQifScKKyBjaGVja3NpZyBfU0lHVEhSICAgICAne19TaWdOb3RpZnks ICJTSUdUSFI6IHJlc2VydmVkIn0nCistY2hlY2tzaWcgX1NJR1BPTEwgICAgJ3tfU2lnTm90aWZ5 LCAiU0lHUE9MTDogcG9sbGFibGUgZXZlbnQgb2NjdXJyZWQifScKKysjY2hlY2tzaWcgX1NJR1BP TEwgICAgJ3tfU2lnTm90aWZ5LCAiU0lHUE9MTDogcG9sbGFibGUgZXZlbnQgb2NjdXJyZWQifScK KyBjaGVja3NpZyBfU0lHV0FJVElORyAne19TaWdOb3RpZnksICJTSUdXQUlUSU5HOiByZXNlcnZl ZCBzaWduYWwgbm8gbG9uZ2VyIHVzZWQgYnkifScKKyBjaGVja3NpZyBfU0lHTFdQICAgICAne19T aWdOb3RpZnksICJTSUdMV1A6IHJlc2VydmVkIHNpZ25hbCBubyBsb25nZXIgdXNlZCBieSJ9Jwor IGNoZWNrc2lnIF9TSUdGUkVFWkUgICd7X1NpZ05vdGlmeSwgIlNJR0ZSRUVaRTogc3BlY2lhbCBz aWduYWwgdXNlZCBieSBDUFIifScKK0BAIC05NSwxMCArOTUsMTIgQEAgY2hlY2tzaWcgX1NJR0xP U1QgJyAgIHtfU2lnTm90aWZ5LCAiU0lHTE9TVDogcmVzb3VyY2UgbG9zdCAoU3VuKTsgc2VydmVy IGRpZWQgKEcKKyAKKyAjIFNwZWNpYWwgaGFuZGxpbmcgb2Ygc2lnbmFscyAzMiBhbmQgMzMgb24g R05VL0xpbnV4IHN5c3RlbXMsCisgIyBiZWNhdXNlIHRoZXkgYXJlIHNwZWNpYWwgdG8gZ2xpYmMu CisrIyBTaWduYWwgMzQgaXMgYWRkaXRpb25hbGx5IHNwZWNpYWwgdG8gTGludXggc3lzdGVtcyB3 aXRoIG11c2wuCisgaWYgdGVzdCAiJHtHT09TfSIgPSAibGludXgiOyB0aGVuCistICAgIFNJR0xJ U1Q9JFNJR0xJU1QiXzMyX18zM18iCisrICAgIFNJR0xJU1Q9JFNJR0xJU1QiXzMyX18zM19fMzRf IgorICAgICBlY2hvICcJMzI6IHtfU2lnU2V0U3RhY2sgKyBfU2lnVW5ibG9jaywgInNpZ25hbCAz MiJ9LCAvKiBTSUdDQU5DRUw7IHNlZSBpc3N1ZSA2OTk3ICovJworICAgICBlY2hvICcJMzM6IHtf U2lnU2V0U3RhY2sgKyBfU2lnVW5ibG9jaywgInNpZ25hbCAzMyJ9LCAvKiBTSUdTRVRYSUQ7IHNl ZSBpc3N1ZXMgMzg3MSwgOTQwMCwgMTI0OTggKi8nCisrICAgIGVjaG8gJwkzNDoge19TaWdTZXRT dGFjayArIF9TaWdVbmJsb2NrLCAic2lnbmFsIDM0In0sIC8qIHNlZSBpc3N1ZSAzMDA2MiAqLycK KyBmaQorIAorIGlmIHRlc3QgIiR7R09PU30iID0gImFpeCI7IHRoZW4KKy0tLSBsaWJnby9ydW50 aW1lL2dvLXNpZ25hbC5jCTIwMjAtMDctMjMgMDg6MzU6MTkuMDA0NDAyODQwICswMjAwCisrKysg LQkyMDIwLTA4LTA5IDIxOjM1OjU0LjM1Mjg4NjIzMiArMDIwMAorQEAgLTIyNCw3ICsyMjQsMTEg QEAKKyAjZWxpZiBkZWZpbmVkKF9fYWxwaGFfXykgJiYgZGVmaW5lZChfX2xpbnV4X18pCisgCXJl dC5zaWdwYyA9ICgodWNvbnRleHRfdCopKGNvbnRleHQpKS0+dWNfbWNvbnRleHQuc2NfcGM7Cisg I2VsaWYgZGVmaW5lZChfX1BQQ19fKSAmJiBkZWZpbmVkKF9fbGludXhfXykKKy0JcmV0LnNpZ3Bj ID0gKCh1Y29udGV4dF90KikoY29udGV4dCkpLT51Y19tY29udGV4dC5yZWdzLT5uaXA7CisrCSNp ZmRlZiBfX1BQQzY0X18KKysJCXJldC5zaWdwYyA9ICgodWNvbnRleHRfdCopKGNvbnRleHQpKS0+ dWNfbWNvbnRleHQuZ3BfcmVnc1szMl07CisrCSNlbHNlCisrCQlyZXQuc2lncGMgPSAoKHVjb250 ZXh0X3QqKShjb250ZXh0KSktPnVjX21jb250ZXh0LmdyZWdzWzMyXTsKKysJI2VuZGlmCisgI2Vs aWYgZGVmaW5lZChfX1BQQ19fKSAmJiBkZWZpbmVkKF9BSVgpCisgCXJldC5zaWdwYyA9ICgodWNv bnRleHRfdCopKGNvbnRleHQpKS0+dWNfbWNvbnRleHQuam1wX2NvbnRleHQuaWFyOworICNlbGlm IGRlZmluZWQoX19hYXJjaDY0X18pICYmIGRlZmluZWQoX19saW51eF9fKQorQEAgLTMzMyw3ICsz MzcsNyBAQAorIAkJcnVudGltZV9wcmludGYoInNwICAlWFxuIiwgbS0+c2NfcmVnc1szMF0pOwor IAkJcnVudGltZV9wcmludGYoInBjICAlWFxuIiwgbS0+c2NfcGMpOworIAkgIH0KKy0jZWxpZiBk ZWZpbmVkKF9fUFBDX18pICYmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX18pICYmIGRlZmluZWQo X19saW51eF9fKQorKyNlbGlmIGRlZmluZWQoX19QUENfXykgJiYgZGVmaW5lZChfX0xJVFRMRV9F TkRJQU5fXykgJiYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19HTElCQ19fKQorIAkg IHsKKyAJCW1jb250ZXh0X3QgKm0gPSAmKCh1Y29udGV4dF90KikoY29udGV4dCkpLT51Y19tY29u dGV4dDsKKyAJCWludCBpOworLS0tIGxpYmdvL3J1bnRpbWUvcnVudGltZS5oCisrKysgbGliZ28v cnVudGltZS9ydW50aW1lLmgKK0BAIC01MDAsMTAgKzUwMCwxMyBAQCBpbnQgX19nb19zZXRjb250 ZXh0KF9fZ29fY29udGV4dF90Kik7Cisgdm9pZCBfX2dvX21ha2Vjb250ZXh0KF9fZ29fY29udGV4 dF90Kiwgdm9pZCAoKikoKSwgdm9pZCosIHNpemVfdCk7CisgI2Vsc2UKKyAjZGVmaW5lIF9fZ29f Y29udGV4dF90CXVjb250ZXh0X3QKKy0jZGVmaW5lIF9fZ29fZ2V0Y29udGV4dChjKQlnZXRjb250 ZXh0KGMpCistI2RlZmluZSBfX2dvX3NldGNvbnRleHQoYykJc2V0Y29udGV4dChjKQorK2ludCAg bGlidWNvbnRleHRfZ2V0Y29udGV4dChfX2dvX2NvbnRleHRfdCAqKTsKKyt2b2lkIGxpYnVjb250 ZXh0X21ha2Vjb250ZXh0KF9fZ29fY29udGV4dF90ICosIHZvaWQgKCopKCksIGludCwgLi4uKTsK KytpbnQgIGxpYnVjb250ZXh0X3NldGNvbnRleHQoY29uc3QgX19nb19jb250ZXh0X3QgKik7Cisr I2RlZmluZSBfX2dvX2dldGNvbnRleHQoYykJbGlidWNvbnRleHRfZ2V0Y29udGV4dChjKQorKyNk ZWZpbmUgX19nb19zZXRjb250ZXh0KGMpCWxpYnVjb250ZXh0X3NldGNvbnRleHQoYykKKyAjZGVm aW5lIF9fZ29fbWFrZWNvbnRleHQoYywgZm4sIHNwLCBzaXplKSBcCistCSgoYyktPnVjX3N0YWNr LnNzX3NwID0gc3AsIChjKS0+dWNfc3RhY2suc3Nfc2l6ZSA9IHNpemUsIG1ha2Vjb250ZXh0KGMs IGZuLCAwKSkKKysJKChjKS0+dWNfc3RhY2suc3Nfc3AgPSBzcCwgKGMpLT51Y19zdGFjay5zc19z aXplID0gc2l6ZSwgbGlidWNvbnRleHRfbWFrZWNvbnRleHQoYywgZm4sIDApKQorICNlbmRpZgor IAorIC8vIFN5bWJvbHMgZGVmaW5lZCBieSB0aGUgbGlua2VyLgorLS0tIGxpYmdvL3N5c2luZm8u YworKysrIGxpYmdvL3N5c2luZm8uYworQEAgLTczLDkgKzczLDYgQEAKKyAjaW5jbHVkZSA8c3lz L3RpbWVzLmg+CisgI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisgI2luY2x1ZGUgPHN5cy91bi5oPgor LSNpZiBkZWZpbmVkKEhBVkVfU1lTX1VTRVJfSCkKKy0jaW5jbHVkZSA8c3lzL3VzZXIuaD4KKy0j ZW5kaWYKKyAjaWYgZGVmaW5lZChIQVZFX1NZU19VVFNOQU1FX0gpCisgI2luY2x1ZGUgPHN5cy91 dHNuYW1lLmg+CisgI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9s aWJnbmFybC1tdXNsLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvZmlsZXMvbGliZ25hcmwtbXVz bC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNWVkOWYxNmY1 NTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9maWxlcy9saWJnbmFybC1t dXNsLnBhdGNoCkBAIC0wLDAgKzEsMTI1IEBACitTb3VyY2U6IEFscGluZSBMaW51eAorVXBzdHJl YW06IFVua25vd24KK1JlYXNvbjogUGF0Y2ggbGliZ25hcmwgdG8gbm90IHVzZSBmdW5jdGlvbiBt aXNzaW5nIGZyb20gbXVzbC4KKworZGlmZiAtcnVwIGdjYy04LjIuMC9nY2MvYWRhL2xpYmduYXJs L3Mtb3NpbnRlX19saW51eC5hZHMgZ2NjLTguMi4wLW5ldy9nY2MvYWRhL2xpYmduYXJsL3Mtb3Np bnRlX19saW51eC5hZHMKKy0tLSBnY2MvYWRhL2xpYmduYXJsL3Mtb3NpbnRlX19saW51eC5hZHMJ MjAxOC0wMS0xMSAwMDo1NToyNS4wMDAwMDAwMDAgLTA4MDAKKysrKyBnY2MvYWRhL2xpYmduYXJs L3Mtb3NpbnRlX19saW51eC5hZHMJMjAxOC0xMS0wMSAxNjoxNjoyMy4zNzI0NTI5NTEgLTA3MDAK K0BAIC0zOTQsMTIgKzM5NCw2IEBAIHBhY2thZ2UgU3lzdGVtLk9TX0ludGVyZmFjZSBpcworICAg IFBUSFJFQURfUldMT0NLX1BSRUZFUl9XUklURVJfTlAgICAgICAgICAgICAgIDogY29uc3RhbnQg Oj0gMTsKKyAgICBQVEhSRUFEX1JXTE9DS19QUkVGRVJfV1JJVEVSX05PTlJFQ1VSU0lWRV9OUCA6 IGNvbnN0YW50IDo9IDI7CisgCistICAgZnVuY3Rpb24gcHRocmVhZF9yd2xvY2thdHRyX3NldGtp bmRfbnAKKy0gICAgIChhdHRyIDogYWNjZXNzIHB0aHJlYWRfcndsb2NrYXR0cl90OworLSAgICAg IHByZWYgOiBpbnQpIHJldHVybiBpbnQ7CistICAgcHJhZ21hIEltcG9ydAorLSAgICAgKEMsIHB0 aHJlYWRfcndsb2NrYXR0cl9zZXRraW5kX25wLCAicHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRf bnAiKTsKKy0KKyAgICBmdW5jdGlvbiBwdGhyZWFkX3J3bG9ja19pbml0CisgICAgICAobXV0ZXgg OiBhY2Nlc3MgcHRocmVhZF9yd2xvY2tfdDsKKyAgICAgICBhdHRyICA6IGFjY2VzcyBwdGhyZWFk X3J3bG9ja2F0dHJfdCkgcmV0dXJuIGludDsKK0BAIC00NjQsMTEgKzQ1OCw2IEBAIHBhY2thZ2Ug U3lzdGVtLk9TX0ludGVyZmFjZSBpcworICAgICAgIHByb3RvY29sIDogaW50KSByZXR1cm4gaW50 OworICAgIHByYWdtYSBJbXBvcnQgKEMsIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHByb3RvY29sKTsK KyAKKy0gICBmdW5jdGlvbiBwdGhyZWFkX211dGV4YXR0cl9zZXRwcmlvY2VpbGluZworLSAgICAg KGF0dHIgICAgICAgIDogYWNjZXNzIHB0aHJlYWRfbXV0ZXhhdHRyX3Q7CistICAgICAgcHJpb2Nl aWxpbmcgOiBpbnQpIHJldHVybiBpbnQ7CistICAgcHJhZ21hIEltcG9ydCAoQywgcHRocmVhZF9t dXRleGF0dHJfc2V0cHJpb2NlaWxpbmcpOworLQorICAgIHR5cGUgc3RydWN0X3NjaGVkX3BhcmFt IGlzIHJlY29yZAorICAgICAgIHNjaGVkX3ByaW9yaXR5IDogaW50OyAgLS0gIHNjaGVkdWxpbmcg cHJpb3JpdHkKKyAgICBlbmQgcmVjb3JkOworZGlmZiAtcnVwIGdjYy04LjIuMC9nY2MvYWRhL2xp YmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIgZ2NjLTguMi4wLW5ldy9nY2MvYWRhL2xpYmduYXJs L3MtdGFwcm9wX19saW51eC5hZGIKKy0tLSBnY2MvYWRhL2xpYmduYXJsL3MtdGFwcm9wX19saW51 eC5hZGIJMjAxOC0wMS0xMSAwMDo1NToyNS4wMDAwMDAwMDAgLTA4MDAKKysrKyBnY2MvYWRhL2xp YmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIJMjAxOC0xMS0xMyAxMToyODozNi40MzM5NjQ0NDkg LTA4MDAKK0BAIC0yMDIsOSArMjAyLDYgQEAgcGFja2FnZSBib2R5IFN5c3RlbS5UYXNrX1ByaW1p dGl2ZXMuT3BlcgorICAgIHByYWdtYSBJbXBvcnQKKyAgICAgIChDLCBHTkFUX3B0aHJlYWRfY29u ZGF0dHJfc2V0dXAsICJfX2duYXRfcHRocmVhZF9jb25kYXR0cl9zZXR1cCIpOworIAorLSAgIGZ1 bmN0aW9uIEdOQVRfaGFzX2NhcF9zeXNfbmljZSByZXR1cm4gQy5pbnQ7CistICAgcHJhZ21hIElt cG9ydAorLSAgICAgKEMsIEdOQVRfaGFzX2NhcF9zeXNfbmljZSwgIl9fZ25hdF9oYXNfY2FwX3N5 c19uaWNlIik7CisgICAgLS0gIFdlIGRvIG5vdCBoYXZlIHByYWdtYSBMaW5rZXJfT3B0aW9ucyAo Ii1sY2FwIik7IGhlcmUsIGJlY2F1c2UgdGhpcworICAgIC0tICBsaWJyYXJ5IGlzIG5vdCBwcmVz ZW50IG9uIG1hbnkgTGludXggc3lzdGVtcy4gJ2xpYmNhcCcgaXMgdGhlIExpbnV4CisgICAgLS0g ICJjYXBhYmlsaXRpZXMiIGxpYnJhcnksIGNhbGxlZCBieSBfX2duYXRfaGFzX2NhcF9zeXNfbmlj ZS4KK0BAIC0yMTQsMzggKzIxMSw2IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19QcmltaXRp dmVzLk9wZXIKKyAgICAtLSAgQ29udmVydCBBZGEgcHJpb3JpdHkgdG8gTGludXggcHJpb3JpdHku IFByaW9yaXRpZXMgYXJlIDEgLi4gOTkgb24KKyAgICAtLSAgR05VL0xpbnV4LCBzbyB3ZSBtYXAg MCAuLiA5OCB0byAxIC4uIDk5LgorIAorLSAgIGZ1bmN0aW9uIEdldF9DZWlsaW5nX1N1cHBvcnQg cmV0dXJuIEJvb2xlYW47CistICAgLS0gIEdldCB0aGUgdmFsdWUgb2YgdGhlIENlaWxpbmdfU3Vw cG9ydCBjb25zdGFudCAoc2VlIGJlbG93KS4KKy0gICAtLSAgTm90ZSB3ZWxsOiBJZiB0aGlzIGZ1 bmN0aW9uIG9yIHJlbGF0ZWQgY29kZSBpcyBtb2RpZmllZCwgaXQgc2hvdWxkIGJlCistICAgLS0g IHRlc3RlZCBieSBoYW5kLCBiZWNhdXNlIGF1dG9tYXRlZCB0ZXN0aW5nIGRvZXNuJ3QgZXhlcmNp c2UgaXQuCistCistICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgIC0tIEdldF9DZWls aW5nX1N1cHBvcnQgLS0KKy0gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistCistICAgZnVu Y3Rpb24gR2V0X0NlaWxpbmdfU3VwcG9ydCByZXR1cm4gQm9vbGVhbiBpcworLSAgICAgIENlaWxp bmdfU3VwcG9ydCA6IEJvb2xlYW4gOj0gRmFsc2U7CistICAgYmVnaW4KKy0gICAgICBpZiBMb2Nr aW5nX1BvbGljeSAvPSAnQycgdGhlbgorLSAgICAgICAgIHJldHVybiBGYWxzZTsKKy0gICAgICBl bmQgaWY7CistCistICAgICAgZGVjbGFyZQorLSAgICAgICAgIGZ1bmN0aW9uIGdldGV1aWQgcmV0 dXJuIEludGVnZXI7CistICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgZ2V0ZXVpZCwgImdldGV1 aWQiKTsKKy0gICAgICAgICBTdXBlcnVzZXIgOiBjb25zdGFudCBCb29sZWFuIDo9IGdldGV1aWQg PSAwOworLSAgICAgICAgIEhhc19DYXAgOiBjb25zdGFudCBDLmludCA6PSBHTkFUX2hhc19jYXBf c3lzX25pY2U7CistICAgICAgICAgcHJhZ21hIEFzc2VydCAoSGFzX0NhcCBpbiAwIHwgMSk7Cist ICAgICAgYmVnaW4KKy0gICAgICAgICBDZWlsaW5nX1N1cHBvcnQgOj0gU3VwZXJ1c2VyIG9yIGVs c2UgSGFzX0NhcCA9IDE7CistICAgICAgZW5kOworLQorLSAgICAgIHJldHVybiBDZWlsaW5nX1N1 cHBvcnQ7CistICAgZW5kIEdldF9DZWlsaW5nX1N1cHBvcnQ7CistCistICAgcHJhZ21hIFdhcm5p bmdzIChPZmYsICJub24tc3RhdGljIGNhbGwgbm90IGFsbG93ZWQgaW4gcHJlZWxhYm9yYXRlZCB1 bml0Iik7CistICAgQ2VpbGluZ19TdXBwb3J0IDogY29uc3RhbnQgQm9vbGVhbiA6PSBHZXRfQ2Vp bGluZ19TdXBwb3J0OworLSAgIHByYWdtYSBXYXJuaW5ncyAoT24sICJub24tc3RhdGljIGNhbGwg bm90IGFsbG93ZWQgaW4gcHJlZWxhYm9yYXRlZCB1bml0Iik7CisgICAgLS0gIFRydWUgaWYgdGhl IGxvY2tpbmcgcG9saWN5IGlzIENlaWxpbmdfTG9ja2luZywgYW5kIHRoZSBjdXJyZW50IHByb2Nl c3MKKyAgICAtLSAgaGFzIHBlcm1pc3Npb24gdG8gdXNlIHRoaXMgcG9saWN5LiBUaGUgcHJvY2Vz cyBoYXMgcGVybWlzc2lvbiBpZiBpdCBpcworICAgIC0tICBydW5uaW5nIGFzICdyb290Jywgb3Ig aWYgdGhlIGNhcGFiaWxpdHkgd2FzIHNldCBieSB0aGUgc2V0Y2FwIGNvbW1hbmQsCitAQCAtMzQ4 LDcgKzMxMyw5IEBAIHBhY2thZ2UgYm9keSBTeXN0ZW0uVGFza19QcmltaXRpdmVzLk9wZXIKKyAg ICAtLSBJbml0X011dGV4IC0tCisgICAgLS0tLS0tLS0tLS0tLS0tLQorIAorKyAgIHByYWdtYSBX YXJuaW5ncyAoT2ZmLCAiZm9ybWFsIHBhcmFtZXRlciAqIGlzIG5vdCByZWZlcmVuY2VkIik7Cisg ICAgZnVuY3Rpb24gSW5pdF9NdXRleCAoTCA6IFJUU19Mb2NrX1B0cjsgUHJpbyA6IEFueV9Qcmlv cml0eSkgcmV0dXJuIEMuaW50IGlzCisrICAgcHJhZ21hIFdhcm5pbmdzIChPbiwgImZvcm1hbCBw YXJhbWV0ZXIgKiBpcyBub3QgcmVmZXJlbmNlZCIpOworICAgICAgIE11dGV4X0F0dHIgOiBhbGlh c2VkIHB0aHJlYWRfbXV0ZXhhdHRyX3Q7CisgICAgICAgUmVzdWx0LCBSZXN1bHRfMiA6IEMuaW50 OworIAorQEAgLTM2MCwxNiArMzI3LDcgQEAgcGFja2FnZSBib2R5IFN5c3RlbS5UYXNrX1ByaW1p dGl2ZXMuT3BlcgorICAgICAgICAgIHJldHVybiBSZXN1bHQ7CisgICAgICAgZW5kIGlmOworIAor LSAgICAgIGlmIENlaWxpbmdfU3VwcG9ydCB0aGVuCistICAgICAgICAgUmVzdWx0IDo9IHB0aHJl YWRfbXV0ZXhhdHRyX3NldHByb3RvY29sCistICAgICAgICAgICAoTXV0ZXhfQXR0cidBY2Nlc3Ms IFBUSFJFQURfUFJJT19QUk9URUNUKTsKKy0gICAgICAgICBwcmFnbWEgQXNzZXJ0IChSZXN1bHQg PSAwKTsKKy0KKy0gICAgICAgICBSZXN1bHQgOj0gcHRocmVhZF9tdXRleGF0dHJfc2V0cHJpb2Nl aWxpbmcKKy0gICAgICAgICAgIChNdXRleF9BdHRyJ0FjY2VzcywgUHJpb19Ub19MaW51eF9Qcmlv IChQcmlvKSk7CistICAgICAgICAgcHJhZ21hIEFzc2VydCAoUmVzdWx0ID0gMCk7CistCistICAg ICAgZWxzaWYgTG9ja2luZ19Qb2xpY3kgPSAnSScgdGhlbgorKyAgICAgIGlmIExvY2tpbmdfUG9s aWN5ID0gJ0knIHRoZW4KKyAgICAgICAgICBSZXN1bHQgOj0gcHRocmVhZF9tdXRleGF0dHJfc2V0 cHJvdG9jb2wKKyAgICAgICAgICAgIChNdXRleF9BdHRyJ0FjY2VzcywgUFRIUkVBRF9QUklPX0lO SEVSSVQpOworICAgICAgICAgIHByYWdtYSBBc3NlcnQgKFJlc3VsdCA9IDApOworQEAgLTQwOSwx MSArMzY3LDYgQEAgcGFja2FnZSBib2R5IFN5c3RlbS5UYXNrX1ByaW1pdGl2ZXMuT3BlcgorICAg ICAgICAgICAgIFJlc3VsdCA6PSBwdGhyZWFkX3J3bG9ja2F0dHJfaW5pdCAoUldsb2NrX0F0dHIn QWNjZXNzKTsKKyAgICAgICAgICAgICBwcmFnbWEgQXNzZXJ0IChSZXN1bHQgPSAwKTsKKyAKKy0g ICAgICAgICAgICBSZXN1bHQgOj0gcHRocmVhZF9yd2xvY2thdHRyX3NldGtpbmRfbnAKKy0gICAg ICAgICAgICAgIChSV2xvY2tfQXR0cidBY2Nlc3MsCistICAgICAgICAgICAgICAgUFRIUkVBRF9S V0xPQ0tfUFJFRkVSX1dSSVRFUl9OT05SRUNVUlNJVkVfTlApOworLSAgICAgICAgICAgIHByYWdt YSBBc3NlcnQgKFJlc3VsdCA9IDApOworLQorICAgICAgICAgICAgIFJlc3VsdCA6PSBwdGhyZWFk X3J3bG9ja19pbml0IChMLlJXJ0FjY2VzcywgUldsb2NrX0F0dHInQWNjZXNzKTsKKyAKKyAgICAg ICAgICAgICBwcmFnbWEgQXNzZXJ0IChSZXN1bHQgaW4gMCB8IEVOT01FTSk7CisKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbGliZ2Njaml0L2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoIGIvc3JjcGtncy9s aWJnY2NqaXQvZmlsZXMvbGlic3NwLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLmUwYjg0ZjlhY2M5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9s aWJnY2NqaXQvZmlsZXMvbGlic3NwLW11c2wucGF0Y2gKQEAgLTAsMCArMSw3MCBAQAorRmlyc3Qg cGFydCB0YWtlbiBmcm9tIEFscGluZS4KKworU2Vjb25kIHBhcnQgYWRkZWQgdG8gcHJldmVudCBn Y2NnbyBmcm9tIHRoaW5raW5nIGl0IGNhbiAtZnNwbGl0LXN0YWNrIG9uIG11c2wuCisKKy0tLSBn Y2MvZ2NjLmMKKysrKyBnY2MvZ2NjLmMKK0BAIC04NzQsMTAgKzg3NCwxNSBAQCBwcm9wZXIgcG9z aXRpb24gYW1vbmcgdGhlIG90aGVyIG91dHB1dCBmaWxlcy4gICovCisgI2RlZmluZSBMSU5LX0dD Q19DX1NFUVVFTkNFX1NQRUMgIiVHICV7IW5vbGliYzolTCAlR30iCisgI2VuZGlmCisgCisrI2lm ZGVmIEVOQUJMRV9ERUZBVUxUX1NTUAorKyNkZWZpbmUgTk9fU1NQX1NQRUMgIiV7bm9zdGRsaWJ8 bm9kZWZhdWx0bGlic3xmZnJlZXN0YW5kaW5nOi1mbm8tc3RhY2stcHJvdGVjdG9yfSAiCisrI2Vs c2UKKysjZGVmaW5lIE5PX1NTUF9TUEVDICIiCisrI2VuZGlmCisrCisgI2lmbmRlZiBMSU5LX1NT UF9TUEVDCisgI2lmZGVmIFRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUAorLSNkZWZpbmUgTElOS19T U1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCistCQkg ICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0 On0iCisrI2RlZmluZSBMSU5LX1NTUF9TUEVDICItbHNzcF9ub25zaGFyZWQiCisgI2Vsc2UKKyAj ZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9y LWFsbCIgXAorIAkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3Rl Y3Rvci1leHBsaWNpdCIgXAorQEAgLTExNTUsNyArMTE2MCw3IEBAIHN0YXRpYyBjb25zdCBjaGFy ICpjYzFfb3B0aW9ucyA9CisgICV7LXZlcnNpb246LS12ZXJzaW9ufVwKKyAgJXstaGVscD0qOi0t aGVscD0lKn1cCisgICV7IWZzeW50YXgtb25seTole1M6JVd7byp9JXshbyo6LW8gJWIuc319fVwK Ky0gJXtmc3ludGF4LW9ubHk6LW8gJWp9ICV7LXBhcmFtKn1cCisrICV7ZnN5bnRheC1vbmx5Oi1v ICVqfSAley1wYXJhbSp9ICIgTk9fU1NQX1NQRUMgIlwKKyAgJXtjb3ZlcmFnZTotZnByb2ZpbGUt YXJjcyAtZnRlc3QtY292ZXJhZ2V9XAorICAle2Zwcm9maWxlLWFyY3N8ZnByb2ZpbGUtZ2VuZXJh dGUqfGNvdmVyYWdlOlwKKyAgICAleyFmcHJvZmlsZS11cGRhdGU9c2luZ2xlOlwKKy0tLSBnY2Mv cGFyYW1zLm9wdAorKysrIGdjYy9wYXJhbXMub3B0CitAQCAtODUzLDcgKzg1Myw3IEBAIENvbW1v biBKb2luZWQgVUludGVnZXIgVmFyKHBhcmFtX3NzYV9uYW1lX2RlZl9jaGFpbl9saW1pdCkgSW5p dCg1MTIpIFBhcmFtIE9wdGltCisgVGhlIG1heGltdW0gbnVtYmVyIG9mIFNTQV9OQU1FIGFzc2ln bm1lbnRzIHRvIGZvbGxvdyBpbiBkZXRlcm1pbmluZyBhIHZhbHVlLgorIAorIC1wYXJhbT1zc3At YnVmZmVyLXNpemU9CistQ29tbW9uIEpvaW5lZCBVSW50ZWdlciBWYXIocGFyYW1fc3NwX2J1ZmZl cl9zaXplKSBJbml0KDgpIEludGVnZXJSYW5nZSgxLCA2NTUzNikgUGFyYW0gT3B0aW1pemF0aW9u CisrQ29tbW9uIEpvaW5lZCBVSW50ZWdlciBWYXIocGFyYW1fc3NwX2J1ZmZlcl9zaXplKSBJbml0 KDQpIEludGVnZXJSYW5nZSgxLCA2NTUzNikgUGFyYW0gT3B0aW1pemF0aW9uCisgVGhlIGxvd2Vy IGJvdW5kIGZvciBhIGJ1ZmZlciB0byBiZSBjb25zaWRlcmVkIGZvciBzdGFjayBzbWFzaGluZyBw cm90ZWN0aW9uLgorIAorIC1wYXJhbT1zdGFjay1jbGFzaC1wcm90ZWN0aW9uLWd1YXJkLXNpemU9 CistLS0gZ2NjL2NvbmZpZy9pMzg2L2dudS11c2VyLWNvbW1vbi5oCisrKysgZ2NjL2NvbmZpZy9p Mzg2L2dudS11c2VyLWNvbW1vbi5oCitAQCAtNjQsOSArNjQsMyBAQCBhbG9uZyB3aXRoIEdDQzsg c2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorIAorIC8qIFN0YXRpYyBzdGFjayBj aGVja2luZyBpcyBzdXBwb3J0ZWQgYnkgbWVhbnMgb2YgcHJvYmVzLiAgKi8KKyAjZGVmaW5lIFNU QUNLX0NIRUNLX1NUQVRJQ19CVUlMVElOIDEKKy0KKy0vKiBXZSBvbmx5IGJ1aWxkIHRoZSAtZnNw bGl0LXN0YWNrIHN1cHBvcnQgaW4gbGliZ2NjIGlmIHRoZQorLSAgIGFzc2VtYmxlciBoYXMgZnVs bCBzdXBwb3J0IGZvciB0aGUgQ0ZJIGRpcmVjdGl2ZXMuICAqLworLSNpZiBIQVZFX0dBU19DRklf UEVSU09OQUxJVFlfRElSRUNUSVZFCistI2RlZmluZSBUQVJHRVRfQ0FOX1NQTElUX1NUQUNLCist I2VuZGlmCistLS0gZ2NjL2NvbmZpZy9pMzg2L2dudS5oCisrKysgZ2NjL2NvbmZpZy9pMzg2L2du dS5oCitAQCAtNDAsMTEgKzQwLDYgQEAgYWxvbmcgd2l0aCBHQ0MuICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgLyogaTM4NiBnbGliYyBwcm92aWRlcyBfX3N0 YWNrX2Noa19ndWFyZCBpbiAlZ3M6MHgxNC4gICovCisgI2RlZmluZSBUQVJHRVRfVEhSRUFEX1NT UF9PRkZTRVQgICAgICAgIDB4MTQKKyAKKy0vKiBXZSBvbmx5IGJ1aWxkIHRoZSAtZnNwbGl0LXN0 YWNrIHN1cHBvcnQgaW4gbGliZ2NjIGlmIHRoZQorLSAgIGFzc2VtYmxlciBoYXMgZnVsbCBzdXBw b3J0IGZvciB0aGUgQ0ZJIGRpcmVjdGl2ZXMuICAqLworLSNpZiBIQVZFX0dBU19DRklfUEVSU09O QUxJVFlfRElSRUNUSVZFCistI2RlZmluZSBUQVJHRVRfQ0FOX1NQTElUX1NUQUNLCistI2VuZGlm CisgLyogV2Ugc3RlYWwgdGhlIGxhc3QgdHJhbnNhY3Rpb25hbCBtZW1vcnkgd29yZC4gICovCisg I2RlZmluZSBUQVJHRVRfVEhSRUFEX1NQTElUX1NUQUNLX09GRlNFVCAweDMwCisgI2VuZGlmCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2FkYS1zaGFyZWQucGF0Y2ggYi9z cmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2FkYS1zaGFyZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdiNDI4MDYyMGZlCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9hZGEtc2hhcmVkLnBhdGNoCkBAIC0wLDAgKzEsMjgg QEAKKy0tLSBnY2MvYWRhL2xpbmsuYworKysrIGdjYy9hZGEvbGluay5jCitAQCAtMTA1LDkgKzEw NSw5IEBACisgCisgI2VsaWYgZGVmaW5lZCAoX19GcmVlQlNEX18pCisgY29uc3QgY2hhciAqX19n bmF0X29iamVjdF9maWxlX29wdGlvbiA9ICItV2wsQCI7CistY29uc3QgY2hhciAqX19nbmF0X3J1 bl9wYXRoX29wdGlvbiA9ICItV2wsLXJwYXRoLCI7CistY2hhciBfX2duYXRfc2hhcmVkX2xpYmdu YXRfZGVmYXVsdCA9IFNUQVRJQzsKKy1jaGFyIF9fZ25hdF9zaGFyZWRfbGliZ2NjX2RlZmF1bHQg PSBTVEFUSUM7CisrY29uc3QgY2hhciAqX19nbmF0X3J1bl9wYXRoX29wdGlvbiA9ICIiOworK2No YXIgX19nbmF0X3NoYXJlZF9saWJnbmF0X2RlZmF1bHQgPSBTSEFSRUQ7CisrY2hhciBfX2duYXRf c2hhcmVkX2xpYmdjY19kZWZhdWx0ID0gU0hBUkVEOworIGludCBfX2duYXRfbGlua19tYXggPSA4 MTkyOworIHVuc2lnbmVkIGNoYXIgX19nbmF0X29iamxpc3RfZmlsZV9zdXBwb3J0ZWQgPSAxOwor IGNvbnN0IGNoYXIgKl9fZ25hdF9vYmplY3RfbGlicmFyeV9leHRlbnNpb24gPSAiLmEiOworQEAg LTEyNyw5ICsxMjcsOSBAQAorIAorICNlbGlmIGRlZmluZWQgKGxpbnV4KSB8fCBkZWZpbmVkKF9f R0xJQkNfXykKKyBjb25zdCBjaGFyICpfX2duYXRfb2JqZWN0X2ZpbGVfb3B0aW9uID0gIi1XbCxA IjsKKy1jb25zdCBjaGFyICpfX2duYXRfcnVuX3BhdGhfb3B0aW9uID0gIi1XbCwtcnBhdGgsIjsK Ky1jaGFyIF9fZ25hdF9zaGFyZWRfbGliZ25hdF9kZWZhdWx0ID0gU1RBVElDOworLWNoYXIgX19n bmF0X3NoYXJlZF9saWJnY2NfZGVmYXVsdCA9IFNUQVRJQzsKKytjb25zdCBjaGFyICpfX2duYXRf cnVuX3BhdGhfb3B0aW9uID0gIiI7CisrY2hhciBfX2duYXRfc2hhcmVkX2xpYmduYXRfZGVmYXVs dCA9IFNIQVJFRDsKKytjaGFyIF9fZ25hdF9zaGFyZWRfbGliZ2NjX2RlZmF1bHQgPSBTSEFSRUQ7 CisgaW50IF9fZ25hdF9saW5rX21heCA9IDgxOTI7CisgdW5zaWduZWQgY2hhciBfX2duYXRfb2Jq bGlzdF9maWxlX3N1cHBvcnRlZCA9IDE7CisgY29uc3QgY2hhciAqX19nbmF0X29iamVjdF9saWJy YXJ5X2V4dGVuc2lvbiA9ICIuYSI7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRj aGVzL2NvbnNpc3RlbnQtbGlicmFyeS1wYXRocy5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L3Bh dGNoZXMvY29uc2lzdGVudC1saWJyYXJ5LXBhdGhzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi4xZWMwZTI1ODUyNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbGliZ2Njaml0L3BhdGNoZXMvY29uc2lzdGVudC1saWJyYXJ5LXBhdGhzLnBhdGNoCkBAIC0w LDAgKzEsMTEwIEBACitBbHdheXMgdXNlIGxpYjY0IGZvciA2NC1iaXQgYW5kIGxpYjMyIGZvciAz Mi1iaXQuCisKK0RvIG5vdCBjaGFuZ2UgdGhlIGR5bmFtaWMgbGlua2VycyBpbiBhbnkgd2F5LCB0 aG91Z2guCisKK1doZW4gYWRkaW5nIGEgbmV3IHBsYXRmb3JtLCBmaXggdGhpcyB1cCB0b28uCisK Ky0tLSBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4CisrKysgZ2NjL2NvbmZpZy9h YXJjaDY0L3QtYWFyY2g2NC1saW51eAorQEAgLTIyLDcgKzIyLDcgQEAgTElCMUFTTVNSQyAgID0g YWFyY2g2NC9saWIxZnVuY3MuYXNtCisgTElCMUFTTUZVTkNTID0gX2FhcmNoNjRfc3luY19jYWNo ZV9yYW5nZQorIAorIEFBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJ QU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCistTVVMVElMSUJfT1NESVJOQU1FUyA9 IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JF KS1saW51eC1nbnUpCisrTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NAor IE1VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9C RSktbGludXgtZ251KQorIAorIE1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9s aWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVf aWxwMzIpCistLS0gZ2NjL2NvbmZpZy9pMzg2L3QtbGludXg2NAorKysrIGdjYy9jb25maWcvaTM4 Ni90LWxpbnV4NjQKK0BAIC0zMyw2ICszMyw2IEBACisgY29tbWE9LAorIE1VTFRJTElCX09QVElP TlMgICAgPSAkKHN1YnN0ICQoY29tbWEpLC8sJChUTV9NVUxUSUxJQl9DT05GSUcpKQorIE1VTFRJ TElCX0RJUk5BTUVTICAgPSAkKHBhdHN1YnN0IG0lLCAlLCAkKHN1YnN0IC8sICwkKE1VTFRJTElC X09QVElPTlMpKSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbTY0PS4uL2xpYjY0JChjYWxsIGlm X211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTKz0gbTMy PSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4u L3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOmkzODYtbGlu dXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQKKytNVUxUSUxJQl9P U0RJUk5BTUVTKz0gbTMyPS4uL2xpYjMyCisgTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4v bGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKKy0tLSBnY2Mv Y29uZmlnL21pcHMvdC1saW51eDY0CisrKysgZ2NjL2NvbmZpZy9taXBzL3QtbGludXg2NAorQEAg LTIxLDYgKzIxLDYgQEAgTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKKyBNSVBTX0VMID0g JChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxl bCkKKyBNSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FC SSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSks c29mdCkKKyBNVUxUSUxJQl9PU0RJUk5BTUVTID0gXAorLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0 aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCist CS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQ U19TT0ZUKSkgXAorLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19F TCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCisrCS4uL2xpYjMyIFwKKysJLi4vbGliIFwK KysJLi4vbGliNjQKKy0tLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4CisrKysgZ2NjL2NvbmZp Zy9yczYwMDAvdC1saW51eAorQEAgLTIsNyArMiw4IEBACisgIyBvciBzb2Z0LWZsb2F0LgorIGlm ZXEgKCwkKGZpbHRlciAkKHdpdGhfY3B1KSwkKFNPRlRfRkxPQVRfQ1BVUykpJChmaW5kc3RyaW5n IHNvZnQsJCh3aXRoX2Zsb2F0KSkpCisgaWZuZXEgKCwkKGZpbmRzdHJpbmcgcG93ZXJwYzY0LCQo dGFyZ2V0KSkpCistTVVMVElMSUJfT1NESVJOQU1FUyA6PSAuPS4uL2xpYjY0JChjYWxsIGlmX211 bHRpYXJjaCw6cG93ZXJwYzY0LWxpbnV4LWdudSkKKytNVUxUSUxJQl9PU0RJUk5BTUVTIDo9IG02 ND0uLi9saWI2NAorK01VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPS4uL2xpYjMyCisgZWxzZQor IE1VTFRJQVJDSF9ESVJOQU1FIDo9ICQoY2FsbCBpZl9tdWx0aWFyY2gscG93ZXJwYy1saW51eC1n bnUpCisgZW5kaWYKK0BAIC0xMCw3ICsxMSw4IEBAIGlmbmVxICgsJChmaW5kc3RyaW5nIHBvd2Vy cGNsZSwkKHRhcmdldCkpKQorIE1VTFRJQVJDSF9ESVJOQU1FIDo9ICQoc3Vic3QgLWxpbnV4LGxl LWxpbnV4LCQoTVVMVElBUkNIX0RJUk5BTUUpKQorIGVuZGlmCisgaWZuZXEgKCwkKGZpbmRzdHJp bmcgcG93ZXJwYzY0bGUsJCh0YXJnZXQpKSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTIDo9ICQoc3Vi c3QgLWxpbnV4LGxlLWxpbnV4LCQoTVVMVElMSUJfT1NESVJOQU1FUykpCisrTVVMVElMSUJfT1NE SVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQKKytNVUxUSUxJQl9PU0RJUk5BTUVTICs9IG0zMj0uLi9s aWIzMgorIGVuZGlmCisgZW5kaWYKKyAKKy0tLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQK KysrKyBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKK0BAIC0yOCw4ICsyOCw4IEBACisgTVVM VElMSUJfT1BUSU9OUyAgICA6PSBtNjQvbTMyCisgTVVMVElMSUJfRElSTkFNRVMgICA6PSA2NCAz MgorIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCistTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9 Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQorLU1VTFRJ TElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNU RU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBp Zl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMgOj0g bTY0PS4uL2xpYjY0CisrTVVMVElMSUJfT1NESVJOQU1FUyArPSBtMzI9Li4vbGliMzIKKyAKKyBy czYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKKyAJ JChDT01QSUxFKSAkPAorLS0tIGdjYy9jb25maWcvcnM2MDAwL3QtbGludXg2NGJlbGUKKysrKyBn Y2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjRiZWxlCitAQCAtMiw2ICsyLDYgQEAKKyAKKyBNVUxU SUxJQl9PUFRJT05TICAgICs9IG1saXR0bGUKKyBNVUxUSUxJQl9ESVJOQU1FUyAgICs9IGxlCist TVVMVElMSUJfT1NESVJOQU1FUyArPSAkKHN1YnN0ID0sLm1saXR0bGU9LCQoc3Vic3QgbGlibGUz MixsaWIzMmxlLCQoc3Vic3QgbGlibGU2NCxsaWI2NGxlLCQoc3Vic3QgbGliLGxpYmxlLCQoc3Vi c3QgLWxpbnV4LGxlLWxpbnV4LCQoTVVMVElMSUJfT1NESVJOQU1FUykpKSkpKQorLU1VTFRJTElC X09TRElSTkFNRVMgKz0gJChzdWJzdCAkKGlmICQoZmluZHN0cmluZyA2NCwkKHRhcmdldCkpLG02 NCxtMzIpLiwsJChmaWx0ZXIgJChpZiAkKGZpbmRzdHJpbmcgNjQsJCh0YXJnZXQpKSxtNjQsbTMy KS5tbGl0dGxlJSwkKE1VTFRJTElCX09TRElSTkFNRVMpKSkKKytNVUxUSUxJQl9PU0RJUk5BTUVT ID0gbTY0PS4uL2xpYjY0CisrTVVMVElMSUJfT1NESVJOQU1FUys9IG0zMj0uLi9saWIzMgorIE1V TFRJTElCX01BVENIRVMgICAgOj0gJHtNVUxUSUxJQl9NQVRDSEVTX0VORElBTn0KKy0tLSBnY2Mv Y29uZmlnL3JzNjAwMC90LWxpbnV4NjRsZWJlCisrKysgZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51 eDY0bGViZQorQEAgLTIsNiArMiw2IEBACisgCisgTVVMVElMSUJfT1BUSU9OUyAgICArPSBtYmln CisgTVVMVElMSUJfRElSTkFNRVMgICArPSBiZQorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gJChz dWJzdCA9LC5tYmlnPSwkKHN1YnN0IGxpYmJlMzIsbGliMzJiZSwkKHN1YnN0IGxpYmJlNjQsbGli NjRiZSwkKHN1YnN0IGxpYixsaWJiZSwkKHN1YnN0IGxlLWxpbnV4LC1saW51eCwkKE1VTFRJTElC X09TRElSTkFNRVMpKSkpKSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTICs9ICQoc3Vic3QgJChpZiAk KGZpbmRzdHJpbmcgNjQsJCh0YXJnZXQpKSxtNjQsbTMyKS4sLCQoZmlsdGVyICQoaWYgJChmaW5k c3RyaW5nIDY0LCQodGFyZ2V0KSksbTY0LG0zMikubWJpZyUsJChNVUxUSUxJQl9PU0RJUk5BTUVT KSkpCisrTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQKKytNVUxUSUxJQl9PU0RJ Uk5BTUVTICs9IG0zMj0uLi9saWIzMgorIE1VTFRJTElCX01BVENIRVMgICAgOj0gJHtNVUxUSUxJ Ql9NQVRDSEVTX0VORElBTn0KKy0tLSBnY2MvY29uZmlnL3MzOTAvdC1saW51eDY0CisrKysgZ2Nj L2NvbmZpZy9zMzkwL3QtbGludXg2NAorQEAgLTcsNSArNyw1IEBACisgCisgTVVMVElMSUJfT1BU SU9OUyA9IG02NC9tMzEKKyBNVUxUSUxJQl9ESVJOQU1FUyA9IDY0IDMyCistTVVMVElMSUJfT1NE SVJOQU1FUyA9IC4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6czM5MHgtbGludXgtZ251KQor LU1VTFRJTElCX09TRElSTkFNRVMgKz0gJChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZ U1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxs IGlmX211bHRpYXJjaCw6czM5MC1saW51eC1nbnUpCisrTVVMVElMSUJfT1NESVJOQU1FUyA9IG02 ND0uLi9saWI2NAorK01VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9Li4vbGliMzIKKy0tIAorMi4y OS4yCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4LWN4eGZsYWdz LXBhc3NpbmcucGF0Y2ggYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC1jeHhmbGFncy1w YXNzaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kZGEy YTUwNDYwYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4 LWN4eGZsYWdzLXBhc3NpbmcucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIE1ha2VmaWxlLmlu Lm9yaWcKKysrKyBNYWtlZmlsZS5pbgorQEAgLTE2OSw2ICsxNjksNyBAQAorICMgYnVpbHQgZm9y IHRoZSBidWlsZCBzeXN0ZW0gdG8gb3ZlcnJpZGUgdGhvc2UgaW4gQkFTRV9GTEFHU19UT19QQVNT Uy4KKyBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKKyAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQp IiBcCisrCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJTERGTEFHUz0iJChM REZMQUdTX0ZPUl9CVUlMRCkiCisgCisgIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVz IHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdj Y2ppdC9wYXRjaGVzL2ZpeC1tdXNsLWV4ZWNpbmZvLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQv cGF0Y2hlcy9maXgtbXVzbC1leGVjaW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uNTgzZWFjN2IwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xp YmdjY2ppdC9wYXRjaGVzL2ZpeC1tdXNsLWV4ZWNpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAK K1RoZXJlIGlzIG5vIDxleGVjaW5mby5oPiBpbiBtdXNsIGxpYmMKKworLS0tIGxpYnZ0di92dHZf cnRzLmNjCTIwMTYtMDktMjMgMTY6MTc6MTEuMDAwMDAwMDAwICswMjAwCisrKysgbGlidnRjL3Z0 dl9ydHMuY2MJMjAxNi0wOS0yNSAxNTowODo1Ny44OTYwMDAwMDAgKzAyMDAKK0BAIC0xMjQsNyAr MTI0LDcgQEAKKyAjaW5jbHVkZSA8d2luZG93cy5oPgorICNpbmNsdWRlIDx3aW50ZXJubC5oPgor ICNpbmNsdWRlIDxwc2FwaS5oPgorLSNlbHNlCisrI2VsaWYgZGVmaW5lZCAoX19HTElCQ19fKQor ICNpbmNsdWRlIDxleGVjaW5mby5oPgorICNlbmRpZgorIAorLS0tIGxpYnZ0di92dHZfdXRpbHMu Y2MJMjAxNi0wOS0yMyAxNjoxNzoxMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJ2dHYvdnR2X3V0 aWxzLmNjCTIwMTYtMDktMjUgMTU6MTU6MzUuNTI5MDAwMDAwICswMjAwCitAQCAtMzQsNyArMzQs NyBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaWYgZGVmaW5lZCAoX19DWUdXSU5fXykgfHwg ZGVmaW5lZCAoX19NSU5HVzMyX18pCisgI2luY2x1ZGUgPHdpbmRvd3MuaD4KKy0jZWxzZQorKyNl bGlmIGRlZmluZWQgKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKyAjZW5kaWYK KyAKK0BAIC0xNzgsNyArMTc4LDcgQEAKKyAKKyAgIF9fdnR2X2FkZF90b19sb2cgKHZ0dl9mYWls dXJlc19sb2dfZmQsICIlcyIsIGxvZ19tc2cpOworIAorLSNpZiAhZGVmaW5lZCAoX19DWUdXSU5f XykgJiYgIWRlZmluZWQgKF9fTUlOR1czMl9fKQorKyNpZiAhZGVmaW5lZCAoX19DWUdXSU5fXykg JiYgIWRlZmluZWQgKF9fTUlOR1czMl9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGlmIChn ZW5lcmF0ZV9iYWNrdHJhY2UpCisgICAgIHsKKyAjZGVmaW5lIFNUQUNLX0RFUFRIIDIwCmRpZmYg LS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2ZpeC12dHYtbGluay1vcmRlci5wYXRj aCBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4LXZ0di1saW5rLW9yZGVyLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMzE1YzNlOTkwYgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMvZml4LXZ0di1saW5rLW9yZGVy LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK3B1dCB2dHZfZW5kLm8gaW4gZnJvbnQgb2YgcG9zdGRl cF9vYmplY3RzX0NYWAoraGF2aW5nIGl0IGFmdGVyIGNydGVuZFMubyBsZWFkcyB0byBtaXNzaW5n IHplcm8gdGVybWluYXRpb24gaW4gZWhfZnJhbWUgc2VjdGlvbgorCitUaGlzIGlzIGluIGxpbmUg d2l0aCBjb21tZW50IGluIGxpYmdjYy92dHZfZW5kLmM6CisKKyAgIFdoZW4gdGhlIEdDQyBkcml2 ZXIgaW5zZXJ0cyB2dHZfc3RhcnQubyBpbnRvIHRoZSBsaW5rIGxpbmUgKGp1c3QKKyAgIGFmdGVy IGNydGJlZ2luLm8pIGl0IGFsc28gaW5zZXJ0cyB2dHZfZW5kLm8gaW50byB0aGUgbGluayBsaW5l LAorICAganVzdCBiZWZvcmUgY3J0ZW5kLm8uCisKKy0tLSBsaWJzdGRjKystdjMvY29uZmlndXJl CisrKysgbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorQEAgLTE1NDQzLDcgKzE1NDQzLDcgQEAKKyAK KyBpZiB0ZXN0ICIkZW5hYmxlX3Z0YWJsZV92ZXJpZnkiID0geWVzOyB0aGVuCisgICBwcmVkZXBf b2JqZWN0c19DWFg9IiR7cHJlZGVwX29iamVjdHNfQ1hYfSAke2dsaWJjeHhfYnVpbGRkaXJ9Ly4u L2xpYmdjYy92dHZfc3RhcnQubyIKKy0gIHBvc3RkZXBfb2JqZWN0c19DWFg9IiR7cG9zdGRlcF9v YmplY3RzX0NYWH0gJHtnbGliY3h4X2J1aWxkZGlyfS8uLi9saWJnY2MvdnR2X2VuZC5vIgorKyAg cG9zdGRlcF9vYmplY3RzX0NYWD0iJHtnbGliY3h4X2J1aWxkZGlyfS8uLi9saWJnY2MvdnR2X2Vu ZC5vICR7cG9zdGRlcF9vYmplY3RzX0NYWH0iIAorIGZpCisgCisgCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpYmdjY2ppdC9wYXRjaGVzL2xpYmZmaV9nbnVsaW51eC5wYXRjaCBiL3NyY3BrZ3MvbGli Z2Njaml0L3BhdGNoZXMvbGliZmZpX2dudWxpbnV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi40MTNiNGFlZjVhZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbGliZ2Njaml0L3BhdGNoZXMvbGliZmZpX2dudWxpbnV4LnBhdGNoCkBAIC0wLDAgKzEsMTEg QEAKKy0tLSBsaWJmZmkvc3JjL2Nsb3N1cmVzLmMub3JpZworKysrIGxpYmZmaS9zcmMvY2xvc3Vy ZXMuYworQEAgLTM0LDcgKzM0LDcgQEAKKyAjaW5jbHVkZSA8ZmZpX2NvbW1vbi5oPgorCisgI2lm ICFGRklfTU1BUF9FWEVDX1dSSVQgJiYgIUZGSV9FWEVDX1RSQU1QT0xJTkVfVEFCTEUKKy0jIGlm IF9fZ251X2xpbnV4X18gJiYgIWRlZmluZWQoX19BTkRST0lEX18pCisrIyBpZiBfX2xpbnV4X18g JiYgIWRlZmluZWQoX19BTkRST0lEX18pCisgLyogVGhpcyBtYWNybyBpbmRpY2F0ZXMgaXQgbWF5 IGJlIGZvcmJpZGRlbiB0byBtYXAgYW5vbnltb3VzIG1lbW9yeQorICAgIHdpdGggYm90aCB3cml0 ZSBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9uLiAgQ29kZSBjb21waWxlZCB3aGVuIHRoaXMKKyAgICBv cHRpb24gaXMgZGVmaW5lZCB3aWxsIGF0dGVtcHQgdG8gbWFwIHN1Y2ggcGFnZXMgb25jZSwgYnV0 IGlmIGl0CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2xpYmdjYy1pYm0x Mjgtbm8tdGFnLnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvcGF0Y2hlcy9saWJnY2MtaWJtMTI4 LW5vLXRhZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODU1 ZjhmMWIwMzUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL2xp YmdjYy1pYm0xMjgtbm8tdGFnLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gMjM2NjM0ZWVk NThmYTZlMDBjYzUwZjE5ZTcyMDI5MDNhOWQ4ZmFlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CitEYXRlOiBUaHUsIDEyIERlYyAyMDE5 IDA0OjAzOjU2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmdjYzogdXNlIC1tbm8tZ251LWF0 dHJpYnV0ZSBmb3IgMTI4LWJpdCBJQk0gbGRvdWJsZQorIHN1cHBvcnQgY29kZQorCitEb2luZyB0 aGlzIHdpbGwgYWxsb3cgbGliZ2NjIHRvIGVtaXQgdGhlIGFwcHJvcHJpYXRlIHN5bWJvbHMgd2l0 aG91dCBhY3R1YWxseQorZW1pdHRpbmcgdGhlIEZQIEFCSSB0YWcgZm9yIHRoZW0sIHdoaWNoIGFs bG93cyA2NC1iaXQgbG9uZyBkb3VibGUgZW52aXJvbm1lbnRzCit0byBmdW5jdGlvbiBhbmQgZXZl biBsaW5rIHN0YXRpY2FsbHkgd2hpbGUgc3RpbGwgYWxsb3dpbmcgdXNhZ2Ugb2YKK2V4cGxpY2l0 IF9faWJtMTI4LgorLS0tCisgbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1pYm0tbGRvdWJsZSB8IDIg Ky0KKyBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4ICAgICAgIHwgMiArLQorIDIgZmlsZXMg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv bGliZ2NjL2NvbmZpZy9yczYwMDAvdC1pYm0tbGRvdWJsZSBiL2xpYmdjYy9jb25maWcvcnM2MDAw L3QtaWJtLWxkb3VibGUKK2luZGV4IGIxMzI3ODQuLmZiNWVjYTggMTAwNjQ0CistLS0gbGliZ2Nj L2NvbmZpZy9yczYwMDAvdC1pYm0tbGRvdWJsZQorKysrIGxpYmdjYy9jb25maWcvcnM2MDAwL3Qt aWJtLWxkb3VibGUKK0BAIC0xLDYgKzEsNiBAQAorICMgR0NDIDEyOC1iaXQgbG9uZyBkb3VibGUg c3VwcG9ydCByb3V0aW5lcy4KKyBMSUIyQUREICs9ICQoc3JjZGlyKS9jb25maWcvcnM2MDAwL2li bS1sZG91YmxlLmMKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtMTI4 CisrSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOCAtbW5vLWdudS1hdHRy aWJ1dGUKKyAKKyBTSExJQl9NQVBGSUxFUyArPSAkKHNyY2RpcikvY29uZmlnL3JzNjAwMC9saWJn Y2MtaWJtLWxkb3VibGUudmVyCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1s aW51eCBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK2luZGV4IDRmNmQ0YzQuLmZhOTNi YjYgMTAwNjQ0CistLS0gbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAorKysrIGxpYmdjYy9j b25maWcvcnM2MDAwL3QtbGludXgKK0BAIC0xLDMgKzEsMyBAQAorIFNITElCX01BUEZJTEVTICs9 ICQoc3JjZGlyKS9jb25maWcvcnM2MDAwL2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdD QzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtMTI4IC1tbm8tbWluaW1hbC10b2MKKytIT1NUX0xJ QkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtMTI4IC1tbm8tZ251LWF0dHJpYnV0ZSAtbW5v LW1pbmltYWwtdG9jCistLSAKKzIuMjQuMApkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJnY2NqaXQv cGF0Y2hlcy9taXBzLXNnaWRlZnNfaC5wYXRjaCBiL3NyY3BrZ3MvbGliZ2Njaml0L3BhdGNoZXMv bWlwcy1zZ2lkZWZzX2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmU1ZmRiZjlmOTZmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvcGF0 Y2hlcy9taXBzLXNnaWRlZnNfaC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gbGliZmZpL3Ny Yy9taXBzL2ZmaXRhcmdldC5oCTIwMTQtMTEtMDggMTM6NDc6MjQuMDAwMDAwMDAwICswMTAwCisr KysgbGliZmZpL3NyYy9taXBzL2ZmaXRhcmdldC5oCTIwMTctMTEtMDkgMTY6NTE6MTEuODY2ODQ4 NDQ0ICswMTAwCitAQCAtNDIsNyArNDIsNyBAQAorICNkZWZpbmUgX01JUFNfU0lNX05BQkkzMgky CisgI2RlZmluZSBfTUlQU19TSU1fQUJJNjQJCTMKKyAjZWxpZiAhZGVmaW5lZChfX09wZW5CU0Rf XykKKy0jIGluY2x1ZGUgPHNnaWRlZnMuaD4KKysjIGluY2x1ZGUgPGFzbS9zZ2lkZWZzLmg+Cisg I2VuZGlmCisgCisgIyAgaWZuZGVmIF9BQklOMzIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGliZ2Nj aml0L3BhdGNoZXMvbWlwcy1zb2Z0LWZsb2F0LnBhdGNoIGIvc3JjcGtncy9saWJnY2NqaXQvcGF0 Y2hlcy9taXBzLXNvZnQtZmxvYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjRkYjBlMmZiMDdhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2Nq aXQvcGF0Y2hlcy9taXBzLXNvZnQtZmxvYXQucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorLS0tIGxp YmZmaS9zcmMvbWlwcy9vMzIuUwkyMDIwLTAzLTEyIDEyOjA3OjIzLjAwMDAwMDAwMCArMDEwMAor KysrIGxpYmZmaS9zcmMvbWlwcy9vMzIuUwkyMDIwLTA1LTE0IDIwOjUyOjQ1LjcwMTgwOTA1NCAr MDIwMAorQEAgLTI3OCw2ICsyNzgsNyBAQAorIAlsaQkkOSwgRkZJX1RZUEVfVk9JRAorIAliZXEJ JDgsICQ5LCBjbG9zdXJlX2RvbmUKKyAKKysjaWZuZGVmIF9fbWlwc19zb2Z0X2Zsb2F0CisgCWxp CSQxMywgMQkJIyBGRklfTzMyCisgCWJuZQkkMTYsICQxMywgMWYJIyBTa2lwIGZwIHJlc3RvcmUg aWYgRkZJX08zMl9TT0ZUX0ZMT0FUCisgCitAQCAtMjg5LDYgKzI5MCw3IEBACisgCWwuZAkkZjAs IFYwX09GRjIoJGZwKQorIAliZXEJJDgsICQ5LCBjbG9zdXJlX2RvbmUKKyAxOgkKKysjZW5kaWYK KyAJUkVHX0wJJDMsIFYxX09GRjIoJGZwKQorIAlSRUdfTAkkMiwgVjBfT0ZGMigkZnApCisgCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC9wYXRjaGVzL211c2wtYWRhLnBhdGNoIGIvc3Jj cGtncy9saWJnY2NqaXQvcGF0Y2hlcy9tdXNsLWFkYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uNjE4MjM2ODRkYTUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2xpYmdjY2ppdC9wYXRjaGVzL211c2wtYWRhLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitk aWZmIC0tZ2l0IGEvZ2NjL2FkYS9hZGFpbnQuYyBiL2djYy9hZGEvYWRhaW50LmMKK2luZGV4IDNi MGFlYTkuLmVlMGJiNjkgMTAwNjQ0CistLS0gZ2NjL2FkYS9hZGFpbnQuYworKysrIGdjYy9hZGEv YWRhaW50LmMKK0BAIC03Niw2ICs3NiwxMSBAQAorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyAj aW5jbHVkZSA8c3lzL3BzdGF0Lmg+CisgI2VuZGlmCisrIAorKyNpZiBkZWZpbmVkIChsaW51eCkK KysjZGVmaW5lIF9HTlVfU09VUkNFIDEKKysjaW5jbHVkZSA8c2NoZWQuaD4KKysjZW5kaWYKKyAK KyAjaWZkZWYgX19QaWtlT1NfXworICNkZWZpbmUgX19CU0RfVklTSUJMRSAxCitAQCAtMzI1NSw3 ICszMjYwLDYgQEAgX19nbmF0X2x3cF9zZWxmICh2b2lkKQorICNlbmRpZgorIAorICNpZiBkZWZp bmVkIChfX2xpbnV4X18pCistI2luY2x1ZGUgPHNjaGVkLmg+CisgCisgLyogZ2xpYmMgdmVyc2lv bnMgZWFybGllciB0aGFuIDIuNyBkbyBub3QgZGVmaW5lIHRoZSByb3V0aW5lcyB0byBoYW5kbGUK KyAgICBkeW5hbWljYWxseSBhbGxvY2F0ZWQgQ1BVIHNldHMuIEZvciB0aGVzZSB0YXJnZXRzLCB3 ZSB1c2UgdGhlIHN0YXRpYworQEAgLTMyNjUsNyArMzI2OSw3IEBAIF9fZ25hdF9sd3Bfc2VsZiAo dm9pZCkKKyAKKyAvKiBEeW5hbWljIGNwdSBzZXRzICovCisgCistY3B1X3NldF90ICoKKyt2b2lk ICoKKyBfX2duYXRfY3B1X2FsbG9jIChzaXplX3QgY291bnQpCisgeworICAgcmV0dXJuIENQVV9B TExPQyAoY291bnQpOworQEAgLTMyNzgsMzMgKzMyODIsMzMgQEAgX19nbmF0X2NwdV9hbGxvY19z aXplIChzaXplX3QgY291bnQpCisgfQorIAorIHZvaWQKKy1fX2duYXRfY3B1X2ZyZWUgKGNwdV9z ZXRfdCAqc2V0KQorK19fZ25hdF9jcHVfZnJlZSAodm9pZCAqc2V0KQorIHsKKy0gIENQVV9GUkVF IChzZXQpOworKyAgQ1BVX0ZSRUUgKChjcHVfc2V0X3QgKikgc2V0KTsKKyB9CisgCisgdm9pZAor LV9fZ25hdF9jcHVfemVybyAoc2l6ZV90IGNvdW50LCBjcHVfc2V0X3QgKnNldCkKKytfX2duYXRf Y3B1X3plcm8gKHNpemVfdCBjb3VudCwgdm9pZCAqc2V0KQorIHsKKy0gIENQVV9aRVJPX1MgKGNv dW50LCBzZXQpOworKyAgQ1BVX1pFUk9fUyAoY291bnQsIChjcHVfc2V0X3QgKikgc2V0KTsKKyB9 CisgCisgdm9pZAorLV9fZ25hdF9jcHVfc2V0IChpbnQgY3B1LCBzaXplX3QgY291bnQsIGNwdV9z ZXRfdCAqc2V0KQorK19fZ25hdF9jcHVfc2V0IChpbnQgY3B1LCBzaXplX3QgY291bnQsIHZvaWQg KnNldCkKKyB7CisgICAvKiBBZGEgaGFuZGxlcyBDUFUgbnVtYmVycyBzdGFydGluZyBmcm9tIDEs IHdoaWxlIEMgaWRlbnRpZmllcyB0aGUgZmlyc3QKKyAgICAgIENQVSBieSBhIDAsIHNvIHdlIG5l ZWQgdG8gYWRqdXN0LiAqLworLSAgQ1BVX1NFVF9TIChjcHUgLSAxLCBjb3VudCwgc2V0KTsKKysg IENQVV9TRVRfUyAoY3B1IC0gMSwgY291bnQsIChjcHVfc2V0X3QgKikgc2V0KTsKKyB9CisgCisg I2Vsc2UgLyogIUNQVV9BTExPQyAqLworIAorIC8qIFN0YXRpYyBjcHUgc2V0cyAqLworIAorLWNw dV9zZXRfdCAqCisrdm9pZCAqCisgX19nbmF0X2NwdV9hbGxvYyAoc2l6ZV90IGNvdW50IEFUVFJJ QlVURV9VTlVTRUQpCisgeworLSAgcmV0dXJuIChjcHVfc2V0X3QgKikgeG1hbGxvYyAoc2l6ZW9m IChjcHVfc2V0X3QpKTsKKysgIHJldHVybiB4bWFsbG9jIChzaXplb2YgKGNwdV9zZXRfdCkpOwor IH0KKyAKKyBzaXplX3QKK0BAIC0zMzE0LDIzICszMzE4LDIzIEBAIF9fZ25hdF9jcHVfYWxsb2Nf c2l6ZSAoc2l6ZV90IGNvdW50IEFUVFJJQlVURV9VTlVTRUQpCisgfQorIAorIHZvaWQKKy1fX2du YXRfY3B1X2ZyZWUgKGNwdV9zZXRfdCAqc2V0KQorK19fZ25hdF9jcHVfZnJlZSAodm9pZCAqc2V0 KQorIHsKKyAgIGZyZWUgKHNldCk7CisgfQorIAorIHZvaWQKKy1fX2duYXRfY3B1X3plcm8gKHNp emVfdCBjb3VudCBBVFRSSUJVVEVfVU5VU0VELCBjcHVfc2V0X3QgKnNldCkKKytfX2duYXRfY3B1 X3plcm8gKHNpemVfdCBjb3VudCBBVFRSSUJVVEVfVU5VU0VELCB2b2lkICpzZXQpCisgeworLSAg Q1BVX1pFUk8gKHNldCk7CisrICBDUFVfWkVSTyAoKGNwdV9zZXRfdCAqKSBzZXQpOworIH0KKyAK KyB2b2lkCistX19nbmF0X2NwdV9zZXQgKGludCBjcHUsIHNpemVfdCBjb3VudCBBVFRSSUJVVEVf VU5VU0VELCBjcHVfc2V0X3QgKnNldCkKKytfX2duYXRfY3B1X3NldCAoaW50IGNwdSwgc2l6ZV90 IGNvdW50IEFUVFJJQlVURV9VTlVTRUQsIHZvaWQgKnNldCkKKyB7CisgICAvKiBBZGEgaGFuZGxl cyBDUFUgbnVtYmVycyBzdGFydGluZyBmcm9tIDEsIHdoaWxlIEMgaWRlbnRpZmllcyB0aGUgZmly c3QKKyAgICAgIENQVSBieSBhIDAsIHNvIHdlIG5lZWQgdG8gYWRqdXN0LiAqLworLSAgQ1BVX1NF VCAoY3B1IC0gMSwgc2V0KTsKKysgIENQVV9TRVQgKGNwdSAtIDEsIChjcHVfc2V0X3QgKikgc2V0 KTsKKyB9CisgI2VuZGlmIC8qICFDUFVfQUxMT0MgKi8KKyAjZW5kaWYgLyogX19saW51eF9fICov CitkaWZmIC0tZ2l0IGEvZ2NjL2FkYS9hZGFpbnQuaCBiL2djYy9hZGEvYWRhaW50LmgKK2luZGV4 IDBkMTJmN2UuLmEwNjNiNDcgMTAwNjQ0CistLS0gZ2NjL2FkYS9hZGFpbnQuaAorKysrIGdjYy9h ZGEvYWRhaW50LmgKK0BAIC0zMTYsMTMgKzMxNiwxMSBAQCBleHRlcm4gdm9pZCAgICpfX2duYXRf bHdwX3NlbGYJCQkgICAodm9pZCk7CisgCisgLyogUm91dGluZXMgZm9yIGludGVyZmFjZSB0byBy ZXF1aXJlZCBDUFUgc2V0IHByaW1pdGl2ZXMgKi8KKyAKKy0jaW5jbHVkZSA8c2NoZWQuaD4KKy0K Ky1leHRlcm4gY3B1X3NldF90ICpfX2duYXRfY3B1X2FsbG9jICAgICAgICAgICAgICAgICAoc2l6 ZV90KTsKKytleHRlcm4gdm9pZCAqIF9fZ25hdF9jcHVfYWxsb2MgICAgICAgICAgICAgICAgIChz aXplX3QpOworIGV4dGVybiBzaXplX3QgX19nbmF0X2NwdV9hbGxvY19zaXplICAgICAgICAgICAg ICAgIChzaXplX3QpOworLWV4dGVybiB2b2lkICAgX19nbmF0X2NwdV9mcmVlICAgICAgICAgICAg ICAgICAgKGNwdV9zZXRfdCAqKTsKKy1leHRlcm4gdm9pZCAgIF9fZ25hdF9jcHVfemVybyAgICAg ICAgICAgICAgICAgICAgICAoc2l6ZV90LCBjcHVfc2V0X3QgKik7CistZXh0ZXJuIHZvaWQgICBf X2duYXRfY3B1X3NldCAgICAgICAgICAgICAgICAgICAgICAgKGludCwgc2l6ZV90LCBjcHVfc2V0 X3QgKik7CisrZXh0ZXJuIHZvaWQgICBfX2duYXRfY3B1X2ZyZWUgICAgICAgICAgICAgICAgICAo dm9pZCAqKTsKKytleHRlcm4gdm9pZCAgIF9fZ25hdF9jcHVfemVybyAgICAgICAgICAgICAgICAg ICAgICAoc2l6ZV90LCB2b2lkICopOworK2V4dGVybiB2b2lkICAgX19nbmF0X2NwdV9zZXQgICAg ICAgICAgICAgICAgICAgICAgIChpbnQsIHNpemVfdCwgdm9pZCAqKTsKKyAjZW5kaWYKKyAKKyAj aWYgZGVmaW5lZCAoX1dJTjMyKQorLS0tIGdjYy9hZGEvTWFrZWZpbGUucnRsCTIwMjAtMDctMjMg MDg6MzU6MTcuMDUyMzgxMzM2ICswMjAwCisrKysgLQkyMDIwLTA4LTA5IDE5OjM4OjI0LjIzMDM1 MTQwNiArMDIwMAorQEAgLTE1MzMsNyArMTUzMyw3IEBACisgICBzLWludG1hbi5hZGI8bGliZ25h cmwvcy1pbnRtYW5fX3Bvc2l4LmFkYiBcCisgICBzLXRwb3BzcC5hZGI8bGliZ25hcmwvcy10cG9w c3BfX3Rscy5hZGIgXAorICAgJChUUkFTWU1fRFdBUkZfVU5JWF9QQUlSUykgXAorLSAgcy10c21v bmEuYWRiPGxpYmduYXQvcy10c21vbmFfX2xpbnV4LmFkYiBcCisrICBzLXRzbW9uYS5hZGI8bGli Z25hdC9zLXRzbW9uYS5hZGIgXAorICAgYS1leGV0aW0uYWRiPGxpYmduYXJsL2EtZXhldGltX19w b3NpeC5hZGIgXAorICAgYS1leGV0aW0uYWRzPGxpYmduYXJsL2EtZXhldGltX19kZWZhdWx0LmFk cyBcCisgICBzLWxpbnV4LmFkczxsaWJnbmFybC9zLWxpbnV4LmFkcyBcCitAQCAtMjA4Myw3ICsy MDgzLDcgQEAKKyAgIHMtb3NpbnRlLmFkYjxsaWJnbmFybC9zLW9zaW50ZV9fcG9zaXguYWRiIFwK KyAgIHMtdHBvcHNwLmFkYjxsaWJnbmFybC9zLXRwb3BzcF9fdGxzLmFkYiBcCisgICAkKFRSQVNZ TV9EV0FSRl9VTklYX1BBSVJTKSBcCistICBzLXRzbW9uYS5hZGI8bGliZ25hdC9zLXRzbW9uYV9f bGludXguYWRiIFwKKysgIHMtdHNtb25hLmFkYjxsaWJnbmF0L3MtdHNtb25hLmFkYiBcCisgICAk KEFUT01JQ1NfVEFSR0VUX1BBSVJTKSBcCisgICAkKEFUT01JQ1NfQlVJTFRJTlNfVEFSR0VUX1BB SVJTKSBcCisgICBzeXN0ZW0uYWRzPGxpYmduYXQvc3lzdGVtLWxpbnV4LXBwYy5hZHMKK0BAIC0y MTEyLDcgKzIxMTIsNyBAQAorIGVuZGlmCisgCisgIyBBUk0gbGludXgsIEdOVSBlYWJpCistaWZl cSAoJChzdHJpcCAkKGZpbHRlci1vdXQgYXJtJSBsaW51eC1nbnVlYWJpJSwkKHRhcmdldF9jcHUp ICQodGFyZ2V0X29zKSkpLCkKKytpZmVxICgkKHN0cmlwICQoZmlsdGVyLW91dCBhcm0lIGxpbnV4 LWdudWVhYmklIGxpbnV4LW11c2xlYWJpJSBsaW51eC1tdXNsZ251ZWFiaSUsJCh0YXJnZXRfY3B1 KSAkKHRhcmdldF9vcykpKSwpCisgICBMSUJHTkFUX1RBUkdFVF9QQUlSUyA9IFwKKyAgIGEtaW50 bmFtLmFkczxsaWJnbmFybC9hLWludG5hbV9fbGludXguYWRzIFwKKyAgIHMtaW5tYW9wLmFkYjxs aWJnbmFybC9zLWlubWFvcF9fcG9zaXguYWRiIFwKK0BAIC0yMzA1LDcgKzIzMDUsNyBAQAorICAg cy10cG9wc3AuYWRiPGxpYmduYXJsL3MtdHBvcHNwX190bHMuYWRiIFwKKyAgIHMtdGFzcHJpLmFk czxsaWJnbmFybC9zLXRhc3ByaV9fcG9zaXgtbm9hbHRzdGFjay5hZHMgXAorICAgJChUUkFTWU1f RFdBUkZfVU5JWF9QQUlSUykgXAorLSAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10c21vbmFfX2xp bnV4LmFkYiBcCisrICBzLXRzbW9uYS5hZGI8bGliZ25hdC9zLXRzbW9uYS5hZGIgXAorICAgJChB VE9NSUNTX1RBUkdFVF9QQUlSUykgXAorICAgJChBVE9NSUNTX0JVSUxUSU5TX1RBUkdFVF9QQUlS UykgXAorICAgc3lzdGVtLmFkczxsaWJnbmF0L3N5c3RlbS1saW51eC1pYTY0LmFkcworQEAgLTI0 MDEsNyArMjQwMSw3IEBACisgICBzLXRwb3BzcC5hZGI8bGliZ25hcmwvcy10cG9wc3BfX3Rscy5h ZGIgXAorICAgcy10YXNwcmkuYWRzPGxpYmduYXJsL3MtdGFzcHJpX19wb3NpeC5hZHMgXAorICAg JChUUkFTWU1fRFdBUkZfVU5JWF9QQUlSUykgXAorLSAgcy10c21vbmEuYWRiPGxpYmduYXQvcy10 c21vbmFfX2xpbnV4LmFkYiBcCisrICBzLXRzbW9uYS5hZGI8bGliZ25hdC9zLXRzbW9uYS5hZGIg XAorICAgJChBVE9NSUNTX1RBUkdFVF9QQUlSUykgXAorICAgJChYODZfNjRfVEFSR0VUX1BBSVJT KSBcCisgICBzeXN0ZW0uYWRzPGxpYmduYXQvc3lzdGVtLWxpbnV4LXg4Ni5hZHMKKy0tLSBnY2Mv YWRhL3Rlcm1pbmFscy5jCTIwMTktMDEtMDggMTA6NTQ6MDQuMDAwMDAwMDAwICswMTAwCisrKysg Z2NjL2FkYS90ZXJtaW5hbHMuYwkyMDE5LTA1LTE1IDEzOjE0OjA5LjkzNTc0MjUyNiArMDIwMAor QEAgLTExMzYsNyArMTEzNiw3IEBACisgLyogUE9TSVggZG9lcyBub3Qgc3BlY2lmeSBob3cgdG8g b3BlbiB0aGUgbWFzdGVyIHNpZGUgb2YgYSB0ZXJtaW5hbC5TZXZlcmFsCisgICAgbWV0aG9kcyBh cmUgYXZhaWxhYmxlIChzeXN0ZW0gc3BlY2lmaWMpOgorICAgICAgIDEtIHVzaW5nIGEgY2xvbmlu ZyBkZXZpY2UgKFVTRV9DTE9ORV9ERVZJQ0UpCistICAgICAgMi0gZ2V0cHQgICAgICAgICAgICAg ICAgICAoVVNFX0dFVFBUKQorKyAgICAgIDItIHBvc2l4X29wZW5wdCAgICAgICAgICAgKFVTRV9Q T1NJWF9PUEVOUFQpCisgICAgICAgMy0gb3BlbnB0eSAgICAgICAgICAgICAgICAoVVNFX09QRU5Q VFkpCisgCisgICAgV2hlbiB1c2luZyB0aGUgY2xvbmluZyBkZXZpY2UgbWV0aG9kLCB0aGUgbWFj cm8gVVNFX0NMT05FX0RFVklDRSBzaG91bGQKK0BAIC0xMTUwLDcgKzExNTAsNyBAQAorICNpZiBk ZWZpbmVkIChfX0FQUExFX18pIHx8IGRlZmluZWQgKEJTRCkKKyAjZGVmaW5lIFVTRV9PUEVOUFRZ CisgI2VsaWYgZGVmaW5lZCAoX19saW51eF9fKQorLSNkZWZpbmUgVVNFX0dFVFBUCisrI2RlZmlu ZSBVU0VfUE9TSVhfT1BFTlBUCisgI2VsaWYgZGVmaW5lZCAoX19zdW5fXykKKyAjZGVmaW5lIFVT RV9DTE9ORV9ERVZJQ0UgIi9kZXYvcHRteCIKKyAjZWxpZiBkZWZpbmVkIChfQUlYKQorQEAgLTEx OTksOCArMTE5OSw4IEBACisgICAgaW50ICBtYXN0ZXJfZmQgICA9IC0xOworICAgIGNoYXIgKnNs YXZlX25hbWUgPSBOVUxMOworIAorLSNpZmRlZiBVU0VfR0VUUFQKKy0gIG1hc3Rlcl9mZCA9IGdl dHB0ICgpOworKyNpZiBkZWZpbmVkKFVTRV9QT1NJWF9PUEVOUFQpCisrICBtYXN0ZXJfZmQgPSBw b3NpeF9vcGVucHQoT19SRFdSIHwgT19OT0NUVFkpOworICNlbGlmIGRlZmluZWQgKFVTRV9PUEVO UFRZKQorICAgc3RhdHVzID0gb3BlbnB0eSAoJm1hc3Rlcl9mZCwgJnNsYXZlX2ZkLCBOVUxMLCBO VUxMLCBOVUxMKTsKKyAjZWxpZiBkZWZpbmVkIChVU0VfQ0xPTkVfREVWSUNFKQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9saWJnY2NqaXQvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYmdjY2ppdC90ZW1wbGF0 ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMGU4NTUxZDA2MmMKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmdjY2ppdC90ZW1wbGF0ZQpAQCAtMCwwICsxLDI0 MSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGliZ2Njaml0JworX21ham9ydmVyPTEwCitfbWlu b3J2ZXI9JHtfbWFqb3J2ZXJ9LjIKK19wYXRjaHZlcj0ke19taW5vcnZlcn0uMQorCitwa2duYW1l PWxpYmdjY2ppdAorIyB3ZSBhcmUgdXNpbmcgYSAxMC1zdGFibGUgZ2l0IHNuYXBzaG90IGFscGlu ZSBpcyB1c2luZyBpbiBvcmRlcgorIyB0byBnZXQgcmVncmVzc2lvbiBmaXhlcyBub3QgeWV0IGlu Y29ycG9yYXRlIGludG8gYSBzdGFibGUgcmVsZWFzZQorIyBpdCBzaG91bGQgYmUgcG9zc2libGUg dG8gc3dpdGNoIGJhY2sgdG8gc3RhYmxlIHdpdGggMTAuMyBvciAxMQordmVyc2lvbj0ke19wYXRj aHZlcn1wcmUxCit3cmtzcmM9Z2NjLSR7dmVyc2lvbi9wcmUvX3ByZX0KK3JldmlzaW9uPTIKK3No b3J0X2Rlc2M9IkdOVSBDb21waWxlciBDb2xsZWN0aW9uIgorbWFpbnRhaW5lcj0iRW5ubyBCb2xh bmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKK2hvbWVwYWdlPSJodHRwOi8vZ2NjLmdudS5vcmci CitsaWNlbnNlPSJHRkRMLTEuMi1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEt b3ItbGF0ZXIiCisjICotbXVzbCBidWlsZGVycyBoYXZlIGlzc3VlcyBmZXRjaGluZyBodHRwczov L2Z0cC5nbnUub3JnL2dudS9tcGMvbXBjLTEuMS4wLnRhci5negorZGlzdGZpbGVzPSJodHRwczov L2Rldi5hbHBpbmVsaW51eC5vcmcvfm5lbm9sb2QvZ2NjLSR7dmVyc2lvbi9wcmUvX3ByZX0udGFy Lnh6IgorY2hlY2tzdW09Ijc3MmNmZDVkMzBlYjljYzVhOTk2ZmVjOWJhOGNkY2I0NWQzN2RmMWM5 YjU3NzA2MTAxMDNiODE0YjczMmM1OTAiCitub3BpZT15ZXMKK2xpYjMyZGlzYWJsZWQ9eWVzCisK KyMgTUlQUyBpcyB1bnRlc3RlZCBhbmQgZG9lcyBub3QgaGF2ZSBnbyBpbiBjcm9zc3Rvb2xjaGFp bnMKKyMgMzItYml0IFBvd2VyUEMgc2VlbXMgd2VpcmRseSBicm9rZW4gc2luY2UgdGhlIDEwLngg cmVsZWFzZQorIyAzMi1iaXQgbGl0dGxlIGVuZGlhbiBQb3dlclBDIGhhcyBubyBzdXBwb3J0IGF0 IGFsbCAobm8gR09BUkNIKQorY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJcHBjNjQq KSA7OworCW1pcHMqLW11c2x8cHBjKikgX2hhdmVfZ2NjZ289bm8gOzsKK2VzYWMKKworaWYgWyAi JENIUk9PVF9SRUFEWSIgXTsgdGhlbgorCWhvc3RtYWtlZGVwZW5kcz0idGFyIHRleGluZm8gcGVy bCBmbGV4IgorZmkKKworbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2 ZWwgbGlibXBjLWRldmVsIAorICBsaWJzdGRjKystZGV2ZWwtJHt2ZXJzaW9ufV8ke3JldmlzaW9u fSBsaWJzc3AtZGV2ZWwtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK2RlcGVuZHM9ImdjYz49JHtf bWlub3J2ZXJ9IgorY2hlY2tkZXBlbmRzPSJkZWphZ251IgorCitjYXNlICIkWEJQU19UQVJHRVRf TUFDSElORSIgaW4KKwlpNjg2KSBfdHJpcGxldD0iaTY4Ni1wYy1saW51eC1nbnUiOzsKKwlpNjg2 LW11c2wpIF90cmlwbGV0PSJpNjg2LWxpbnV4LW11c2wiOzsKKwl4ODZfNjQpIF90cmlwbGV0PSJ4 ODZfNjQtdW5rbm93bi1saW51eC1nbnUiOzsKKwl4ODZfNjQtbXVzbCkgX3RyaXBsZXQ9Ing4Nl82 NC1saW51eC1tdXNsIjs7CisJYXJtdjV0ZWwpIF90cmlwbGV0PSJhcm0tbGludXgtZ251ZWFiaSI7 OworCWFybXY1dGVsLW11c2wpIF90cmlwbGV0PSJhcm0tbGludXgtbXVzbGVhYmkiOzsKKwlhcm12 NmwpIF90cmlwbGV0PSJhcm0tbGludXgtZ251ZWFiaWhmIjs7CisJYXJtdjdsKSBfdHJpcGxldD0i YXJtdjdsLWxpbnV4LWdudWVhYmloZiI7OworCWFybXY2bC1tdXNsKSBfdHJpcGxldD0iYXJtLWxp bnV4LW11c2xlYWJpaGYiOzsKKwlhcm12N2wtbXVzbCkgX3RyaXBsZXQ9ImFybXY3bC1saW51eC1t dXNsZWFiaWhmIjs7CisJYWFyY2g2NCkgX3RyaXBsZXQ9ImFhcmNoNjQtbGludXgtZ251Ijs7CisJ YWFyY2g2NC1tdXNsKSBfdHJpcGxldD0iYWFyY2g2NC1saW51eC1tdXNsIjs7CisJcHBjKSBfdHJp cGxldD0icG93ZXJwYy1saW51eC1nbnUiOzsKKwlwcGMtbXVzbCkgX3RyaXBsZXQ9InBvd2VycGMt bGludXgtbXVzbCI7OworCXBwY2xlKSBfdHJpcGxldD0icG93ZXJwY2xlLWxpbnV4LWdudSI7Owor CXBwY2xlLW11c2wpIF90cmlwbGV0PSJwb3dlcnBjbGUtbGludXgtbXVzbCI7OworCXBwYzY0bGUp IF90cmlwbGV0PSJwb3dlcnBjNjRsZS1saW51eC1nbnUiOzsKKwlwcGM2NGxlLW11c2wpIF90cmlw bGV0PSJwb3dlcnBjNjRsZS1saW51eC1tdXNsIjs7CisJcHBjNjQpIF90cmlwbGV0PSJwb3dlcnBj NjQtbGludXgtZ251Ijs7CisJcHBjNjQtbXVzbCkgX3RyaXBsZXQ9InBvd2VycGM2NC1saW51eC1t dXNsIjs7CisJbWlwcy1tdXNsKSBfdHJpcGxldD0ibWlwcy1saW51eC1tdXNsIjs7CisJbWlwc2hm LW11c2wpIF90cmlwbGV0PSJtaXBzLWxpbnV4LW11c2xoZiI7OworCW1pcHNlbC1tdXNsKSBfdHJp cGxldD0ibWlwc2VsLWxpbnV4LW11c2wiOzsKKwltaXBzZWxoZi1tdXNsKSBfdHJpcGxldD0ibWlw c2VsLWxpbnV4LW11c2xoZiI7OworZXNhYworY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGlu CisJKi1tdXNsKQkgZGVwZW5kcys9IiBtdXNsLWRldmVsIjs7CisJKikgCSBkZXBlbmRzKz0iIGds aWJjLWRldmVsIgorCQkgOzsKK2VzYWMKKworcHJlX2NvbmZpZ3VyZSgpIHsKKwkjIF9GT1JUSUZZ X1NPVVJDRSBuZWVkcyBhbiBvcHRpbWl6YXRpb24gbGV2ZWwuCisJc2VkIC1pICIvYWNfY3BwPS9z L1wkQ1BQRkxBR1MvXCRDUFBGTEFHUyAtTzIvIiB7Z2NjLGxpYmliZXJ0eX0vY29uZmlndXJlCisK KwkjIERvIG5vdCBydW4gZml4aW5jbHVkZXMKKwlzZWQgLWkgJ3NAXC4vZml4aW5jXC5zaEAtYyB0 cnVlQCcgZ2NjL01ha2VmaWxlLmluCisKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4K KwkJKi1tdXNsKQorCQkJcGF0Y2ggLXAwIC1pICR7RklMRVNESVJ9L2xpYmduYXJsLW11c2wucGF0 Y2gKKwkJCXBhdGNoIC1wMCAtaSAke0ZJTEVTRElSfS9saWJzc3AtbXVzbC5wYXRjaAorCQkJcGF0 Y2ggLXAwIC1pICR7RklMRVNESVJ9L2djY2dvLW11c2wucGF0Y2gKKwkJCTs7CisJZXNhYworfQor ZG9fY29uZmlndXJlKCkgeworCWxvY2FsIF9sYW5ncyBfYXJncyBfaGFzaAorCisJX2hhc2g9Z251 CisJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJCW1pcHNlbGhmLW11c2wpIF9hcmdz Kz0iIC0td2l0aC1hcmNoPW1pcHMzMnIyIC0td2l0aC1mbG9hdD1oYXJkIjsgX2hhc2g9c3lzdjs7 CisJCW1pcHNlbC1tdXNsKSBfYXJncys9IiAtLXdpdGgtYXJjaD1taXBzMzJyMiAtLXdpdGgtZmxv YXQ9c29mdCI7IF9oYXNoPXN5c3Y7OworCQltaXBzaGYtbXVzbCkgX2FyZ3MrPSIgLS13aXRoLWFy Y2g9bWlwczMycjIgLS13aXRoLWZsb2F0PWhhcmQiOzsKKwkJbWlwcy1tdXNsKSBfYXJncys9IiAt LXdpdGgtYXJjaD1taXBzMzJyMiAtLXdpdGgtZmxvYXQ9c29mdCI7OworCQlhcm12NSopIF9hcmdz Kz0iIC0td2l0aC1hcmNoPWFybXY1dGUgLS13aXRoLWZsb2F0PXNvZnQiOzsKKwkJYXJtdjZsKikg X2FyZ3MrPSIgLS13aXRoLWFyY2g9YXJtdjYgLS13aXRoLWZwdT12ZnAgLS13aXRoLWZsb2F0PWhh cmQiOzsKKwkJYXJtdjdsKikgX2FyZ3MrPSIgLS13aXRoLWFyY2g9YXJtdjctYSAtLXdpdGgtZnB1 PXZmcHYzIC0td2l0aC1mbG9hdD1oYXJkIjs7CisJCWFhcmNoNjQqKSBfYXJncys9IiAtLXdpdGgt YXJjaD1hcm12OC1hIjs7CisJCXBwYzY0bGUqKSBfYXJncys9IiAtLXdpdGgtYWJpPWVsZnYyIC0t ZW5hYmxlLXNlY3VyZXBsdCAtLWVuYWJsZS10YXJnZXRzPXBvd2VycGNsZS1saW51eCI7OworCQlw cGM2NCopIF9hcmdzKz0iIC0td2l0aC1hYmk9ZWxmdjIgLS1lbmFibGUtc2VjdXJlcGx0IC0tZW5h YmxlLXRhcmdldHM9cG93ZXJwYy1saW51eCI7OworCQlwcGMqKSBfYXJncys9IiAtLWVuYWJsZS1z ZWN1cmVwbHQiOzsKKwllc2FjCisKKwkjIGZpeDogdW5rbm93biBsb25nIGRvdWJsZSBzaXplLCBj YW5ub3QgZGVmaW5lIEJGUF9GTVQKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwkJ cHBjKi1tdXNsKSBfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCI7OworCWVzYWMKKwor CisJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCWV4cG9ydCBDQ19GT1JfVEFSR0VUPSIk Q0MiCisJCWV4cG9ydCBHQ0NfRk9SX1RBUkdFVD0iJENDIgorCQlleHBvcnQgQ1hYX0ZPUl9UQVJH RVQ9IiRDWFgiCisKKwkJX2FyZ3MrPSIgLS1ob3N0PSRYQlBTX0NST1NTX1RSSVBMRVQiCisJCV9h cmdzKz0iIC0td2l0aC1idWlsZC1zeXNyb290PSR7WEJQU19DUk9TU19CQVNFfSIKKwllbGlmIFsg LXogIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KKwkJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHtY QlBTX01BU1RFUkRJUn0vdXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9IgorCQlfYXJncys9 IiAtLWJ1aWxkPSR7X3RyaXBsZXR9IgorCWVsc2UKKwkJX2xhbmdzPSJqaXQsbHRvIgorCQlfYXJn cys9IiAtLWJ1aWxkPSR7X3RyaXBsZXR9IgorCWZpCisKKwlpZiBbICIkWEJQU19UQVJHRVRfTElC QyIgPSAibXVzbCIgXTsgdGhlbgorCQlfYXJncys9IiAtLWRpc2FibGUtZ251LXVuaXF1ZS1vYmpl Y3QiCisJCV9hcmdzKz0iIC0tZGlzYWJsZS1zeW12ZXJzIgorCQlfYXJncys9IiBsaWJhdF9jdl9o YXZlX2lmdW5jPW5vIgorCWVsc2UKKwkJX2FyZ3MrPSIgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmpl Y3QiCisJZmkKKworCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQlwcGMqKSBfYXJn cys9IiAtLWRpc2FibGUtdnRhYmxlLXZlcmlmeSI7OworCQkqKSBfYXJncys9IiAtLWVuYWJsZS12 dGFibGUtdmVyaWZ5Ijs7CisJZXNhYworCisJZXhwb3J0IENGTEFHUz0iJHtDRkxBR1MvLURfRk9S VElGWV9TT1VSQ0U9Mi99IgorCWV4cG9ydCBDWFhGTEFHUz0iJHtDWFhGTEFHUy8tRF9GT1JUSUZZ X1NPVVJDRT0yL30iCisKKwkjIERpc2FibGUgZXhwbGljaXQgLWZuby1QSUUsIGdjYyB3aWxsIGZp Z3VyZSB0aGlzIG91dCBpdHNlbGYuCisJZXhwb3J0IENGTEFHUz0iJHtDRkxBR1MvLy1mbm8tUElF L30iCisJZXhwb3J0IENYWEZMQUdTPSIke0NYWEZMQUdTLy8tZm5vLVBJRS99IgorCWV4cG9ydCBM REZMQUdTPSIke0xERkxBR1MvLy1uby1waWUvfSIKKworCV9hcmdzKz0iIC0tcHJlZml4PS91c3Ii CisJX2FyZ3MrPSIgLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4iCisJX2FyZ3MrPSIgLS1pbmZvZGly PS91c3Ivc2hhcmUvaW5mbyIKKyAgICBfYXJncys9IiAtLXdpdGgtYnVndXJsPSdodHRwczovL2dp dGh1Yi5jb20vamFzaGFuZGVlcC1zb2hpL2xpYmdjY2ppdC1wa2cvaXNzdWVzJyIgXAorCV9hcmdz Kz0iIC0tbGliZXhlY2Rpcj0vdXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9IgorCV9hcmdz Kz0iIC0tbGliZGlyPS91c3IvbGliJHtYQlBTX1RBUkdFVF9XT1JEU0laRX0iCisJX2FyZ3MrPSIg LS13aXRoLXN5c3RlbS16bGliIgorCV9hcmdzKz0iIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT0k X2hhc2giCisJX2FyZ3MrPSIgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIgorCV9hcmdzKz0iIC0t ZW5hYmxlLXRocmVhZHM9cG9zaXgiCisJX2FyZ3MrPSIgLS1lbmFibGUtbHRvIgorCV9hcmdzKz0i IC0tZW5hYmxlLXNoYXJlZCIKKyAgICBfYXJncys9IiAtLWVuYWJsZS1ob3N0LXNoYXJlZCIKKwlf YXJncys9IiAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIgorCV9hcmdzKz0iIC0tZW5hYmxlLXBs dWdpbnMiCisJX2FyZ3MrPSIgLS1lbmFibGUtZGVmYXVsdC1zc3AiCisJX2FyZ3MrPSIgLS1lbmFi bGUtZGVmYXVsdC1waWUiCisJX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgorCV9hcmdzKz0i IC0tZGlzYWJsZS1ib290c3RyYXAiCisJX2FyZ3MrPSIgLS1lbmFibGUtX19jeGFfYXRleGl0Igor ICAgIF9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKKyAgICBfYXJncys9IiAtLWRpc2Fi bGUtbGlicXVhZG1hdGgtc3VwcG9ydCIKKyAgICBfYXJncys9IiAtLWRpc2FibGUtbGliZ29tcCIg CisgICAgX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm9mZmxvYWRtaWMiIAorICAgIF9hcmdzKz0iIC0t ZGlzYWJsZS1saWJhZGEiCisgICAgX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnZ0diIKKyAgICBfYXJn cys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgorCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3Ii CisJX2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKKwlfYXJncys9IiAtLWRpc2FibGUtbGlic3RkY3h4 LXBjaCIKKwlfYXJncys9IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgorCV9hcmdzKz0iIC0t ZGlzYWJsZS10YXJnZXQtbGliaWJlcnR5IgorCisJbWtkaXIgLXAgYnVpbGQKKwljZCBidWlsZAor CisgICAgIyBJZiB3ZSBhcmUgY2hlY2tpbmcgcGFja2FnZXMsIHdlIG5lZWQgdG8gaGF2ZSBjKysg Y29tcGlsZWQKKyAgICBbIC16ICIkWEJQU19DSEVDS19QS0dTIiBdICYmIF9sYW5ncz0iaml0IiB8 fCBfbGFuZ3M9ImppdCxjKysiCisgICAgX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPSR7X2xh bmdzfSIKKyAgICBDT05GSUdfU0hFTEw9L2Jpbi9iYXNoIFwKKwkgICAgJHt3cmtzcmN9L2NvbmZp Z3VyZSAke19hcmdzfQorCit9CisKK2RvX2J1aWxkKCkgeworCWlmIFsgLXogIiRDSFJPT1RfUkVB RFkiIF07IHRoZW4KKwkJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHtYQlBTX01BU1RFUkRJUn0v dXNyL2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9IgorCWZpCisgICAgY2QgYnVpbGQKKyAgICBt YWtlICR7bWFrZWpvYnN9Cit9CisKK3Bvc3RfYnVpbGQoKSB7CisgICAgIyBMZXRzIGNyZWF0ZSBh IHN0YWdpbmcgZm9sZGVyIHRvIGluc3RhbGwgaW50bworICAgIG1rZGlyIC1wICIke3dya3NyY30v aW5zdGFsbCIKKyAgICBjZCAiJHt3cmtzcmN9L2J1aWxkIgorICAgIG1ha2UgREVTVERJUj0iJHt3 cmtzcmN9L2luc3RhbGwiIC1DIGdjYyBpbnN0YWxsCisKK30KKworZG9fY2hlY2soKSB7CisgICAg Y2QgIiR7d3Jrc3JjfS9idWlsZC9nY2MiCisgICAgbWFrZSBjaGVjay1qaXQgUlVOVEVTVEZMQUdT PSItdiAtdiAtdiIKK30KKworcHJlX2luc3RhbGwoKSB7CisJaWYgWyAiJENST1NTX0JVSUxEIiBd OyB0aGVuCisJCSMgWFhYIG90aGVyd2lzZSBsaW5rcyB0byBob3N0IGxpYnB0aHJlYWQKKwkJZm9y IGYgaW4gJChmaW5kICR7d3Jrc3JjfS9idWlsZC8ke1hCUFNfQ1JPU1NfVFJJUExFVH0gLXR5cGUg ZiAtbmFtZSBsaWJ0b29sKTsgZG8KKwkJCXNlZCAtZSAicyxhZGRfZGlyPVwiLUxcJGxpYmRpclwi LGFkZF9kaXI9XCItTCR7WEJQU19DUk9TU19CQVNFfVwkbGliZGlyXCIsZyIgLWkgJGYKKwkJZG9u ZQorCWZpCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgX2luY2x1ZGVob3N0ZGlyPSJ1c3IvbGli L2djYy8ke190cmlwbGV0fS8ke19taW5vcnZlcn0vaW5jbHVkZSIKKyAgICAKKyAgICAjIEdldCB0 aGUgc2hsaWJzIG92ZXIKKyAgICBjZCAiJHt3cmtzcmN9L2luc3RhbGwiCisKKyAgICB2aW5zdGFs bCAiJHt3cmtzcmN9L2luc3RhbGwvdXNyL2xpYjY0L2xpYmdjY2ppdC5zby4wLjAuMSIgMDc1NSB1 c3IvbGliCisgICAgbG4gLXNmIGxpYmdjY2ppdC5zby4wLjAuMSAiJHtERVNURElSfSIvdXNyL2xp Yi9saWJnY2NqaXQuc28uMAorICAgIGxuIC1zZiBsaWJnY2NqaXQuc28uMC4wLjEgIiR7REVTVERJ Un0iL3Vzci9saWIvbGliZ2Njaml0LnNvCisKKyAgICAjIEdldCB0aGUgaGVhZGVyIGZpbGVzIGlu IHBsYWNlCisgICAgdmluc3RhbGwgdXNyL2luY2x1ZGUvbGliZ2Njaml0LmggMDY0NCAiJHtfaW5j bHVkZWhvc3RkaXJ9IgorICAgIHZpbnN0YWxsIHVzci9pbmNsdWRlL2xpYmdjY2ppdCsrLmggMDY0 NCAiJHtfaW5jbHVkZWhvc3RkaXJ9IgorCisgICAgIyBUaGUgbW9zdCBpbXBvcnRhbnQgcGFydCwg dGhlIGluZm8gZmlsZQorICAgIHZpbnN0YWxsIHVzci9zaGFyZS9pbmZvL2xpYmdjY2ppdC5pbmZv IDA3NTUgInVzci9zaGFyZS9pbmZvIgorfQorCitwb3N0X2luc3RhbGwoKSB7CisgICAgdmxpY2Vu c2UgJHt3cmtzcmN9L0NPUFlJTkcuUlVOVElNRSBSVU5USU1FLkxJQlJBUlkuRVhDRVBUSU9OCit9 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmdjY2ppdC91cGRhdGUgYi9zcmNwa2dzL2xpYmdjY2pp dC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmZiOGRkNThm MjA0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJnY2NqaXQvdXBkYXRlCkBAIC0wLDAg KzEsMiBAQAorc2l0ZT0iaHR0cHM6Ly9nY2MuZ251Lm9yZy9yZWxlYXNlcy5odG1sIgorcGF0dGVy bj0iR0NDIFxLW1xkLl0rKD89XDwpIgo= --===============5096473630424573141==--