X-Original-To: alpine-aports@lists.alpinelinux.org Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by lists.alpinelinux.org (Postfix) with ESMTP id EB97BF85494 for ; Sun, 16 Jun 2019 10:58:18 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 03BE121FC1; Sun, 16 Jun 2019 06:58:18 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sun, 16 Jun 2019 06:58:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sent.com; h=from :to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=fm3; bh=ftsW3/TiqYHOVCG5OGWhHds0/u FGeWCfc/rCU1o+OG0=; b=HVpYVWwbz1RqAFMjquOLtZgEPtmqhLsuAO/9v9zTxs ZyedVdkBMMatxaX3OdjDI2nfxVKNjCS9/tmODvBvs/KV6Hglt9NAROeHNHVfLoGf IR/4aegBLY3V696IFgZszYvlPj8uAKB9kCPtWTH3FWx9dgWxwPKeUU3MGeLSNntb bK/+Jn2oeclsQjkdGREopVdLVd7IwXNmHuYYyRio9SWY2wL38yQp05kckUXPmI8Z A8umB7XhccvRJURg2EZz/T3JdAVhdxvFPOcG8WW2XEDIY/anacHazhI8RAYIU3u9 L4Gn6dTFMuwv8mo0O21qw+kxa+VMhzEqU4QBeeCB9gnQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=ftsW3/ TiqYHOVCG5OGWhHds0/uFGeWCfc/rCU1o+OG0=; b=MKWCrYDWKlGPaXe6CvwzEy eI6Y5N8YhAPjkenlTUDMzHw/KELogggrnsOact6I5POt+hnKdnbhVl5NkXH0wtEV O3px6QoaraiIcRd6APAAB6l+zY80gadHDukgnjddQvLHN66aQGNgotkqtpq1f2W6 NThW/i3FzYMLxJJ0QtPw7lypBiP7VpZFgG8kur8TYSHL/g+MqtuaEdOuCi4DMP2R 8i5wqxTsWiuBHl6izgqEk3bAQew3oBse9aXYYRqLEZ/w8mOJOz9HG1XkcLpOScVs A6V/L7w1U8cjWmCHnW+MPh255jGaKRWaeK9tCrxMdRivMP/3XTlbzQhLkYJe8gzw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrudeihedgfeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofggtgfgsehtkeertd ertdejnecuhfhrohhmpefrrghulhcuuehrvggusghurhihuceosghrvggsshesshgvnhht rdgtohhmqeenucffohhmrghinhepfhhrvggvuggvshhkthhophdrohhrghdpuggvsghirg hnrdhorhhgnecukfhppeejledrjeefrddufeeirddvtddtnecurfgrrhgrmhepmhgrihhl fhhrohhmpegsrhgvsghssehsvghnthdrtghomhenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from brebsc.lan (79-73-136-200.dynamic.dsl.as9105.com [79.73.136.200]) by mail.messagingengine.com (Postfix) with ESMTPA id 144038005B for ; Sun, 16 Jun 2019 06:58:17 -0400 (EDT) Received: from localhost ([127.0.0.1] helo=brebsc.lan) by brebsc.lan with esmtp (Exim 4.92) (envelope-from ) id 1hcSrX-00062i-NQ; Sun, 16 Jun 2019 11:58:15 +0100 From: Paul Bredbury To: alpine-aports@lists.alpinelinux.org Cc: Paul Bredbury Subject: [alpine-aports] [PATCH] main/poppler: add Debian Buster patches, mostly security Date: Sun, 16 Jun 2019 11:58:01 +0100 Message-Id: <20190616105802.23114-1-brebs@sent.com> X-Mailer: git-send-email 2.22.0 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VHdlYWsgYnVpbGRkaXIsIHNvIGRlZmF1bHRfcHJlcGFyZSBmaW5kcyB0aGUgZmlsZXMgdG8gcGF0 Y2guDQotLS0NCiBtYWluL3BvcHBsZXIvQVBLQlVJTEQgICAgICAgICAgICAgICAgICAgICAgICAg fCAgNDkgKysrKystLQ0KIG1haW4vcG9wcGxlci9DVkUtMjAxOC0xNjY0Ni0xLnBhdGNoICAgICAg ICAgICB8ICA2MSArKysrKysrKw0KIG1haW4vcG9wcGxlci9DVkUtMjAxOC0xNjY0Ni0yLnBhdGNo ICAgICAgICAgICB8ICAyNSArKysrDQogbWFpbi9wb3BwbGVyL0NWRS0yMDE4LTE2NjQ2LTMucGF0 Y2ggICAgICAgICAgIHwgIDI4ICsrKysNCiBtYWluL3BvcHBsZXIvQ1ZFLTIwMTgtMjA0ODEucGF0 Y2ggICAgICAgICAgICAgfCAgNjMgKysrKysrKysNCiBtYWluL3BvcHBsZXIvQ1ZFLTIwMTgtMjA1 NTEucGF0Y2ggICAgICAgICAgICAgfCAgNTEgKysrKysrKw0KIG1haW4vcG9wcGxlci9DVkUtMjAx OC0yMDY2Mi5wYXRjaCAgICAgICAgICAgICB8ICA0NiArKysrKysNCiBtYWluL3BvcHBsZXIvQ1ZF LTIwMTktMTA4NzIucGF0Y2ggICAgICAgICAgICAgfCAxMzYgKysrKysrKysrKysrKysrKysrDQog bWFpbi9wb3BwbGVyL0NWRS0yMDE5LTEwODczLnBhdGNoICAgICAgICAgICAgIHwgIDMxICsrKysN CiBtYWluL3BvcHBsZXIvQ1ZFLTIwMTktMTIyOTMucGF0Y2ggICAgICAgICAgICAgfCAgNDEgKysr KysrDQogbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTczMTAucGF0Y2ggICAgICAgICAgICAgIHwgIDI5 ICsrKysNCiBtYWluL3BvcHBsZXIvQ1ZFLTIwMTktOTIwMC5wYXRjaCAgICAgICAgICAgICAgfCAg MjQgKysrKw0KIG1haW4vcG9wcGxlci9DVkUtMjAxOS05NjMxLnBhdGNoICAgICAgICAgICAgICB8 IDEwMCArKysrKysrKysrKysrDQogLi4uL2J1ZzkyNDAyOS1nb29zdHJpbmctbnVsbC1wb2ludGVy cy5wYXRjaCAgIHwgIDk3ICsrKysrKysrKysrKysNCiAuLi5hdGUtUG9wcGxlcklucHV0U3RyZWFt LXdpdGgtbGVuZ3RoLTAucGF0Y2ggfCAgMzYgKysrKysNCiBtYWluL3BvcHBsZXIvcGFnZS11c3Ry aW5nLnBhdGNoICAgICAgICAgICAgICAgfCAgMjkgKysrKw0KIDE2IGZpbGVzIGNoYW5nZWQsIDgz NyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWlu L3BvcHBsZXIvQ1ZFLTIwMTgtMTY2NDYtMS5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWlu L3BvcHBsZXIvQ1ZFLTIwMTgtMTY2NDYtMi5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWlu L3BvcHBsZXIvQ1ZFLTIwMTgtMTY2NDYtMy5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWlu L3BvcHBsZXIvQ1ZFLTIwMTgtMjA0ODEucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9w b3BwbGVyL0NWRS0yMDE4LTIwNTUxLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4vcG9w cGxlci9DVkUtMjAxOC0yMDY2Mi5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3BvcHBs ZXIvQ1ZFLTIwMTktMTA4NzIucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9wb3BwbGVy L0NWRS0yMDE5LTEwODczLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4vcG9wcGxlci9D VkUtMjAxOS0xMjI5My5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3BvcHBsZXIvQ1ZF LTIwMTktNzMxMC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3BvcHBsZXIvQ1ZFLTIw MTktOTIwMC5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3BvcHBsZXIvQ1ZFLTIwMTkt OTYzMS5wYXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3BvcHBsZXIvYnVnOTI0MDI5LWdv b3N0cmluZy1udWxsLXBvaW50ZXJzLnBhdGNoDQogY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4vcG9w cGxlci9nbGliLURvbi10LWNyZWF0ZS1Qb3BwbGVySW5wdXRTdHJlYW0td2l0aC1sZW5ndGgtMC5w YXRjaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluL3BvcHBsZXIvcGFnZS11c3RyaW5nLnBhdGNo DQoNCmRpZmYgLS1naXQgYS9tYWluL3BvcHBsZXIvQVBLQlVJTEQgYi9tYWluL3BvcHBsZXIvQVBL QlVJTEQNCmluZGV4IDk1ZjY5Zjk3YmQuLjMxOWQ2NDcwNGIgMTAwNjQ0DQotLS0gYS9tYWluL3Bv cHBsZXIvQVBLQlVJTEQNCisrKyBiL21haW4vcG9wcGxlci9BUEtCVUlMRA0KQEAgLTEsNyArMSw3 IEBADQogIyBNYWludGFpbmVyOiBOYXRhbmFlbCBDb3BhIDxuY29wYUBhbHBpbmVsaW51eC5vcmc+ DQogcGtnbmFtZT1wb3BwbGVyDQogcGtndmVyPTAuNzEuMA0KLXBrZ3JlbD0wDQorcGtncmVsPTEN CiBwa2dkZXNjPSJQREYgcmVuZGVyaW5nIGxpYnJhcnkgYmFzZWQgb24geHBkZiAzLjAiDQogdXJs PSJodHRwczovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyINCiBhcmNoPSJhbGwiDQpAQCAtMTQs MTMgKzE0LDI4IEBAIG1ha2VkZXBlbmRzPSIkZGVwZW5kc19kZXYgY21ha2UgbGlianBlZy10dXJi by1kZXYgY2Fpcm8tZGV2IGxpYnhtbDItZGV2DQogCW9wZW5qcGVnLWRldiBvcGVuanBlZy10b29s cyBsaWJwbmctZGV2IHRpZmYtZGV2IHpsaWItZGV2Ig0KIHN1YnBhY2thZ2VzPSIkcGtnbmFtZS1k ZXYgJHBrZ25hbWUtZG9jICRwa2duYW1lLXV0aWxzICRwa2duYW1lLWdsaWINCiAJIg0KLXNvdXJj ZT0iaHR0cHM6Ly9wb3BwbGVyLmZyZWVkZXNrdG9wLm9yZy9wb3BwbGVyLSRwa2d2ZXIudGFyLnh6 Ig0KLWJ1aWxkZGlyPSIkc3JjZGlyLyRwa2duYW1lLSRwa2d2ZXIvYnVpbGQiDQorc291cmNlPSJo dHRwczovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnL3BvcHBsZXItJHBrZ3Zlci50YXIueHoNCisJ Z2xpYi1Eb24tdC1jcmVhdGUtUG9wcGxlcklucHV0U3RyZWFtLXdpdGgtbGVuZ3RoLTAucGF0Y2gN CisJcGFnZS11c3RyaW5nLnBhdGNoDQorCUNWRS0yMDE4LTE2NjQ2LTEucGF0Y2gNCisJQ1ZFLTIw MTgtMTY2NDYtMi5wYXRjaA0KKwlDVkUtMjAxOC0xNjY0Ni0zLnBhdGNoDQorCUNWRS0yMDE4LTIw NDgxLnBhdGNoDQorCUNWRS0yMDE4LTIwNTUxLnBhdGNoDQorCUNWRS0yMDE4LTIwNjYyLnBhdGNo DQorCUNWRS0yMDE5LTczMTAucGF0Y2gNCisJQ1ZFLTIwMTktOTIwMC5wYXRjaA0KKwlDVkUtMjAx OS05NjMxLnBhdGNoDQorCUNWRS0yMDE5LTEwODczLnBhdGNoDQorCWJ1ZzkyNDAyOS1nb29zdHJp bmctbnVsbC1wb2ludGVycy5wYXRjaA0KKwlDVkUtMjAxOS0xMDg3Mi5wYXRjaA0KKwlDVkUtMjAx OS0xMjI5My5wYXRjaCINCitidWlsZGRpcj0iJHNyY2Rpci8kcGtnbmFtZS0kcGtndmVyIg0KIA0K IHByZXBhcmUoKSB7DQogCWxvY2FsIF9saW5rZWRfcGtnPXBvcHBsZXItcXQ0DQogCWxvY2FsIF9s aW5rZWRfYXBrYnVpbGQ9IiRzdGFydGRpciIvLi4vJF9saW5rZWRfcGtnL0FQS0JVSUxEDQotCW1r ZGlyIC1wICIkYnVpbGRkaXIiDQorCW1rZGlyIC1wICIkYnVpbGRkaXIvYnVpbGQiDQogCWNkICIk YnVpbGRkaXIiDQogCWlmICBbIC1mICIkX2xpbmtlZF9hcGtidWlsZCIgXTsgdGhlbg0KIAkJbG9j YWwgX2xpbmtlZF92ZXI9JCggLiAiJF9saW5rZWRfYXBrYnVpbGQiOyBlY2hvICIkcGtndmVyIikN CkBAIC0yOSwxNCArNDQsMTUgQEAgcHJlcGFyZSgpIHsNCiAJCQlyZXR1cm4gMQ0KIAkJZmkNCiAJ ZmkNCisNCisJZGVmYXVsdF9wcmVwYXJlDQogfQ0KIA0KIGJ1aWxkKCkgew0KLQljZCAiJGJ1aWxk ZGlyIg0KLQ0KIAkjIEpQRUcyMDAwU3RyZWFtLmNjOjIwOjEwOiBmYXRhbCBlcnJvcjogb3Blbmpw ZWcuaDogTm8gc3VjaCBmaWxlDQotCXNlZCAtZSAiL14jaW5jbHVkZS9zL29wZW5qcGVnXC5oL29w ZW5qcGVnLTIuM1wvb3BlbmpwZWcuaC8iIC1pIC4uL3BvcHBsZXIvSlBFRzIwMDBTdHJlYW0uY2MN CisJc2VkIC1lICIvXiNpbmNsdWRlL3Mvb3BlbmpwZWdcLmgvb3BlbmpwZWctMi4zXC9vcGVuanBl Zy5oLyIgLWkgcG9wcGxlci9KUEVHMjAwMFN0cmVhbS5jYw0KIA0KKwljZCBidWlsZA0KIAljbWFr ZSAuLiBcDQogCQktRENNQUtFX0lOU1RBTExfUFJFRklYPS91c3IgXA0KIAkJLURDTUFLRV9JTlNU QUxMX0xJQkRJUj1saWIgXA0KQEAgLTQ3LDcgKzYzLDcgQEAgYnVpbGQoKSB7DQogfQ0KIA0KIHBh Y2thZ2UoKSB7DQotCWNkICIkYnVpbGRkaXIiDQorCWNkIGJ1aWxkDQogCW1ha2UgREVTVERJUj0i JHBrZ2RpciIgaW5zdGFsbA0KIH0NCiANCkBAIC03Myw0ICs4OSwxOSBAQCBfY3BwKCkgew0KIAkJ IiRzdWJwa2dkaXIiL3Vzci9saWIvDQogfQ0KIA0KLXNoYTUxMnN1bXM9IjhlMGNlOTVlN2I1OGMz Nzc2MWMzNmEyMGYxMjgyZTYzMzczYTk1NTdiZjlmNzQ2Y2UyOTM2NTYyZjEyNjQ4NTA2MDQzZDk1 NTljZjgxNjk0NGFhMjM4ODE0ZmMxYjNmM2EzYzBhNmNiMDAyZmQyMTRiMDY3ZTM5OWJjYzZhYjFl ICBwb3BwbGVyLTAuNzEuMC50YXIueHoiDQorc2hhNTEyc3Vtcz0iOGUwY2U5NWU3YjU4YzM3NzYx YzM2YTIwZjEyODJlNjMzNzNhOTU1N2JmOWY3NDZjZTI5MzY1NjJmMTI2NDg1MDYwNDNkOTU1OWNm ODE2OTQ0YWEyMzg4MTRmYzFiM2YzYTNjMGE2Y2IwMDJmZDIxNGIwNjdlMzk5YmNjNmFiMWUgIHBv cHBsZXItMC43MS4wLnRhci54eg0KK2UzZDQ3NDdjZmMxYjE3MWVjNjRkNzQ5MmM5MmVkNDI0OTRj NmJmOGFkNGY0MGIzZmUzZmNkNDM5MDM0ZWZkN2NhMTZkNmVkNzAzZDg1ZGZmZDM2MjU2NTBjNzBh YTUxY2JhZmY3YTI5MmY2YjM1N2UxOWVmMmRjNWVmNzQyMjk2ICBnbGliLURvbi10LWNyZWF0ZS1Q b3BwbGVySW5wdXRTdHJlYW0td2l0aC1sZW5ndGgtMC5wYXRjaA0KKzRmMWI5ZGJmOWYwNzVhMDlh Nzg2NDBhMDYwNTM3OTk1Yjc1M2Y5Mjg3YjA2Y2RiYjJhMzBhNzUwZTU3NjM4ZjY3N2UyN2ZhMWM2 ZGQyNDc3MmNkMjlkZDc0NmQ0ZjIxZjNjZTNiNTE1OTYxNzkzNTVmOTUxNGVhODI0ZTE3YTI3ICBw YWdlLXVzdHJpbmcucGF0Y2gNCitiNzQwMWFhNzMwMzQ2N2JiZjM1NTExNTZiN2FiMGQ1MDQxZWI1 MjgwMzRiYzEyNjhmNjdkYTA3NGE2MGU3ZTY4NWE2NzRhYjRhY2EzMjM1YzVmZTJjN2NiZTM4OGQ0 YzgyMmMyN2EyZjEwM2ZiYjlmZjg1YWY2OGQ1YzQyZjBiMCAgQ1ZFLTIwMTgtMTY2NDYtMS5wYXRj aA0KK2I5ZGJkYTE4YTg2MmQyMzRlYjE3ZDQ0ZjZhNzI4YTczYjMyNzEyYWFjMzJhMDE2MzdjYjQ0 NzJjZGJhZDJkYzZmMWYwNmJkMmZkNjFkYjFlNjhkZTM3ZWNmY2E0YzA3MTkxZGI1NzdhODQxZTdh ZmJlNmQwMjM2ZGVhNDczNTYyICBDVkUtMjAxOC0xNjY0Ni0yLnBhdGNoDQorOTFlYmQ2YWY0Y2Qw NjQ1YTQzNDZlMWYwMTYzMzNlM2ZjYjUwNzNkZjRjNzM5NDJiYjlmODdjMzkzZmJiZmNmZTc2ODE3 MDQ2NGVlYzZhMTE4ZDU2YmZmZmMzNjFmYjA2ZGMyOTg4YTA2NGFiMmE4NjRmNmZhNDMwMjk0NjM0 YjcgIENWRS0yMDE4LTE2NjQ2LTMucGF0Y2gNCitiODY2YWJmMTNjZTNlMGU4Nzc0NGRkOTliOTBk YTFiNTkyNjg3NWE1YjNhZTNiMzM1ZmZkN2Y5NzM2ZjAyNWEzZTYzMTMxMmZmYzYyNGY4MjUzMjhi M2ExZGQ1MDEyMTE3YTVhZjUzNDQzNmRhMGMwNzJiNjc5MDgzMTZjZGI4OCAgQ1ZFLTIwMTgtMjA0 ODEucGF0Y2gNCitmOWZkYjQ5ZmU2YWM0MjBkYjE2MzRmYmVlMDk3N2Q4NjcxNTRjZTJkZDM0ZjZi NGM1Zjc3NTkxYTg1OWIxZWNjMmYyZWE2YzkyNmE3YjhmYTc2ZjNiZjY5ZGVlOWFiZDQ4ZjdhNmQz NjUzZTFkNGQ0NDczMzhkNDAyNTU4N2ZhMCAgQ1ZFLTIwMTgtMjA1NTEucGF0Y2gNCis1ZmU0YzM2 MDRmOWQ5NDNhNTE2MjE4MmM0MDJmOGU5NjI2MmI5NGVlMzg3MDJkYmExZDg5M2UzMTE0MzRkNTZl Yjk5NjViNThmN2RjZTQ3MThhMzk5YWIxOTBmOWUzNGQzOGExYmI5NzAyODNkNTg0N2RiZmUzMGQ1 ZjA0YTQyNiAgQ1ZFLTIwMTgtMjA2NjIucGF0Y2gNCis1OTlhNjc0MmNmNzYyOTA2Y2M4ZjBlZWI4 YjUxNjc5ODIxNDA5NTIyMmZmNjMwYjI3NDcwYjVmYmIxYWJjYTk5Y2ZlOWY4MTk2ZjllNTVlZTlj ZjVkZjFhODcxODU5ZjZlMTNlY2U3MjQ3NTczMjQ4Yjg4ZDVlNjU5NDZhZWVmNCAgQ1ZFLTIwMTkt NzMxMC5wYXRjaA0KKzI0ODdhZGE2Y2ZkZDRhOWRjZWFmMGI3NDEwNDRiN2NjMmEyNjA1ZmVkNWVk OTlhOTAxOTJlMmMwYzBlZTZhMmE5YjMwMjY0ODIxZmZhYjM5ZTAzYTg1ZDdkNDdiZDkxMDY2ZTc1 OWUxNmM0NGQ0ZTIxYzg5MDI1ZjFiOThmOThmICBDVkUtMjAxOS05MjAwLnBhdGNoDQorZTE2YTg5 NzFlYTMwZGViZjllZmM4YWJmODFhMGE0M2M3Y2VhYTQwM2RiYjQyM2M0ZjQ1Y2JiMDAyMzdhY2Yw ZTRlZTEzZmI5MTE3ZjI1OGYyNDVjMjA0ZmFkYzMyZDUxZmEwYzczMjU5Y2VhMjkxM2Q5ZDJhZmFj MmNjOGFkOGYgIENWRS0yMDE5LTk2MzEucGF0Y2gNCis0N2Y1MGU5OWQ5MDJiMWFiODBlMDA0ZGVm NmI5OWY3ZTJjZDAxZTk2ZDZhMzA4MWFlZjhjYzNmNDczZWQwNTdhZGJjYjY5YjkwNWU4OWU1ZWNl MDgwZDQzZWE0NjVjOTJjMjg5MGNmNmNjODhlMjk0NjVhMGZjZjdkZDg5Y2QzNiAgQ1ZFLTIwMTkt MTA4NzMucGF0Y2gNCitiMDM0Zjg1NTlmY2UwNjVkNjcxZTFjOWM4ZDhkMGIxMmZiZjcwZjQyM2Zk OGRiYjAwMThhZTEyNTIwYzZiMjdiZTY3ZjRhMTZhMDJhMTgzYzJiOGMwOTUwNTMwNWIwOTc5Zjlh NjMyNmMzMzE3MWUxOWQ0NWM0ZDNlNTNiMDQ4NyAgYnVnOTI0MDI5LWdvb3N0cmluZy1udWxsLXBv aW50ZXJzLnBhdGNoDQorMWFhOTc5MWM5YzU1OWI3OGIxZGMzM2Q2ZTcyYzk0MWQ0ZDhhNDYxYTkw ZWI5MmY4Njc0ZjEzODgxZDE5YWEzOGUyMGZiYzkxMDRiYWY5ZGRiMjFiOWVjNmJkNGI4YzNiZGEz YTAxY2U2ZjM0YTkzMjIyOWU2MzI3YmVkZjE5MTAgIENWRS0yMDE5LTEwODcyLnBhdGNoDQorNTQ5 NGQ5MDU2ZGQ2NzJiNjM3OWQ4MmY0MWYwZTg5NTAzNzYzMWRhNzgxNjg1ZjA2NzMxNmZmYzNhZTc4 OTU4OWE4MzU4MDU1M2QwZGQyZTRlZDI5ZmQxZmQxZDRhNzc5ZTg3YTk2YTkxNGZjN2EwNDNlNjBl NGExNDViNzMyNTggIENWRS0yMDE5LTEyMjkzLnBhdGNoIg0KZGlmZiAtLWdpdCBhL21haW4vcG9w cGxlci9DVkUtMjAxOC0xNjY0Ni0xLnBhdGNoIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE4LTE2NjQ2 LTEucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi5mYjJhYzI3 NDg4DQotLS0gL2Rldi9udWxsDQorKysgYi9tYWluL3BvcHBsZXIvQ1ZFLTIwMTgtMTY2NDYtMS5w YXRjaA0KQEAgLTAsMCArMSw2MSBAQA0KK0Zyb20gM2QzNWQyMDljMTljMWQzYjA5Yjc5NGEwYzg2 M2JhNWRlNDRhOWMwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBNYXJlayBLYXNp ayA8bWthc2lrQHJlZGhhdC5jb20+DQorRGF0ZTogTW9uLCAyOSBPY3QgMjAxOCAxNzo0NDo0NyAr MDEwMA0KK1N1YmplY3Q6IFtQQVRDSF0gQXZvaWQgY3ljbGVzIGluIFBERiBwYXJzaW5nDQorDQor TWFyayBvYmplY3RzIGJlaW5nIHByb2Nlc3NlZCBpbiBQYXJzZXI6Om1ha2VTdHJlYW0oKSBhcyBi ZWluZyBwcm9jZXNzZWQNCithbmQgY2hlY2sgdGhlIG1hcmsgd2hlbiBlbnRlcmluZyB0aGlzIG1l dGhvZCB0byBhdm9pZCBwcm9jZXNzaW5nDQorb2YgdGhlIHNhbWUgb2JqZWN0IHJlY3Vyc2l2ZWx5 Lg0KKy0tLQ0KKyBwb3BwbGVyL1BhcnNlci5jYyB8IDE1ICsrKysrKysrKysrKysrKw0KKyBwb3Bw bGVyL1hSZWYuaCAgICB8ICAxICsNCisgMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCsp DQorDQorZGlmZiAtLWdpdCBhL3BvcHBsZXIvUGFyc2VyLmNjIGIvcG9wcGxlci9QYXJzZXIuY2MN CitpbmRleCBiZDQ4NDVhYi4uOGY0OGVmYmUgMTAwNjQ0DQorLS0tIGEvcG9wcGxlci9QYXJzZXIu Y2MNCisrKysgYi9wb3BwbGVyL1BhcnNlci5jYw0KK0BAIC0xOTcsNiArMTk3LDE4IEBAIFN0cmVh bSAqUGFyc2VyOjptYWtlU3RyZWFtKE9iamVjdCAmJmRpY3QsIEd1Y2hhciAqZmlsZUtleSwNCisg ICBTdHJlYW0gKnN0cjsNCisgICBHb2Zmc2V0IGxlbmd0aDsNCisgICBHb2Zmc2V0IHBvcywgZW5k UG9zOw0KKysgIFhSZWZFbnRyeSAqZW50cnk7DQorKw0KKysgIGlmICh4cmVmICYmIChlbnRyeSA9 IHhyZWYtPmdldEVudHJ5KG9iak51bSwgZmFsc2UpKSkgew0KKysgICAgaWYgKCFlbnRyeS0+Z2V0 RmxhZyhYUmVmRW50cnk6OlBhcnNpbmcpIHx8DQorKyAgICAgICAgKG9iak51bSA9PSAwICYmIG9i akdlbiA9PSAwKSkgew0KKysgICAgICBlbnRyeS0+c2V0RmxhZyhYUmVmRW50cnk6OlBhcnNpbmcs IHRydWUpOw0KKysgICAgfSBlbHNlIHsNCisrICAgICAgZXJyb3IoZXJyU3ludGF4RXJyb3IsIGdl dFBvcygpLA0KKysgICAgICAgICAgICAiT2JqZWN0ICd7MDpkfSB7MTpkfSBvYmonIGlzIGJlaW5n IGFscmVhZHkgcGFyc2VkIiwgb2JqTnVtLCBvYmpHZW4pOw0KKysgICAgICByZXR1cm4gbnVsbHB0 cjsNCisrICAgIH0NCisrICB9DQorIA0KKyAgIC8vIGdldCBzdHJlYW0gc3RhcnQgcG9zaXRpb24N CisgICBsZXhlci0+c2tpcFRvTmV4dExpbmUoKTsNCitAQCAtMjc4LDYgKzI5MCw5IEBAIFN0cmVh bSAqUGFyc2VyOjptYWtlU3RyZWFtKE9iamVjdCAmJmRpY3QsIEd1Y2hhciAqZmlsZUtleSwNCisg ICAvLyBnZXQgZmlsdGVycw0KKyAgIHN0ciA9IHN0ci0+YWRkRmlsdGVycyhzdHItPmdldERpY3Qo KSwgcmVjdXJzaW9uKTsNCisgDQorKyAgaWYgKGVudHJ5KQ0KKysgICAgZW50cnktPnNldEZsYWco WFJlZkVudHJ5OjpQYXJzaW5nLCBmYWxzZSk7DQorKw0KKyAgIHJldHVybiBzdHI7DQorIH0NCisg DQorZGlmZiAtLWdpdCBhL3BvcHBsZXIvWFJlZi5oIGIvcG9wcGxlci9YUmVmLmgNCitpbmRleCAx MWVlNWUwMy4uMmViMmY5ZmQgMTAwNjQ0DQorLS0tIGEvcG9wcGxlci9YUmVmLmgNCisrKysgYi9w b3BwbGVyL1hSZWYuaA0KK0BAIC02NSw2ICs2NSw3IEBAIHN0cnVjdCBYUmVmRW50cnkgew0KKyAg IGVudW0gRmxhZyB7DQorICAgICAvLyBSZWd1bGFyIGZsYWdzDQorICAgICBVcGRhdGVkLCAgICAg Ly8gRW50cnkgd2FzIG1vZGlmaWVkDQorKyAgICBQYXJzaW5nLCAgICAgLy8gRW50cnkgaXMgY3Vy cmVudGx5IGJlaW5nIHBhcnNlZA0KKyANCisgICAgIC8vIFNwZWNpYWwgZmxhZ3MgLS0gYXZhaWxh YmxlIG9ubHkgYWZ0ZXIgeHJlZi0+c2NhblNwZWNpYWxGbGFncygpIGlzIHJ1bg0KKyAgICAgVW5l bmNyeXB0ZWQsIC8vIEVudHJ5IGlzIHN0b3JlZCBpbiB1bmVuY3J5cHRlZCBmb3JtIChtZWFuaW5n bGVzcyBpbiB1bmVuY3J5cHRlZCBkb2N1bWVudHMpDQorLS0gDQorMi4xOC4xDQorDQpkaWZmIC0t Z2l0IGEvbWFpbi9wb3BwbGVyL0NWRS0yMDE4LTE2NjQ2LTIucGF0Y2ggYi9tYWluL3BvcHBsZXIv Q1ZFLTIwMTgtMTY2NDYtMi5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAwMDAuLjM1MTRiMzBjMmINCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vcG9wcGxlci9DVkUt MjAxOC0xNjY0Ni0yLnBhdGNoDQpAQCAtMCwwICsxLDI1IEBADQorRnJvbSA4OWZjY2Y0NWZjNWJm Y2EzNzU2MTAyZTZiZWMxOTUwZWMxZDQzNmE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zy b206IEFsYmVydCBBc3RhbHMgQ2lkIDxhYWNpZEBrZGUub3JnPg0KK0RhdGU6IFNhdCwgMyBOb3Yg MjAxOCAwMTo0NTo1NSArMDEwMA0KK1N1YmplY3Q6IFtQQVRDSF0gaW5pdGlhbGl6ZSBlbnRyeQ0K Kw0KKy0tLQ0KKyBwb3BwbGVyL1BhcnNlci5jYyB8IDIgKy0NCisgMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL3BvcHBsZXIvUGFy c2VyLmNjIGIvcG9wcGxlci9QYXJzZXIuY2MNCitpbmRleCA3MzNjZGJiMC4uODc3NDU0MTQgMTAw NjQ0DQorLS0tIGEvcG9wcGxlci9QYXJzZXIuY2MNCisrKysgYi9wb3BwbGVyL1BhcnNlci5jYw0K K0BAIC0xOTgsNyArMTk4LDcgQEAgU3RyZWFtICpQYXJzZXI6Om1ha2VTdHJlYW0oT2JqZWN0ICYm ZGljdCwgR3VjaGFyICpmaWxlS2V5LA0KKyAgIFN0cmVhbSAqc3RyOw0KKyAgIEdvZmZzZXQgbGVu Z3RoOw0KKyAgIEdvZmZzZXQgcG9zLCBlbmRQb3M7DQorLSAgWFJlZkVudHJ5ICplbnRyeTsNCisr ICBYUmVmRW50cnkgKmVudHJ5ID0gbnVsbHB0cjsNCisgDQorICAgaWYgKHhyZWYgJiYgKGVudHJ5 ID0geHJlZi0+Z2V0RW50cnkob2JqTnVtLCBmYWxzZSkpKSB7DQorICAgICBpZiAoIWVudHJ5LT5n ZXRGbGFnKFhSZWZFbnRyeTo6UGFyc2luZykgfHwNCistLSANCisyLjE4LjENCisNCmRpZmYgLS1n aXQgYS9tYWluL3BvcHBsZXIvQ1ZFLTIwMTgtMTY2NDYtMy5wYXRjaCBiL21haW4vcG9wcGxlci9D VkUtMjAxOC0xNjY0Ni0zLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMC4uNjJkMzAzZTJiNQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL0NWRS0y MDE4LTE2NjQ2LTMucGF0Y2gNCkBAIC0wLDAgKzEsMjggQEANCitGcm9tIDA4NTcyZTFiZGNhMDNi YWVkNjk0ZGQ5ODI4YmIyYjg3ODg2NWU2NjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJv bTogQWxiZXJ0IEFzdGFscyBDaWQgPGFhY2lkQGtkZS5vcmc+DQorRGF0ZTogU2F0LCAzIE5vdiAy MDE4IDEyOjIxOjQxICswMTAwDQorU3ViamVjdDogW1BBVENIXSBQYXJzZXI6Om1ha2VTdHJlYW06 IEZpeCBjcmFzaCBvbiBtYWxmb3JtZWQgZmlsZXMNCisNCitmaXhlcyBvc3MtZnV6ei8xMTI0NA0K Ky0tLQ0KKyBwb3BwbGVyL1BhcnNlci5jYyB8IDQgKysrKw0KKyAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspDQorDQorZGlmZiAtLWdpdCBhL3BvcHBsZXIvUGFyc2VyLmNjIGIvcG9wcGxl ci9QYXJzZXIuY2MNCitpbmRleCA4Nzc0NTQxNC4uMmNmMmJkMTIgMTAwNjQ0DQorLS0tIGEvcG9w cGxlci9QYXJzZXIuY2MNCisrKysgYi9wb3BwbGVyL1BhcnNlci5jYw0KK0BAIC0yMzAsNiArMjMw LDEwIEBAIFN0cmVhbSAqUGFyc2VyOjptYWtlU3RyZWFtKE9iamVjdCAmJmRpY3QsIEd1Y2hhciAq ZmlsZUtleSwNCisgICAgIGxlbmd0aCA9IDA7DQorICAgfQ0KKyANCisrICAvLyB0aGUgYWJvdmUg ZGljdExvb2t1cCBjYW4gY2F1c2UgYSB4cmVmIHJlY29uc3RydWN0aW9uIGlmIHRoZSBmaWxlIGlz IGRhbWFnZWQNCisrICAvLyBzbyB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgZW50cnkgcG9pbnRlcg0K KysgIGVudHJ5ID0geHJlZiA/IHhyZWYtPmdldEVudHJ5KG9iak51bSwgZmFsc2UpIDogbnVsbHB0 cjsNCisrDQorICAgLy8gY2hlY2sgZm9yIGxlbmd0aCBpbiBkYW1hZ2VkIGZpbGUNCisgICBpZiAo eHJlZiAmJiB4cmVmLT5nZXRTdHJlYW1FbmQocG9zLCAmZW5kUG9zKSkgew0KKyAgICAgbGVuZ3Ro ID0gZW5kUG9zIC0gcG9zOw0KKy0tIA0KKzIuMTguMQ0KKw0KZGlmZiAtLWdpdCBhL21haW4vcG9w cGxlci9DVkUtMjAxOC0yMDQ4MS5wYXRjaCBiL21haW4vcG9wcGxlci9DVkUtMjAxOC0yMDQ4MS5w YXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjQ0MDJlOTY0YWQN Ci0tLSAvZGV2L251bGwNCisrKyBiL21haW4vcG9wcGxlci9DVkUtMjAxOC0yMDQ4MS5wYXRjaA0K QEAgLTAsMCArMSw2MyBAQA0KK0Zyb20gMzlhMjUxYjFiM2EzMzQzNDAwYTA4ZTJmMDNjNTUxOGEy NjYyNDYyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBBZGFtIFJlaWNob2xkIDxh ZGFtLnJlaWNob2xkQHQtb25saW5lLmRlPg0KK0RhdGU6IE1vbiwgMjQgRGVjIDIwMTggMTU6NDA6 MzggKzAxMDANCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCB0cnkgdG8gcGFyc2UgaW50byB1bmFs bG9jYXRlZCBYUmVmIGVudHJ5IGFuZCByZXR1cm4NCisgcG9pbnRlciB0byBkdW1teSBlbnRyeSBp bnN0ZWFkLiBDbG9zZXMgIzY5MiBhbmQgb3NzLWZ1enovMTIzMzANCisNCistLS0NCisgcG9wcGxl ci9YUmVmLmNjIHwgMjcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tDQorIDEgZmlsZSBjaGFu Z2VkLCAyMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9w b3BwbGVyL1hSZWYuY2MgYi9wb3BwbGVyL1hSZWYuY2MNCitpbmRleCAwZWM2Njk0NC4uZDA0MmQx ZjQgMTAwNjQ0DQorLS0tIGEvcG9wcGxlci9YUmVmLmNjDQorKysrIGIvcG9wcGxlci9YUmVmLmNj DQorQEAgLTE1NDgsMTEgKzE1NDgsMzEgQEAgdm9pZCBYUmVmOjpyZWFkWFJlZlVudGlsKGludCB1 bnRpbEVudHJ5TnVtLCBzdGQ6OnZlY3RvcjxpbnQ+ICp4cmVmU3RyZWFtT2Jqc051bSkNCisgICB9 DQorIH0NCisgDQorK25hbWVzcGFjZSB7DQorKw0KKytzdHJ1Y3QgRHVtbXlYUmVmRW50cnkgOiBY UmVmRW50cnkgew0KKysgIER1bW15WFJlZkVudHJ5KCkgew0KKysgICAgb2Zmc2V0ID0gMDsNCisr ICAgIGdlbiA9IC0xOw0KKysgICAgdHlwZSA9IHhyZWZFbnRyeU5vbmU7DQorKyAgICBmbGFncyA9 IDA7DQorKyAgfQ0KKyt9Ow0KKysNCisrRHVtbXlYUmVmRW50cnkgZHVtbXlYUmVmRW50cnk7DQor Kw0KKyt9DQorKw0KKyBYUmVmRW50cnkgKlhSZWY6OmdldEVudHJ5KGludCBpLCBib29sIGNvbXBs YWluSWZNaXNzaW5nKQ0KKyB7DQorICAgaWYgKGkgPj0gc2l6ZSB8fCBlbnRyaWVzW2ldLnR5cGUg PT0geHJlZkVudHJ5Tm9uZSkgew0KKyANCisgICAgIGlmICgoIXhSZWZTdHJlYW0pICYmIG1haW5Y UmVmRW50cmllc09mZnNldCkgew0KKysgICAgICBpZiAodW5saWtlbHkoaSA+PSBjYXBhY2l0eSkp IHsNCisrCWVycm9yKGVyckludGVybmFsLCAtMSwgIlJlcXVlc3QgZm9yIG91dC1vZi1ib3VuZHMg WFJlZiBlbnRyeSBbezA6ZH1dIiwgaSk7DQorKwlyZXR1cm4gJmR1bW15WFJlZkVudHJ5Ow0KKysg ICAgICB9DQorKw0KKyAgICAgICBpZiAoIXBhcnNlRW50cnkobWFpblhSZWZFbnRyaWVzT2Zmc2V0 ICsgMjAqaSwgJmVudHJpZXNbaV0pKSB7DQorICAgICAgICAgZXJyb3IoZXJyU3ludGF4RXJyb3Is IC0xLCAiRmFpbGVkIHRvIHBhcnNlIFhSZWYgZW50cnkgW3swOmR9XS4iLCBpKTsNCisgICAgICAg fQ0KK0BAIC0xNTYzLDEyICsxNTgzLDcgQEAgWFJlZkVudHJ5ICpYUmVmOjpnZXRFbnRyeShpbnQg aSwgYm9vbCBjb21wbGFpbklmTWlzc2luZykNCisgICAgICAgLy8gV2UgbWlnaHQgaGF2ZSByZWNv bnN0cnVjdGVkIHRoZSB4cmVmDQorICAgICAgIC8vIENoZWNrIGFnYWluIGkgaXMgaW4gYm91bmRz DQorICAgICAgIGlmICh1bmxpa2VseShpID49IHNpemUpKSB7DQorLSAgICAgICAgc3RhdGljIFhS ZWZFbnRyeSBkdW1teTsNCistICAgICAgICBkdW1teS5vZmZzZXQgPSAwOw0KKy0gICAgICAgIGR1 bW15LmdlbiA9IC0xOw0KKy0gICAgICAgIGR1bW15LnR5cGUgPSB4cmVmRW50cnlOb25lOw0KKy0g ICAgICAgIGR1bW15LmZsYWdzID0gMDsNCistICAgICAgICByZXR1cm4gJmR1bW15Ow0KKysJcmV0 dXJuICZkdW1teVhSZWZFbnRyeTsNCisgICAgICAgfQ0KKyANCisgICAgICAgaWYgKGVudHJpZXNb aV0udHlwZSA9PSB4cmVmRW50cnlOb25lKSB7DQorLS0gDQorMi4xOC4xDQorDQpkaWZmIC0tZ2l0 IGEvbWFpbi9wb3BwbGVyL0NWRS0yMDE4LTIwNTUxLnBhdGNoIGIvbWFpbi9wb3BwbGVyL0NWRS0y MDE4LTIwNTUxLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4u OWEzOTFjYTBkZA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE4LTIw NTUxLnBhdGNoDQpAQCAtMCwwICsxLDUxIEBADQorRnJvbSA3Zjg3ZGMxMGI2YWRjY2Q2ZDFiOTc3 YTI4YjA2NGFkZDI1NGFhMmRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IEFkYW0g UmVpY2hvbGQgPGFkYW0ucmVpY2hvbGRAdC1vbmxpbmUuZGU+DQorRGF0ZTogVGh1LCAyNyBEZWMg MjAxOCAxMTo1NDo1MyArMDEwMA0KK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHRyeSB0byBjb25z dHJ1Y3QgaW52YWxpZCByaWNoIG1lZGlhIGFubm90YXRpb24gYXNzZXRzLg0KKyBDbG9zZXMgIzcw Mw0KKw0KKy0tLQ0KKyBwb3BwbGVyL0Fubm90LmNjIHwgMjQgKysrKysrKysrKysrKy0tLS0tLS0t LS0tDQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkN CisNCitkaWZmIC0tZ2l0IGEvcG9wcGxlci9Bbm5vdC5jYyBiL3BvcHBsZXIvQW5ub3QuY2MNCitp bmRleCAyZTQ3NzBhYi4uMTc1MGRjNzAgMTAwNjQ0DQorLS0tIGEvcG9wcGxlci9Bbm5vdC5jYw0K KysrKyBiL3BvcHBsZXIvQW5ub3QuY2MNCitAQCAtNjQxOCwyMCArNjQxOCwyMiBAQCBBbm5vdFJp Y2hNZWRpYTo6Q29udGVudDo6Q29udGVudChEaWN0ICpkaWN0KSB7DQorICAgaWYgKG9iajEuaXNE aWN0KCkpIHsNCisgICAgIE9iamVjdCBvYmoyID0gb2JqMS5nZXREaWN0KCktPmxvb2t1cCgiTmFt ZXMiKTsNCisgICAgIGlmIChvYmoyLmlzQXJyYXkoKSkgew0KKy0gICAgICBuQXNzZXRzID0gb2Jq Mi5hcnJheUdldExlbmd0aCgpIC8gMjsNCisrICAgICAgY29uc3QgaW50IGxlbmd0aCA9IG9iajIu YXJyYXlHZXRMZW5ndGgoKSAvIDI7DQorIA0KKy0gICAgICBhc3NldHMgPSAoQXNzZXQgKiopZ21h bGxvY24obkFzc2V0cywgc2l6ZW9mKEFzc2V0ICopKTsNCisrICAgICAgYXNzZXRzID0gKEFzc2V0 ICoqKWdtYWxsb2NuKGxlbmd0aCwgc2l6ZW9mKEFzc2V0ICopKTsNCisrICAgICAgZm9yIChpbnQg aSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgew0KKysJT2JqZWN0IG9iaktleSA9IG9iajIuYXJyYXlH ZXQoMiAqIGkpOw0KKysJT2JqZWN0IG9ialZhbCA9IG9iajIuYXJyYXlHZXQoMiAqIGkgKyAxKTsN CisgDQorLSAgICAgIGludCBjb3VudGVyID0gMDsNCistICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBuQXNzZXRzOyArK2kpIHsNCistICAgICAgICBhc3NldHNbY291bnRlcl0gPSBuZXcgQW5ub3RS aWNoTWVkaWE6OkFzc2V0Ow0KKy0NCistICAgICAgICBPYmplY3Qgb2JqS2V5ID0gb2JqMi5hcnJh eUdldChpICogMik7DQorLSAgICAgICAgYXNzZXRzW2NvdW50ZXJdLT5maWxlU3BlYyA9IG9iajIu YXJyYXlHZXQoaSAqIDIgKyAxKTsNCistDQorLSAgICAgICAgYXNzZXRzW2NvdW50ZXJdLT5uYW1l ID0gc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KCBvYmpLZXkuZ2V0U3RyaW5nKCkgKTsNCist ICAgICAgICArK2NvdW50ZXI7DQorKwlpZiAoIW9iaktleS5pc1N0cmluZygpIHx8IG9ialZhbC5p c051bGwoKSkgew0KKysJICBlcnJvcihlcnJTeW50YXhFcnJvciwgLTEsICJCYWQgQW5ub3QgQXNz ZXQiKTsNCisrCSAgY29udGludWU7DQorKwl9DQorIA0KKysJYXNzZXRzW25Bc3NldHNdID0gbmV3 IEFubm90UmljaE1lZGlhOjpBc3NldDsNCisrCWFzc2V0c1tuQXNzZXRzXS0+bmFtZSA9IHN0ZDo6 bWFrZV91bmlxdWU8R29vU3RyaW5nPiggb2JqS2V5LmdldFN0cmluZygpICk7DQorKwlhc3NldHNb bkFzc2V0c10tPmZpbGVTcGVjID0gc3RkOjptb3ZlKG9ialZhbCk7DQorKwkrK25Bc3NldHM7DQor ICAgICAgIH0NCisgICAgIH0NCisgICB9DQorLS0gDQorMi4xOC4xDQorDQpkaWZmIC0tZ2l0IGEv bWFpbi9wb3BwbGVyL0NWRS0yMDE4LTIwNjYyLnBhdGNoIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE4 LTIwNjYyLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uNTU3 YmRhMzRhZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE4LTIwNjYy LnBhdGNoDQpAQCAtMCwwICsxLDQ2IEBADQorRnJvbSA3YjRlMzcyZGVlYjcxNmViM2ZlM2E1NGIz MWVkNDFhZjc1OTIyNGY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IE1hcmVrIEth c2lrIDxta2FzaWtAcmVkaGF0LmNvbT4NCitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMTI6NTU6MTIg KzAxMDANCitTdWJqZWN0OiBbUEFUQ0hdIHBkZnVuaXRlOiBDaGVjayBYUmVmJ3MgQ2F0YWxvZyBm b3IgYmVpbmcgYSBEaWN0DQorDQorQ2hlY2sgd2hldGhlciBDYXRhbG9nIGZyb20gWFJlZiBpcyBE aWN0IGZvciBlYWNoIGRvY3VtZW50DQorcGFzc2VkIHRvIHBkZnVuaXRlIGFuZCByZXR1cm4gZXJy b3IgaWYgbm90Lg0KKw0KK2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb3BwbGVyL3Bv cHBsZXIvaXNzdWVzLzcwNg0KKy0tLQ0KKyB1dGlscy9wZGZ1bml0ZS5jYyB8IDEyICsrKysrKysr Ky0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0K Kw0KK2RpZmYgLS1naXQgYS91dGlscy9wZGZ1bml0ZS5jYyBiL3V0aWxzL3BkZnVuaXRlLmNjDQor aW5kZXggYjAxNDIxMTYuLjIzODg4Njg0IDEwMDY0NA0KKy0tLSBhL3V0aWxzL3BkZnVuaXRlLmNj DQorKysrIGIvdXRpbHMvcGRmdW5pdGUuY2MNCitAQCAtMTY1LDcgKzE2NSw4IEBAIGludCBtYWlu IChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIC0gMTsg aSsrKSB7DQorICAgICBHb29TdHJpbmcgKmdmaWxlTmFtZSA9IG5ldyBHb29TdHJpbmcoYXJndltp XSk7DQorICAgICBQREZEb2MgKmRvYyA9IG5ldyBQREZEb2MoZ2ZpbGVOYW1lLCBudWxscHRyLCBu dWxscHRyLCBudWxscHRyKTsNCistICAgIGlmIChkb2MtPmlzT2soKSAmJiAhZG9jLT5pc0VuY3J5 cHRlZCgpKSB7DQorKyAgICBpZiAoZG9jLT5pc09rKCkgJiYgIWRvYy0+aXNFbmNyeXB0ZWQoKSAm Jg0KKysgICAgICAgIGRvYy0+Z2V0WFJlZigpLT5nZXRDYXRhbG9nKCkuaXNEaWN0KCkpIHsNCisg ICAgICAgZG9jcy5wdXNoX2JhY2soZG9jKTsNCisgICAgICAgaWYgKGRvYy0+Z2V0UERGTWFqb3JW ZXJzaW9uKCkgPiBtYWpvclZlcnNpb24pIHsNCisgICAgICAgICBtYWpvclZlcnNpb24gPSBkb2Mt PmdldFBERk1ham9yVmVyc2lvbigpOw0KK0BAIC0xNzYsOCArMTc3LDEzIEBAIGludCBtYWluIChp bnQgYXJnYywgY2hhciAqYXJndltdKQ0KKyAgICAgICAgIH0NCisgICAgICAgfQ0KKyAgICAgfSBl bHNlIGlmIChkb2MtPmlzT2soKSkgew0KKy0gICAgICBlcnJvcihlcnJVbmltcGxlbWVudGVkLCAt MSwgIkNvdWxkIG5vdCBtZXJnZSBlbmNyeXB0ZWQgZmlsZXMgKCd7MDpzfScpIiwgYXJndltpXSk7 DQorLSAgICAgIHJldHVybiAtMTsNCisrICAgICAgaWYgKGRvYy0+aXNFbmNyeXB0ZWQoKSkgew0K KysgICAgICAgIGVycm9yKGVyclVuaW1wbGVtZW50ZWQsIC0xLCAiQ291bGQgbm90IG1lcmdlIGVu Y3J5cHRlZCBmaWxlcyAoJ3swOnN9JykiLCBhcmd2W2ldKTsNCisrICAgICAgICByZXR1cm4gLTE7 DQorKyAgICAgIH0gZWxzZSBpZiAoIWRvYy0+Z2V0WFJlZigpLT5nZXRDYXRhbG9nKCkuaXNEaWN0 KCkpIHsNCisrICAgICAgICBlcnJvcihlcnJTeW50YXhFcnJvciwgLTEsICJYUmVmJ3MgQ2F0YWxv ZyBpcyBub3QgYSBkaWN0aW9uYXJ5ICgnezA6c30nKSIsIGFyZ3ZbaV0pOw0KKysgICAgICAgIHJl dHVybiAtMTsNCisrICAgICAgfQ0KKyAgICAgfSBlbHNlIHsNCisgICAgICAgZXJyb3IoZXJyU3lu dGF4RXJyb3IsIC0xLCAiQ291bGQgbm90IG1lcmdlIGRhbWFnZWQgZG9jdW1lbnRzICgnezA6c30n KSIsIGFyZ3ZbaV0pOw0KKyAgICAgICByZXR1cm4gLTE7DQorLS0gDQorMi4xOC4xDQorDQpkaWZm IC0tZ2l0IGEvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTEwODcyLnBhdGNoIGIvbWFpbi9wb3BwbGVy L0NWRS0yMDE5LTEwODcyLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMC4uODAzMmQ3ZGQ5YQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL0NWRS0y MDE5LTEwODcyLnBhdGNoDQpAQCAtMCwwICsxLDEzNiBAQA0KK0Zyb20gNmExNTgwZTg0ZjQ5MmI1 NjcxZDIzYmU5ODE5MjI2N2JiNzNkZTI1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9t OiBNYXJlayBLYXNpayA8bWthc2lrQHJlZGhhdC5jb20+DQorRGF0ZTogTW9uLCAxMyBNYXkgMjAx OSAxNTowODozOCArMDIwMA0KK1N1YmplY3Q6IFtQQVRDSF0gU3BsYXNoOiBSZXN0cmljdCBmaWxs aW5nIG9mIG92ZXJsYXBwaW5nIGJveGVzDQorDQorQ2hlY2sgd2hldGhlciBhcmVhIHRvIGZpbGwg aW4gU3BsYXNoOjpibGl0VHJhbnNwYXJlbnQoKQ0KK2RvZXMgbm90IHJ1biBvdXQgb2YgYWxsb2Nh dGVkIG1lbW9yeSBmb3Igc291cmNlIGFuZCBmb3IgZGVzdGluYXRpb24NCithbmQgc2hyaW5rIGl0 IGlmIG5lZWRlZC4NCisNCitGaXhlcyAjNzUwDQorLS0tDQorIHNwbGFzaC9TcGxhc2guY2MgfCA0 OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0NCisgMSBm aWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KKw0KKy0tLSBw b3BwbGVyLTAuNzEuMC5vcmlnL3NwbGFzaC9TcGxhc2guY2MNCisrKysgcG9wcGxlci0wLjcxLjAv c3BsYXNoL1NwbGFzaC5jYw0KK0BAIC01ODU2LDcgKzU4NTYsNyBAQCBTcGxhc2hFcnJvciBTcGxh c2g6OmJsaXRUcmFuc3BhcmVudChTcGxhDQorIAkJCQkgICAgaW50IHhEZXN0LCBpbnQgeURlc3Qs IGludCB3LCBpbnQgaCkgew0KKyAgIFNwbGFzaENvbG9yUHRyIHAsIHNwOw0KKyAgIEd1Y2hhciAq cTsNCistICBpbnQgeCwgeSwgbWFzaywgc3JjTWFzazsNCisrICBpbnQgeCwgeSwgbWFzaywgc3Jj TWFzaywgd2lkdGggPSB3LCBoZWlnaHQgPSBoOw0KKyANCisgICBpZiAoc3JjLT5tb2RlICE9IGJp dG1hcC0+bW9kZSkgew0KKyAgICAgcmV0dXJuIHNwbGFzaEVyck1vZGVNaXNtYXRjaDsNCitAQCAt NTg2NiwxNCArNTg2NiwzMiBAQCBTcGxhc2hFcnJvciBTcGxhc2g6OmJsaXRUcmFuc3BhcmVudChT cGxhDQorICAgICByZXR1cm4gc3BsYXNoRXJyWmVyb0ltYWdlOw0KKyAgIH0NCisgDQorKyAgaWYg KHNyYy0+Z2V0V2lkdGgoKSAtIHhTcmMgPCB3aWR0aCkNCisrICAgIHdpZHRoID0gc3JjLT5nZXRX aWR0aCgpIC0geFNyYzsNCisrDQorKyAgaWYgKHNyYy0+Z2V0SGVpZ2h0KCkgLSB5U3JjIDwgaGVp Z2h0KQ0KKysgICAgaGVpZ2h0ID0gc3JjLT5nZXRIZWlnaHQoKSAtIHlTcmM7DQorKw0KKysgIGlm IChiaXRtYXAtPmdldFdpZHRoKCkgLSB4RGVzdCA8IHdpZHRoKQ0KKysgICAgd2lkdGggPSBiaXRt YXAtPmdldFdpZHRoKCkgLSB4RGVzdDsNCisrDQorKyAgaWYgKGJpdG1hcC0+Z2V0SGVpZ2h0KCkg LSB5RGVzdCA8IGhlaWdodCkNCisrICAgIGhlaWdodCA9IGJpdG1hcC0+Z2V0SGVpZ2h0KCkgLSB5 RGVzdDsNCisrDQorKyAgaWYgKHdpZHRoIDwgMCkNCisrICAgIHdpZHRoID0gMDsNCisrDQorKyAg aWYgKGhlaWdodCA8IDApDQorKyAgICBoZWlnaHQgPSAwOw0KKysNCisgICBzd2l0Y2ggKGJpdG1h cC0+bW9kZSkgew0KKyAgIGNhc2Ugc3BsYXNoTW9kZU1vbm8xOg0KKy0gICAgZm9yICh5ID0gMDsg eSA8IGg7ICsreSkgew0KKysgICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7DQorICAg ICAgIHAgPSAmYml0bWFwLT5kYXRhWyh5RGVzdCArIHkpICogYml0bWFwLT5yb3dTaXplICsgKHhE ZXN0ID4+IDMpXTsNCisgICAgICAgbWFzayA9IDB4ODAgPj4gKHhEZXN0ICYgNyk7DQorICAgICAg IHNwID0gJnNyYy0+ZGF0YVsoeVNyYyArIHkpICogc3JjLT5yb3dTaXplICsgKHhTcmMgPj4gMyld Ow0KKyAgICAgICBzcmNNYXNrID0gMHg4MCA+PiAoeFNyYyAmIDcpOw0KKy0gICAgICBmb3IgKHgg PSAwOyB4IDwgdzsgKyt4KSB7DQorKyAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgKyt4KSB7 DQorIAlpZiAoKnNwICYgc3JjTWFzaykgew0KKyAJICAqcCB8PSBtYXNrOw0KKyAJfSBlbHNlIHsN CitAQCAtNTg5MSwyMCArNTkwOSwyMCBAQCBTcGxhc2hFcnJvciBTcGxhc2g6OmJsaXRUcmFuc3Bh cmVudChTcGxhDQorICAgICB9DQorICAgICBicmVhazsNCisgICBjYXNlIHNwbGFzaE1vZGVNb25v ODoNCistICAgIGZvciAoeSA9IDA7IHkgPCBoOyArK3kpIHsNCisrICAgIGZvciAoeSA9IDA7IHkg PCBoZWlnaHQ7ICsreSkgew0KKyAgICAgICBwID0gJmJpdG1hcC0+ZGF0YVsoeURlc3QgKyB5KSAq IGJpdG1hcC0+cm93U2l6ZSArIHhEZXN0XTsNCisgICAgICAgc3AgPSAmc3JjLT5kYXRhWyh5U3Jj ICsgeSkgKiBiaXRtYXAtPnJvd1NpemUgKyB4U3JjXTsNCistICAgICAgZm9yICh4ID0gMDsgeCA8 IHc7ICsreCkgew0KKysgICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgew0KKyAJKnAr KyA9ICpzcCsrOw0KKyAgICAgICB9DQorICAgICB9DQorICAgICBicmVhazsNCisgICBjYXNlIHNw bGFzaE1vZGVSR0I4Og0KKyAgIGNhc2Ugc3BsYXNoTW9kZUJHUjg6DQorLSAgICBmb3IgKHkgPSAw OyB5IDwgaDsgKyt5KSB7DQorKyAgICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsNCisg ICAgICAgcCA9ICZiaXRtYXAtPmRhdGFbKHlEZXN0ICsgeSkgKiBiaXRtYXAtPnJvd1NpemUgKyAz ICogeERlc3RdOw0KKyAgICAgICBzcCA9ICZzcmMtPmRhdGFbKHlTcmMgKyB5KSAqIHNyYy0+cm93 U2l6ZSArIDMgKiB4U3JjXTsNCistICAgICAgZm9yICh4ID0gMDsgeCA8IHc7ICsreCkgew0KKysg ICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgew0KKyAJKnArKyA9ICpzcCsrOw0KKyAJ KnArKyA9ICpzcCsrOw0KKyAJKnArKyA9ICpzcCsrOw0KK0BAIC01OTEyLDEwICs1OTMwLDEwIEBA IFNwbGFzaEVycm9yIFNwbGFzaDo6YmxpdFRyYW5zcGFyZW50KFNwbGENCisgICAgIH0NCisgICAg IGJyZWFrOw0KKyAgIGNhc2Ugc3BsYXNoTW9kZVhCR1I4Og0KKy0gICAgZm9yICh5ID0gMDsgeSA8 IGg7ICsreSkgew0KKysgICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7DQorICAgICAg IHAgPSAmYml0bWFwLT5kYXRhWyh5RGVzdCArIHkpICogYml0bWFwLT5yb3dTaXplICsgNCAqIHhE ZXN0XTsNCisgICAgICAgc3AgPSAmc3JjLT5kYXRhWyh5U3JjICsgeSkgKiBzcmMtPnJvd1NpemUg KyA0ICogeFNyY107DQorLSAgICAgIGZvciAoeCA9IDA7IHggPCB3OyArK3gpIHsNCisrICAgICAg Zm9yICh4ID0gMDsgeCA8IHdpZHRoOyArK3gpIHsNCisgCSpwKysgPSAqc3ArKzsNCisgCSpwKysg PSAqc3ArKzsNCisgCSpwKysgPSAqc3ArKzsNCitAQCAtNTkyNiwxMCArNTk0NCwxMCBAQCBTcGxh c2hFcnJvciBTcGxhc2g6OmJsaXRUcmFuc3BhcmVudChTcGxhDQorICAgICBicmVhazsNCisgI2lm ZGVmIFNQTEFTSF9DTVlLDQorICAgY2FzZSBzcGxhc2hNb2RlQ01ZSzg6DQorLSAgICBmb3IgKHkg PSAwOyB5IDwgaDsgKyt5KSB7DQorKyAgICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsN CisgICAgICAgcCA9ICZiaXRtYXAtPmRhdGFbKHlEZXN0ICsgeSkgKiBiaXRtYXAtPnJvd1NpemUg KyA0ICogeERlc3RdOw0KKyAgICAgICBzcCA9ICZzcmMtPmRhdGFbKHlTcmMgKyB5KSAqIHNyYy0+ cm93U2l6ZSArIDQgKiB4U3JjXTsNCistICAgICAgZm9yICh4ID0gMDsgeCA8IHc7ICsreCkgew0K KysgICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7ICsreCkgew0KKyAJKnArKyA9ICpzcCsrOw0K KyAJKnArKyA9ICpzcCsrOw0KKyAJKnArKyA9ICpzcCsrOw0KK0BAIC01OTM4LDEwICs1OTU2LDEw IEBAIFNwbGFzaEVycm9yIFNwbGFzaDo6YmxpdFRyYW5zcGFyZW50KFNwbGENCisgICAgIH0NCisg ICAgIGJyZWFrOw0KKyAgIGNhc2Ugc3BsYXNoTW9kZURldmljZU44Og0KKy0gICAgZm9yICh5ID0g MDsgeSA8IGg7ICsreSkgew0KKysgICAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgKyt5KSB7DQor ICAgICAgIHAgPSAmYml0bWFwLT5kYXRhWyh5RGVzdCArIHkpICogYml0bWFwLT5yb3dTaXplICsg KFNQT1RfTkNPTVBTKzQpICogeERlc3RdOw0KKyAgICAgICBzcCA9ICZzcmMtPmRhdGFbKHlTcmMg KyB5KSAqIHNyYy0+cm93U2l6ZSArIChTUE9UX05DT01QUys0KSAqIHhTcmNdOw0KKy0gICAgICBm b3IgKHggPSAwOyB4IDwgdzsgKyt4KSB7DQorKyAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsg Kyt4KSB7DQorICAgICAgICAgZm9yIChpbnQgY3A9MDsgY3AgPCBTUE9UX05DT01QUys0OyBjcCsr KQ0KKyAgICAgICAgICAgKnArKyA9ICpzcCsrOw0KKyAgICAgICB9DQorQEAgLTU5NTEsOSArNTk2 OSw5IEBAIFNwbGFzaEVycm9yIFNwbGFzaDo6YmxpdFRyYW5zcGFyZW50KFNwbGENCisgICB9DQor IA0KKyAgIGlmIChiaXRtYXAtPmFscGhhKSB7DQorLSAgICBmb3IgKHkgPSAwOyB5IDwgaDsgKyt5 KSB7DQorKyAgICBmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsNCisgICAgICAgcSA9ICZi aXRtYXAtPmFscGhhWyh5RGVzdCArIHkpICogYml0bWFwLT53aWR0aCArIHhEZXN0XTsNCistICAg ICAgbWVtc2V0KHEsIDB4MDAsIHcpOw0KKysgICAgICBtZW1zZXQocSwgMHgwMCwgd2lkdGgpOw0K KyAgICAgfQ0KKyAgIH0NCisgDQpkaWZmIC0tZ2l0IGEvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTEw ODczLnBhdGNoIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTEwODczLnBhdGNoDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uYTRhODBhZTk3ZA0KLS0tIC9kZXYvbnVsbA0K KysrIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTEwODczLnBhdGNoDQpAQCAtMCwwICsxLDMxIEBA DQorRnJvbSA4ZGJlMmU2YzQ4MDQwNWRhYjkzNDcwNzVjZjRiZTYyNmY5MGYxZDA1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IEFsYmVydCBBc3RhbHMgQ2lkIDxhYWNpZEBrZGUub3Jn Pg0KK0RhdGU6IFdlZCwgMyBBcHIgMjAxOSAxODowMjo0MiArMDIwMA0KK1N1YmplY3Q6IFtQQVRD SF0gU3BsYXNoWFBhdGhTY2FubmVyOjpjbGlwQUFMaW5lOiBGaXggY3Jhc2ggb24gYnJva2VuIGZp bGUNCisNCitNYWtlIHN1cmUgdGhlIGluZGV4IG9mIGFsbEludGVyc2VjdGlvbnMgd2UgYWNjZXNz IGlzIHZhbGlkDQorDQorRml4ZXMgIzc0OA0KKy0tLQ0KKyBzcGxhc2gvU3BsYXNoWFBhdGhTY2Fu bmVyLmNjIHwgNSArKysrLQ0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL3NwbGFzaC9TcGxhc2hYUGF0aFNjYW5uZXIuY2Mg Yi9zcGxhc2gvU3BsYXNoWFBhdGhTY2FubmVyLmNjDQoraW5kZXggODM2MmE2YTUuLjIzYjRmN2M0 IDEwMDY0NA0KKy0tLSBhL3NwbGFzaC9TcGxhc2hYUGF0aFNjYW5uZXIuY2MNCisrKysgYi9zcGxh c2gvU3BsYXNoWFBhdGhTY2FubmVyLmNjDQorQEAgLTQ1Miw3ICs0NTIsMTAgQEAgdm9pZCBTcGxh c2hYUGF0aFNjYW5uZXI6OmNsaXBBQUxpbmUoU3BsYXNoQml0bWFwICphYUJ1ZiwNCisgICBmb3Ig KHl5ID0gMDsgeXkgPCBzcGxhc2hBQVNpemU7ICsreXkpIHsNCisgICAgIHh4ID0gKngwICogc3Bs YXNoQUFTaXplOw0KKyAgICAgaWYgKHl5ID49IHl5TWluICYmIHl5IDw9IHl5TWF4KSB7DQorLSAg ICAgIGNvbnN0IGF1dG8mIGxpbmUgPSBhbGxJbnRlcnNlY3Rpb25zW3NwbGFzaEFBU2l6ZSAqIHkg KyB5eSAtIHlNaW5dOw0KKysgICAgICBjb25zdCBpbnQgaW50ZXJzZWN0aW9uSW5kZXggPSBzcGxh c2hBQVNpemUgKiB5ICsgeXkgLSB5TWluOw0KKysgICAgICBpZiAodW5saWtlbHkoaW50ZXJzZWN0 aW9uSW5kZXggPCAwIHx8ICh1bnNpZ25lZClpbnRlcnNlY3Rpb25JbmRleCA+PSBhbGxJbnRlcnNl Y3Rpb25zLnNpemUoKSkpDQorKwlicmVhazsNCisrICAgICAgY29uc3QgYXV0byYgbGluZSA9IGFs bEludGVyc2VjdGlvbnNbaW50ZXJzZWN0aW9uSW5kZXhdOw0KKyAgICAgICBpbnRlcklkeCA9IDA7 DQorICAgICAgIGludGVyQ291bnQgPSAwOw0KKyAgICAgICB3aGlsZSAoaW50ZXJJZHggPCBsaW5l LnNpemUoKSAmJiB4eCA8ICgqeDEgKyAxKSAqIHNwbGFzaEFBU2l6ZSkgew0KKy0tIA0KKzIuMTgu MQ0KKw0KZGlmZiAtLWdpdCBhL21haW4vcG9wcGxlci9DVkUtMjAxOS0xMjI5My5wYXRjaCBiL21h aW4vcG9wcGxlci9DVkUtMjAxOS0xMjI5My5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMDAuLjJhZDg2YTgzNTUNCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vcG9w cGxlci9DVkUtMjAxOS0xMjI5My5wYXRjaA0KQEAgLTAsMCArMSw0MSBAQA0KK0Zyb20gODlhNTM2 N2Q0OWIyNTU2YTI2MzVkYmI2ZDQ4ZDZhNmIxODJhMmM2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDENCitGcm9tOiBBbGJlcnQgQXN0YWxzIENpZCA8YWFjaWRAa2RlLm9yZz4NCitEYXRlOiBUaHUs IDIzIE1heSAyMDE5IDAwOjU0OjI5ICswMjAwDQorU3ViamVjdDogW1BBVENIXSBKUEVHMjAwMFN0 cmVhbTogZmFpbCBncmFjZWZ1bGx5IGlmIG5vdCBhbGwgY29tcG9uZW50cyBoYXZlDQorIHRoZSBz YW1lIFd4SA0KKw0KK0kgdGhpbmsgdGhpcyBpcyBqdXN0IGEgbWlzdGFrZSwgb3IgYXQgbGVhc3Qg dGhlIG9ubHkgZmlsZSB3ZSBoYXZlIHdpdGgNCit0aGlzIHNjZW5hcmlvIGlzIGEgZnV6emVkIG9u ZQ0KKy0tLQ0KKyBwb3BwbGVyL0pQRUcyMDAwU3RyZWFtLmNjIHwgOCArKysrKysrLQ0KKyAxIGZp bGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlmZiAtLWdp dCBhL3BvcHBsZXIvSlBFRzIwMDBTdHJlYW0uY2MgYi9wb3BwbGVyL0pQRUcyMDAwU3RyZWFtLmNj DQoraW5kZXggMTViYmNhZTQuLjBlZWEzYTJkIDEwMDY0NA0KKy0tLSBhL3BvcHBsZXIvSlBFRzIw MDBTdHJlYW0uY2MNCisrKysgYi9wb3BwbGVyL0pQRUcyMDAwU3RyZWFtLmNjDQorQEAgLTQsNyAr NCw3IEBADQorIC8vDQorIC8vIEEgSlBYIHN0cmVhbSBkZWNvZGVyIHVzaW5nIE9wZW5KUEVHDQor IC8vDQorLS8vIENvcHlyaWdodCAyMDA4LTIwMTAsIDIwMTIsIDIwMTcsIDIwMTggQWxiZXJ0IEFz dGFscyBDaWQgPGFhY2lkQGtkZS5vcmc+DQorKy8vIENvcHlyaWdodCAyMDA4LTIwMTAsIDIwMTIs IDIwMTctMjAxOSBBbGJlcnQgQXN0YWxzIENpZCA8YWFjaWRAa2RlLm9yZz4NCisgLy8gQ29weXJp Z2h0IDIwMTEgRGFuaWVsIEdsw7Zja25lciA8ZGFuaWVsLWdsQGdteC5uZXQ+DQorIC8vIENvcHly aWdodCAyMDE0LCAyMDE2IFRob21hcyBGcmVpdGFnIDxUaG9tYXMuRnJlaXRhZ0BhbGZhLmRlPg0K KyAvLyBDb3B5cmlnaHQgMjAxMywgMjAxNCBBZHJpYW4gSm9obnNvbiA8YWpvaG5zb25AcmVkbmVv bi5jb20+DQorQEAgLTI1Myw2ICsyNTMsMTIgQEAgdm9pZCBKUFhTdHJlYW06OmluaXQoKQ0KKyAg ICAgICAgIGNsb3NlKCk7DQorICAgICAgICAgYnJlYWs7DQorICAgICAgIH0NCisrICAgICAgY29u c3QgaW50IGNvbXBvbmVudFBpeGVscyA9IHByaXYtPmltYWdlLT5jb21wc1tjb21wb25lbnRdLncg KiBwcml2LT5pbWFnZS0+Y29tcHNbY29tcG9uZW50XS5oOw0KKysgICAgICBpZiAoY29tcG9uZW50 UGl4ZWxzICE9IHByaXYtPm5waXhlbHMpIHsNCisrICAgICAgICBlcnJvcihlcnJTeW50YXhXYXJu aW5nLCAtMSwgIkNvbXBvbmVudCB7MDpkfSBoYXMgZGlmZmVyZW50IFd4SCB0aGFuIGNvbXBvbmVu dCAwIiwgY29tcG9uZW50KTsNCisrICAgICAgICBjbG9zZSgpOw0KKysgICAgICAgIGJyZWFrOw0K KysgICAgICB9DQorICAgICAgIHVuc2lnbmVkIGNoYXIgKmNkYXRhID0gKHVuc2lnbmVkIGNoYXIg Kilwcml2LT5pbWFnZS0+Y29tcHNbY29tcG9uZW50XS5kYXRhOw0KKyAgICAgICBpbnQgYWRqdXN0 ID0gMDsNCisgICAgICAgaW50IGRlcHRoID0gcHJpdi0+aW1hZ2UtPmNvbXBzW2NvbXBvbmVudF0u cHJlYzsNCistLSANCisyLjIxLjANCisNCmRpZmYgLS1naXQgYS9tYWluL3BvcHBsZXIvQ1ZFLTIw MTktNzMxMC5wYXRjaCBiL21haW4vcG9wcGxlci9DVkUtMjAxOS03MzEwLnBhdGNoDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uY2ZmZDg4ZjIyNQ0KLS0tIC9kZXYvbnVs bA0KKysrIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTczMTAucGF0Y2gNCkBAIC0wLDAgKzEsMjkg QEANCitGcm9tIGI1NGUxZmMzZTBkMjYwMDYyMWEyOGQ1MGY5ZjA4NWI5ZTM4NjE5YzIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogQWRhbSBSZWljaG9sZCA8YWRhbS5yZWljaG9sZEB0 LW9ubGluZS5kZT4NCitEYXRlOiBGcmksIDEgRmViIDIwMTkgMDg6NDI6MjcgKzAxMDANCitTdWJq ZWN0OiBbUEFUQ0hdIEFsc28gZGVmZW5kIGFnYWluc3QgcmVxdWVzdHMgZm9yIG5lZ2F0aXZlIFhS ZWYgaW5kaWNlcy4NCisgb3NzLWZ1enovMTI3OTcNCisNCistLS0NCisgcG9wcGxlci9YUmVmLmNj IHwgNSArKysrKw0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspDQorDQorZGlmZiAt LWdpdCBhL3BvcHBsZXIvWFJlZi5jYyBiL3BvcHBsZXIvWFJlZi5jYw0KK2luZGV4IGQwNDJkMWY0 Li5hYzJjZDBjZSAxMDA2NDQNCistLS0gYS9wb3BwbGVyL1hSZWYuY2MNCisrKysgYi9wb3BwbGVy L1hSZWYuY2MNCitAQCAtMTU2NSw2ICsxNTY1LDExIEBAIER1bW15WFJlZkVudHJ5IGR1bW15WFJl ZkVudHJ5Ow0KKyANCisgWFJlZkVudHJ5ICpYUmVmOjpnZXRFbnRyeShpbnQgaSwgYm9vbCBjb21w bGFpbklmTWlzc2luZykNCisgew0KKysgIGlmICh1bmxpa2VseShpIDwgMCkpIHsNCisrICAgIGVy cm9yKGVyckludGVybmFsLCAtMSwgIlJlcXVlc3QgZm9yIGludmFsaWQgWFJlZiBlbnRyeSBbezA6 ZH1dIiwgaSk7DQorKyAgICByZXR1cm4gJmR1bW15WFJlZkVudHJ5Ow0KKysgIH0NCisrDQorICAg aWYgKGkgPj0gc2l6ZSB8fCBlbnRyaWVzW2ldLnR5cGUgPT0geHJlZkVudHJ5Tm9uZSkgew0KKyAN CisgICAgIGlmICgoIXhSZWZTdHJlYW0pICYmIG1haW5YUmVmRW50cmllc09mZnNldCkgew0KKy0t IA0KKzIuMTguMQ0KKw0KZGlmZiAtLWdpdCBhL21haW4vcG9wcGxlci9DVkUtMjAxOS05MjAwLnBh dGNoIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTkyMDAucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwLi5lM2Y4ZGE0MzIxDQotLS0gL2Rldi9udWxsDQorKysgYi9t YWluL3BvcHBsZXIvQ1ZFLTIwMTktOTIwMC5wYXRjaA0KQEAgLTAsMCArMSwyNCBAQA0KK0Zyb20g ZjQxMzZhNjM1MzE2MmRiMjQ5ZjYzZGRiMGYyMDYxMTYyMmFiNjFiNCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDENCitGcm9tOiBBbGJlcnQgQXN0YWxzIENpZCA8YWFjaWRAa2RlLm9yZz4NCitEYXRl OiBXZWQsIDI3IEZlYiAyMDE5IDE5OjQzOjIyICswMTAwDQorU3ViamVjdDogW1BBVENIXSBJbWFn ZVN0cmVhbTo6Z2V0TGluZTogZml4IGNyYXNoIG9uIGJyb2tlbiBmaWxlcw0KKw0KK0ZpeGVzICM3 MjgNCistLS0NCisgcG9wcGxlci9TdHJlYW0uY2MgfCAzICsrKw0KKyAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspDQorDQorZGlmZiAtYXVyIHBvcHBsZXItMC43MS4wLm9yaWcvcG9wcGxl ci9TdHJlYW0uY2MgcG9wcGxlci0wLjcxLjAvcG9wcGxlci9TdHJlYW0uY2MNCistLS0gcG9wcGxl ci0wLjcxLjAub3JpZy9wb3BwbGVyL1N0cmVhbS5jYwkyMDE4LTEwLTMxIDIyOjEzOjE3LjAwMDAw MDAwMCArMDEwMA0KKysrKyBwb3BwbGVyLTAuNzEuMC9wb3BwbGVyL1N0cmVhbS5jYwkyMDE5LTA1 LTEwIDE4OjA0OjU1LjgwOTI2Mzk2NCArMDIwMA0KK0BAIC00NzYsNiArNDc2LDkgQEANCisgICB9 DQorICANCisgICBpbnQgcmVhZENoYXJzID0gc3RyLT5kb0dldENoYXJzKGlucHV0TGluZVNpemUs IGlucHV0TGluZSk7DQorKyAgaWYgKHVubGlrZWx5KHJlYWRDaGFycyA9PSAtMSkpIHsNCisrICAg ICAgcmVhZENoYXJzID0gMDsNCisrICB9DQorICAgZm9yICggOyByZWFkQ2hhcnMgPCBpbnB1dExp bmVTaXplOyByZWFkQ2hhcnMrKykgaW5wdXRMaW5lW3JlYWRDaGFyc10gPSBFT0Y7DQorICAgaWYg KG5CaXRzID09IDEpIHsNCisgICAgIEd1Y2hhciAqcCA9IGlucHV0TGluZTsNCisNCmRpZmYgLS1n aXQgYS9tYWluL3BvcHBsZXIvQ1ZFLTIwMTktOTYzMS5wYXRjaCBiL21haW4vcG9wcGxlci9DVkUt MjAxOS05NjMxLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4u MzAxMTE2MDNjOQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL0NWRS0yMDE5LTk2 MzEucGF0Y2gNCkBAIC0wLDAgKzEsMTAwIEBADQorRnJvbSA4MTIyZjZkNmQ0MDliNTMxNTFhMjBj NTU3OGZjNTI1ZWU5NzMxNWU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IE1hcmVr IEthc2lrIDxta2FzaWtAcmVkaGF0LmNvbT4NCitEYXRlOiBUaHUsIDIxIE1hciAyMDE5IDEzOjQ3 OjUxICswMTAwDQorU3ViamVjdDogW1BBVENIXSBjYWlybzogQ29uc3RyYWluIG51bWJlciBvZiBj eWNsZXMgaW4gcmVzY2FsZSBmaWx0ZXINCisNCitQYXNzIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IGJ5 dGUgYWZ0ZXIgZW5kIG9mIHRoZSBzb3VyY2UgYnVmZmVyDQordG8gZG93bnNhbXBsZV9yb3dfYm94 X2ZpbHRlcigpIHNvIHRoYXQgd2UgY2FuIGNoZWNrDQordGhhdCB3ZSBkb24ndCBydW4gb3V0IG9m IGl0Lg0KKw0KK0ZpeGVzIGlzc3VlICM3MzYNCistLS0NCisgcG9wcGxlci9DYWlyb1Jlc2NhbGVC b3guY2MgfCAxOCArKysrKysrKystLS0tLS0tLS0NCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0 aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvcG9wcGxlci9DYWlyb1Jl c2NhbGVCb3guY2MgYi9wb3BwbGVyL0NhaXJvUmVzY2FsZUJveC5jYw0KK2luZGV4IGQ3NjE1MDEw Li43ZmQwNzA0MSAxMDA2NDQNCistLS0gYS9wb3BwbGVyL0NhaXJvUmVzY2FsZUJveC5jYw0KKysr KyBiL3BvcHBsZXIvQ2Fpcm9SZXNjYWxlQm94LmNjDQorQEAgLTYyLDcgKzYyLDcgQEANCisgDQor IHN0YXRpYyB2b2lkIGRvd25zYW1wbGVfcm93X2JveF9maWx0ZXIgKA0KKyAgICAgICAgIGludCBz dGFydCwgaW50IHdpZHRoLA0KKy0gICAgICAgIHVpbnQzMl90ICpzcmMsIHVpbnQzMl90ICpkZXN0 LA0KKysgICAgICAgIHVpbnQzMl90ICpzcmMsIHVpbnQzMl90ICpzcmNfbGltaXQsIHVpbnQzMl90 ICpkZXN0LA0KKyAgICAgICAgIGludCBjb3ZlcmFnZVtdLCBpbnQgcGl4ZWxfY292ZXJhZ2UpDQor IHsNCisgICAgIC8qIHdlIG5lZWQgYW4gYXJyYXkgb2YgdGhlIHBpeGVsIGNvbnRyaWJ1dGlvbiBv ZiBlYWNoIGRlc3RpbmF0aW9uIHBpeGVsIG9uIHRoZSBib3VuZGFyaWVzLg0KK0BAIC05MCwxMyAr OTAsMTMgQEAgc3RhdGljIHZvaWQgZG93bnNhbXBsZV9yb3dfYm94X2ZpbHRlciAoDQorICAgICAv KiBza2lwIHRvIHN0YXJ0ICovDQorICAgICAvKiBYWFg6IGl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRv IGRvIHRoaXMgZGlyZWN0bHkgaW5zdGVhZCBvZiBpdGVyYXRpdmVseSwgaG93ZXZlcg0KKyAgICAg ICogdGhlIGl0ZXJhdGl2ZSBzb2x1dGlvbiBpcyBzaW1wbGUgKi8NCistICAgIHdoaWxlICh4IDwg c3RhcnQpDQorKyAgICB3aGlsZSAoeCA8IHN0YXJ0ICYmIHNyYyA8IHNyY19saW1pdCkNCisgICAg IHsNCisgICAgICAgICBpbnQgYm94ID0gMSA8PCBGSVhFRF9TSElGVDsNCisgICAgICAgICBpbnQg c3RhcnRfY292ZXJhZ2UgPSBjb3ZlcmFnZVt4XTsNCisgICAgICAgICBib3ggLT0gc3RhcnRfY292 ZXJhZ2U7DQorICAgICAgICAgc3JjKys7DQorLSAgICAgICAgd2hpbGUgKGJveCA+PSBwaXhlbF9j b3ZlcmFnZSkNCisrICAgICAgICB3aGlsZSAoYm94ID49IHBpeGVsX2NvdmVyYWdlICYmIHNyYyA8 IHNyY19saW1pdCkNCisgICAgICAgICB7DQorICAgICAgICAgICAgIHNyYysrOw0KKyAgICAgICAg ICAgICBib3ggLT0gcGl4ZWxfY292ZXJhZ2U7DQorQEAgLTEwNCw3ICsxMDQsNyBAQCBzdGF0aWMg dm9pZCBkb3duc2FtcGxlX3Jvd19ib3hfZmlsdGVyICgNCisgICAgICAgICB4Kys7DQorICAgICB9 DQorIA0KKy0gICAgd2hpbGUgKHggPCBzdGFydCArIHdpZHRoKQ0KKysgICAgd2hpbGUgKHggPCBz dGFydCArIHdpZHRoICYmIHNyYyA8IHNyY19saW1pdCkNCisgICAgIHsNCisgICAgICAgICB1aW50 MzJfdCBhID0gMDsNCisgICAgICAgICB1aW50MzJfdCByID0gMDsNCitAQCAtMTIxLDcgKzEyMSw3 IEBAIHN0YXRpYyB2b2lkIGRvd25zYW1wbGVfcm93X2JveF9maWx0ZXIgKA0KKyAgICAgICAgIHgr KzsNCisgICAgICAgICBib3ggLT0gc3RhcnRfY292ZXJhZ2U7DQorIA0KKy0gICAgICAgIHdoaWxl IChib3ggPj0gcGl4ZWxfY292ZXJhZ2UpDQorKyAgICAgICAgd2hpbGUgKGJveCA+PSBwaXhlbF9j b3ZlcmFnZSAmJiBzcmMgPCBzcmNfbGltaXQpDQorICAgICAgICAgew0KKyAgICAgICAgICAgICBh ICs9ICgoKnNyYyA+PiAyNCkgJiAweGZmKSAqIHBpeGVsX2NvdmVyYWdlOw0KKyAgICAgICAgICAg ICByICs9ICgoKnNyYyA+PiAxNikgJiAweGZmKSAqIHBpeGVsX2NvdmVyYWdlOw0KK0BAIC0xMzUs NyArMTM1LDcgQEAgc3RhdGljIHZvaWQgZG93bnNhbXBsZV9yb3dfYm94X2ZpbHRlciAoDQorICAg ICAgICAgLyogbXVsdGlwbHkgYnkgd2hhdGV2ZXIgaXMgbGVmdG92ZXINCisgICAgICAgICAgKiB0 aGlzIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBiaWFzIGRvd24uDQorICAgICAgICAgICogaS5lLiBz dGFydF9jb3ZlcmFnZSArIG4qcGl4ZWxfY292ZXJhZ2UgKyBib3ggPT0gMSA8PCAyNCAqLw0KKy0g ICAgICAgIGlmIChib3ggPiAwKQ0KKysgICAgICAgIGlmIChib3ggPiAwICYmIHNyYyA8IHNyY19s aW1pdCkNCisgICAgICAgICB7DQorICAgICAgICAgICAgIGEgKz0gKCgqc3JjID4+IDI0KSAmIDB4 ZmYpICogYm94Ow0KKyAgICAgICAgICAgICByICs9ICgoKnNyYyA+PiAxNikgJiAweGZmKSAqIGJv eDsNCitAQCAtMzM3LDcgKzMzNyw3IEBAIGJvb2wgQ2Fpcm9SZXNjYWxlQm94Ojpkb3duU2NhbGVJ bWFnZSh1bnNpZ25lZCBvcmlnX3dpZHRoLCB1bnNpZ25lZCBvcmlnX2hlaWdodCwNCisgICAgIGlu dCBzdGFydF9jb3ZlcmFnZV95ID0geV9jb3ZlcmFnZVtkZXN0X3ldOw0KKyANCisgICAgIGdldFJv dyhzcmNfeSwgc2NhbmxpbmUpOw0KKy0gICAgZG93bnNhbXBsZV9yb3dfYm94X2ZpbHRlciAoc3Rh cnRfY29sdW1uLCB3aWR0aCwgc2NhbmxpbmUsIHRlbXBfYnVmICsgd2lkdGggKiBjb2x1bW5zLCB4 X2NvdmVyYWdlLCBwaXhlbF9jb3ZlcmFnZV94KTsNCisrICAgIGRvd25zYW1wbGVfcm93X2JveF9m aWx0ZXIgKHN0YXJ0X2NvbHVtbiwgd2lkdGgsIHNjYW5saW5lLCBzY2FubGluZSArIG9yaWdfd2lk dGgsIHRlbXBfYnVmICsgd2lkdGggKiBjb2x1bW5zLCB4X2NvdmVyYWdlLCBwaXhlbF9jb3ZlcmFn ZV94KTsNCisgICAgIGNvbHVtbnMrKzsNCisgICAgIHNyY195Kys7DQorICAgICBib3ggLT0gc3Rh cnRfY292ZXJhZ2VfeTsNCitAQCAtMzQ1LDcgKzM0NSw3IEBAIGJvb2wgQ2Fpcm9SZXNjYWxlQm94 Ojpkb3duU2NhbGVJbWFnZSh1bnNpZ25lZCBvcmlnX3dpZHRoLCB1bnNpZ25lZCBvcmlnX2hlaWdo dCwNCisgICAgIHdoaWxlIChib3ggPj0gcGl4ZWxfY292ZXJhZ2VfeSkNCisgICAgIHsNCisgICAg ICAgZ2V0Um93KHNyY195LCBzY2FubGluZSk7DQorLSAgICAgIGRvd25zYW1wbGVfcm93X2JveF9m aWx0ZXIgKHN0YXJ0X2NvbHVtbiwgd2lkdGgsIHNjYW5saW5lLCB0ZW1wX2J1ZiArIHdpZHRoICog Y29sdW1ucywgeF9jb3ZlcmFnZSwgcGl4ZWxfY292ZXJhZ2VfeCk7DQorKyAgICAgIGRvd25zYW1w bGVfcm93X2JveF9maWx0ZXIgKHN0YXJ0X2NvbHVtbiwgd2lkdGgsIHNjYW5saW5lLCBzY2FubGlu ZSArIG9yaWdfd2lkdGgsIHRlbXBfYnVmICsgd2lkdGggKiBjb2x1bW5zLCB4X2NvdmVyYWdlLCBw aXhlbF9jb3ZlcmFnZV94KTsNCisgICAgICAgY29sdW1ucysrOw0KKyAgICAgICBzcmNfeSsrOw0K KyAgICAgICBib3ggLT0gcGl4ZWxfY292ZXJhZ2VfeTsNCitAQCAtMzU1LDcgKzM1NSw3IEBAIGJv b2wgQ2Fpcm9SZXNjYWxlQm94Ojpkb3duU2NhbGVJbWFnZSh1bnNpZ25lZCBvcmlnX3dpZHRoLCB1 bnNpZ25lZCBvcmlnX2hlaWdodCwNCisgICAgIGlmIChib3ggPiAwKQ0KKyAgICAgew0KKyAgICAg ICBnZXRSb3coc3JjX3ksIHNjYW5saW5lKTsNCistICAgICAgZG93bnNhbXBsZV9yb3dfYm94X2Zp bHRlciAoc3RhcnRfY29sdW1uLCB3aWR0aCwgc2NhbmxpbmUsIHRlbXBfYnVmICsgd2lkdGggKiBj b2x1bW5zLCB4X2NvdmVyYWdlLCBwaXhlbF9jb3ZlcmFnZV94KTsNCisrICAgICAgZG93bnNhbXBs ZV9yb3dfYm94X2ZpbHRlciAoc3RhcnRfY29sdW1uLCB3aWR0aCwgc2NhbmxpbmUsIHNjYW5saW5l ICsgb3JpZ193aWR0aCwgdGVtcF9idWYgKyB3aWR0aCAqIGNvbHVtbnMsIHhfY292ZXJhZ2UsIHBp eGVsX2NvdmVyYWdlX3gpOw0KKyAgICAgICBjb2x1bW5zKys7DQorICAgICB9DQorIA0KKy0tIA0K KzIuMTguMQ0KKw0KZGlmZiAtLWdpdCBhL21haW4vcG9wcGxlci9idWc5MjQwMjktZ29vc3RyaW5n LW51bGwtcG9pbnRlcnMucGF0Y2ggYi9tYWluL3BvcHBsZXIvYnVnOTI0MDI5LWdvb3N0cmluZy1u dWxsLXBvaW50ZXJzLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAw MC4uYzM5MzkyYWJhNA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL2J1ZzkyNDAy OS1nb29zdHJpbmctbnVsbC1wb2ludGVycy5wYXRjaA0KQEAgLTAsMCArMSw5NyBAQA0KK1N1Ympl Y3Q6IE1ha2UgR29vU3RyaW5nIGNvbnN0cnVjdGlibGUgYW5kIGFzc2lnbmFibGUgZnJvbSBudWxs IHBvaW50ZXJzIGFnYWluDQorIHNpbmNlIHNvbWUgb2YgdGhlIGNvZGUgZXhwZWN0cyBpdC4NCitP cmlnaW46IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb3BwbGVyL3BvcHBsZXIvY29t bWl0LzhmMTU4ZGE5MmM1M2FlMTZhMzY4Zjg0NDk2NWY1N2JhOGZmZWQ3N2QNCitCdWc6IGh0dHBz Oi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb3BwbGVyL3BvcHBsZXIvY29tbWl0LzhmMTU4ZGE5 MmM1M2FlMTZhMzY4Zjg0NDk2NWY1N2JhOGZmZWQ3N2QNCitCdWctRGViaWFuOiBodHRwczovL2J1 Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTkyNDAyOQ0KK1Jldmlld2Vk LWJ5OiBKb25hdGhhbiBXaWx0c2hpcmUgPGptd0BkZWJpYW4ub3JnPg0KK0FwcGxpZWQtVXBzdHJl YW06IHllcw0KK0xhc3QtVXBkYXRlOiAyMDE5LTA1LTI1DQorDQorLS0tIHBvcHBsZXItMC43MS4w Lm9yaWcvZ29vL0dvb1N0cmluZy5oDQorKysrIHBvcHBsZXItMC43MS4wL2dvby9Hb29TdHJpbmcu aA0KK0BAIC02MCw3ICs2MCw3IEBADQorICAgR29vU3RyaW5nJiBvcGVyYXRvcj0oY29uc3QgR29v U3RyaW5nICZvdGhlcikgPSBkZWxldGU7DQorIA0KKyAgIC8vIENyZWF0ZSBhIHN0cmluZyBmcm9t IGEgQyBzdHJpbmcuDQorLSAgZXhwbGljaXQgR29vU3RyaW5nKGNvbnN0IGNoYXIgKnNBKSA6IHN0 ZDo6c3RyaW5nKHNBKSB7fQ0KKysgIGV4cGxpY2l0IEdvb1N0cmluZyhjb25zdCBjaGFyICpzQSkg OiBzdGQ6OnN0cmluZyhzQSA/IHNBIDogIiIpIHt9DQorIA0KKyAgIC8vIFplcm8tY29zdCBjb252 ZXJzaW9uIGZyb20gYW5kIHRvIHN0ZDo6c3RyaW5nDQorICAgZXhwbGljaXQgR29vU3RyaW5nKGNv bnN0IHN0ZDo6c3RyaW5nJiBzdHIpIDogc3RkOjpzdHJpbmcoc3RyKSB7fQ0KK0BAIC03MCwxOCAr NzAsMTggQEANCisgDQorICAgLy8gQ3JlYXRlIGEgc3RyaW5nIGZyb20gPGxlbmd0aEE+IGNoYXJz IGF0IDxzQT4uICBUaGlzIHN0cmluZw0KKyAgIC8vIGNhbiBjb250YWluIG51bGwgY2hhcmFjdGVy cy4NCistICBHb29TdHJpbmcoY29uc3QgY2hhciAqc0EsIGludCBsZW5ndGhBKSA6IHN0ZDo6c3Ry aW5nKHNBLCBsZW5ndGhBKSB7fQ0KKysgIEdvb1N0cmluZyhjb25zdCBjaGFyICpzQSwgaW50IGxl bmd0aEEpIDogc3RkOjpzdHJpbmcoc0EgPyBzQSA6ICIiLCBzQSA/IGxlbmd0aEEgOiAwKSB7fQ0K KyANCisgICAvLyBDcmVhdGUgYSBzdHJpbmcgZnJvbSA8bGVuZ3RoQT4gY2hhcnMgYXQgPGlkeD4g aW4gPHN0cj4uDQorICAgR29vU3RyaW5nKGNvbnN0IEdvb1N0cmluZyAqc3RyLCBpbnQgaWR4LCBp bnQgbGVuZ3RoQSkgOiBzdGQ6OnN0cmluZygqc3RyLCBpZHgsIGxlbmd0aEEpIHt9DQorIA0KKyAg IC8vIFNldCBjb250ZW50IG9mIGEgc3RyaW5nIHRvIDxuZXdTdHI+Lg0KKy0gIEdvb1N0cmluZyog U2V0KGNvbnN0IEdvb1N0cmluZyAqbmV3U3RyKSB7IGFzc2lnbigqbmV3U3RyKTsgcmV0dXJuIHRo aXM7IH0NCistICBHb29TdHJpbmcqIFNldChjb25zdCBjaGFyICpuZXdTdHIpIHsgYXNzaWduKG5l d1N0cik7IHJldHVybiB0aGlzOyB9DQorLSAgR29vU3RyaW5nKiBTZXQoY29uc3QgY2hhciAqbmV3 U3RyLCBpbnQgbmV3TGVuKSB7IGFzc2lnbihuZXdTdHIsIG5ld0xlbik7IHJldHVybiB0aGlzOyB9 DQorKyAgR29vU3RyaW5nKiBTZXQoY29uc3QgR29vU3RyaW5nICpuZXdTdHIpIHsgYXNzaWduKG5l d1N0ciA/IHN0YXRpY19jYXN0PGNvbnN0IHN0ZDo6c3RyaW5nJj4oKm5ld1N0cikgOiBzdGQ6OnN0 cmluZ3t9KTsgcmV0dXJuIHRoaXM7IH0NCisrICBHb29TdHJpbmcqIFNldChjb25zdCBjaGFyICpu ZXdTdHIpIHsgYXNzaWduKG5ld1N0ciA/IG5ld1N0ciA6ICIiKTsgcmV0dXJuIHRoaXM7IH0NCisr ICBHb29TdHJpbmcqIFNldChjb25zdCBjaGFyICpuZXdTdHIsIGludCBuZXdMZW4pIHsgYXNzaWdu KG5ld1N0ciA/IG5ld1N0ciA6ICIiLCBuZXdTdHIgPyBuZXdMZW4gOiAwKTsgcmV0dXJuIHRoaXM7 IH0NCisgDQorICAgLy8gQ29weSBhIHN0cmluZy4NCistICBleHBsaWNpdCBHb29TdHJpbmcoY29u c3QgR29vU3RyaW5nICpzdHIpIDogc3RkOjpzdHJpbmcoKnN0cikge30NCisrICBleHBsaWNpdCBH b29TdHJpbmcoY29uc3QgR29vU3RyaW5nICpzdHIpIDogc3RkOjpzdHJpbmcoc3RyID8gc3RhdGlj X2Nhc3Q8Y29uc3Qgc3RkOjpzdHJpbmcmPigqc3RyKSA6IHN0ZDo6c3RyaW5ne30pIHt9DQorICAg R29vU3RyaW5nICpjb3B5KCkgY29uc3QgeyByZXR1cm4gbmV3IEdvb1N0cmluZyh0aGlzKTsgfQ0K KyANCisgICAvLyBDb25jYXRlbmF0ZSB0d28gc3RyaW5ncy4NCistLS0gcG9wcGxlci0wLjcxLjAu b3JpZy9xdDUvdGVzdHMvY2hlY2tfZ29vc3RyaW5nLmNwcA0KKysrKyBwb3BwbGVyLTAuNzEuMC9x dDUvdGVzdHMvY2hlY2tfZ29vc3RyaW5nLmNwcA0KK0BAIC0xMSw2ICsxMSw3IEBADQorICAgICB2 b2lkIHRlc3RJbnNlcnREYXRhKCk7DQorICAgICB2b2lkIHRlc3RJbnNlcnQoKTsNCisgICAgIHZv aWQgdGVzdEZvcm1hdCgpOw0KKysgICAgdm9pZCB0ZXN0RnJvbU51bGxwdHIoKTsNCisgfTsNCisg DQorIHZvaWQgVGVzdEdvb1N0cmluZzo6dGVzdEluc2VydERhdGFfZGF0YSgpDQorQEAgLTEyMiw2 ICsxMjMsNDIgQEANCisgICAgIH0NCisgfQ0KKyANCisrdm9pZCBUZXN0R29vU3RyaW5nOjp0ZXN0 RnJvbU51bGxwdHIoKQ0KKyt7DQorKyAgew0KKysgICAgR29vU3RyaW5nIHN0cntzdGF0aWNfY2Fz dDxjb25zdCBHb29TdHJpbmcqPihudWxscHRyKX07DQorKyAgICBRQ09NUEFSRShzdHIuZ2V0TGVu Z3RoKCksIDApOw0KKysgIH0NCisrDQorKyAgew0KKysgICAgR29vU3RyaW5nIHN0cjsNCisrICAg IHN0ci5TZXQoc3RhdGljX2Nhc3Q8Y29uc3QgR29vU3RyaW5nKj4obnVsbHB0cikpOw0KKysgICAg UUNPTVBBUkUoc3RyLmdldExlbmd0aCgpLCAwKTsNCisrICB9DQorKw0KKysgIHsNCisrICAgIEdv b1N0cmluZyBzdHJ7c3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KG51bGxwdHIpfTsNCisrICAgIFFD T01QQVJFKHN0ci5nZXRMZW5ndGgoKSwgMCk7DQorKyAgfQ0KKysNCisrICB7DQorKyAgICBHb29T dHJpbmcgc3Rye3N0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihudWxscHRyKSwgMH07DQorKyAgICBR Q09NUEFSRShzdHIuZ2V0TGVuZ3RoKCksIDApOw0KKysgIH0NCisrDQorKyAgew0KKysgICAgR29v U3RyaW5nIHN0cjsNCisrICAgIHN0ci5TZXQoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KG51bGxw dHIpKTsNCisrICAgIFFDT01QQVJFKHN0ci5nZXRMZW5ndGgoKSwgMCk7DQorKyAgfQ0KKysNCisr ICB7DQorKyAgICBHb29TdHJpbmcgc3RyOw0KKysgICAgc3RyLlNldChzdGF0aWNfY2FzdDxjb25z dCBjaGFyKj4obnVsbHB0ciksIDApOw0KKysgICAgUUNPTVBBUkUoc3RyLmdldExlbmd0aCgpLCAw KTsNCisrICB9DQorK30NCisrDQorIFFURVNUX0dVSUxFU1NfTUFJTihUZXN0R29vU3RyaW5nKQ0K KyAjaW5jbHVkZSAiY2hlY2tfZ29vc3RyaW5nLm1vYyINCisgDQpkaWZmIC0tZ2l0IGEvbWFpbi9w b3BwbGVyL2dsaWItRG9uLXQtY3JlYXRlLVBvcHBsZXJJbnB1dFN0cmVhbS13aXRoLWxlbmd0aC0w LnBhdGNoIGIvbWFpbi9wb3BwbGVyL2dsaWItRG9uLXQtY3JlYXRlLVBvcHBsZXJJbnB1dFN0cmVh bS13aXRoLWxlbmd0aC0wLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMC4uYzU5ZGUwMzY3Nw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9wb3BwbGVyL2dsaWIt RG9uLXQtY3JlYXRlLVBvcHBsZXJJbnB1dFN0cmVhbS13aXRoLWxlbmd0aC0wLnBhdGNoDQpAQCAt MCwwICsxLDM2IEBADQorRnJvbTogU2ltb24gTWNWaXR0aWUgPHNtY3ZAZGViaWFuLm9yZz4NCitE YXRlOiBUaHUsIDE0IEZlYiAyMDE5IDA5OjQzOjMyICswMDAwDQorU3ViamVjdDogZ2xpYjogRG9u J3QgY3JlYXRlIFBvcHBsZXJJbnB1dFN0cmVhbSB3aXRoIGxlbmd0aCAwDQorDQorU2luY2UgY29t bWl0IGE1OWY2MTY0LCBQb3BwbGVySW5wdXRTdHJlYW0gcmVxdWlyZXMgYSBub256ZXJvIGxlbmd0 aC4NCisNCitMb29zZWx5IGJhc2VkIG9uIGFuIGVhcmxpZXIgcGF0Y2ggYnkgS291aGVpIFN1dG91 LiBUaGlzIHZlcnNpb24gYWRkcw0KK3N1cHBvcnQgZm9yIGxlbmd0aCA9PSAtMSwgd2hpY2ggaXMg ZG9jdW1lbnRlZCB0byB3b3JrLg0KKw0KK0J1ZzogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Au b3JnL3BvcHBsZXIvcG9wcGxlci9pc3N1ZXMvNDE0DQorQnVnLURlYmlhbjogaHR0cHM6Ly9idWdz LmRlYmlhbi5vcmcvODk2NTk2DQorRm9yd2FyZGVkOiBodHRwczovL2dpdGxhYi5mcmVlZGVza3Rv cC5vcmcvcG9wcGxlci9wb3BwbGVyL21lcmdlX3JlcXVlc3RzLzE4OQ0KKy0tLQ0KKyBnbGliL3Bv cHBsZXItZG9jdW1lbnQuY2MgfCA5ICsrKysrKysrLQ0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL2dsaWIvcG9wcGxlci1k b2N1bWVudC5jYyBiL2dsaWIvcG9wcGxlci1kb2N1bWVudC5jYw0KK2luZGV4IGVkMzdkYTRjLi5l MDRjOGI0MiAxMDA2NDQNCistLS0gYS9nbGliL3BvcHBsZXItZG9jdW1lbnQuY2MNCisrKysgYi9n bGliL3BvcHBsZXItZG9jdW1lbnQuY2MNCitAQCAtMzA5LDcgKzMwOSwxNCBAQCBwb3BwbGVyX2Rv Y3VtZW50X25ld19mcm9tX3N0cmVhbSAoR0lucHV0U3RyZWFtICpzdHJlYW0sDQorICAgfQ0KKyAN CisgICBpZiAoc3RyZWFtX2lzX21lbW9yeV9idWZmZXJfb3JfbG9jYWxfZmlsZShzdHJlYW0pKSB7 DQorLSAgICBzdHIgPSBuZXcgUG9wcGxlcklucHV0U3RyZWFtKHN0cmVhbSwgY2FuY2VsbGFibGUs IDAsIGZhbHNlLCAwLCBPYmplY3Qob2JqTnVsbCkpOw0KKysgICAgaWYgKGxlbmd0aCA9PSAoZ29m ZnNldCktMSkgew0KKysgICAgICBpZiAoIWdfc2Vla2FibGVfc2VlayhHX1NFRUtBQkxFKHN0cmVh bSksIDAsIEdfU0VFS19FTkQsIGNhbmNlbGxhYmxlLCBlcnJvcikpIHsNCisrICAgICAgICBnX3By ZWZpeF9lcnJvcihlcnJvciwgIlVuYWJsZSB0byBkZXRlcm1pbmUgbGVuZ3RoIG9mIHN0cmVhbTog Iik7DQorKyAgICAgICAgcmV0dXJuIG51bGxwdHI7DQorKyAgICAgIH0NCisrICAgICAgbGVuZ3Ro ID0gZ19zZWVrYWJsZV90ZWxsKEdfU0VFS0FCTEUoc3RyZWFtKSk7DQorKyAgICB9DQorKyAgICBz dHIgPSBuZXcgUG9wcGxlcklucHV0U3RyZWFtKHN0cmVhbSwgY2FuY2VsbGFibGUsIDAsIGZhbHNl LCBsZW5ndGgsIE9iamVjdChvYmpOdWxsKSk7DQorICAgfSBlbHNlIHsNCisgICAgIENhY2hlZEZp bGUgKmNhY2hlZEZpbGUgPSBuZXcgQ2FjaGVkRmlsZShuZXcgUG9wcGxlckNhY2hlZEZpbGVMb2Fk ZXIoc3RyZWFtLCBjYW5jZWxsYWJsZSwgbGVuZ3RoKSwgbmV3IEdvb1N0cmluZygpKTsNCisgICAg IHN0ciA9IG5ldyBDYWNoZWRGaWxlU3RyZWFtKGNhY2hlZEZpbGUsIDAsIGZhbHNlLCBjYWNoZWRG aWxlLT5nZXRMZW5ndGgoKSwgT2JqZWN0KG9iak51bGwpKTsNCmRpZmYgLS1naXQgYS9tYWluL3Bv cHBsZXIvcGFnZS11c3RyaW5nLnBhdGNoIGIvbWFpbi9wb3BwbGVyL3BhZ2UtdXN0cmluZy5wYXRj aA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjhiMGExYmE1OGYNCi0t LSAvZGV2L251bGwNCisrKyBiL21haW4vcG9wcGxlci9wYWdlLXVzdHJpbmcucGF0Y2gNCkBAIC0w LDAgKzEsMjkgQEANCitGcm9tIGE0ZmFkNzNjODZhMmVhYmUwMDRlN2NiYWE4YzljMGZmNDIxNDYz NzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogQWxiZXJ0IEFzdGFscyBDaWQgPGFh Y2lkQGtkZS5vcmc+DQorRGF0ZTogVGh1LCA2IERlYyAyMDE4IDE4OjI3OjA0ICswMTAwDQorU3Vi amVjdDogW1BBVENIXSBjcHA6IEZpeCBwYWdlOjp0ZXh0X2xpc3QgZW5jb2RpbmcgaXNzdWUNCisN CitUZXh0IGZyb20gVGV4dG91dHB1dERldiBhbHdheXMgY29tZXMgaW4gVVRGLTgNCisNCitXZWxs IGl0IGNvbWVzIGluIEdsb2JhbFBhcmFtczo6dGV4dEVuY29kaW5nIGJ1dCB0aGF0IGlzIFVURi04 IGFuZCB3ZQ0KK2Rvbid0IGxldCBwZW9wbGUgY2hhbmdlIGl0DQorLS0tDQorIGNwcC9wb3BwbGVy LXBhZ2UuY3BwIHwgMiArLQ0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkNCisNCitkaWZmIC0tZ2l0IGEvY3BwL3BvcHBsZXItcGFnZS5jcHAgYi9jcHAvcG9w cGxlci1wYWdlLmNwcA0KK2luZGV4IDlkOTUyNmNjLi5jNDk1NTQ3MSAxMDA2NDQNCistLS0gYS9j cHAvcG9wcGxlci1wYWdlLmNwcA0KKysrKyBiL2NwcC9wb3BwbGVyLXBhZ2UuY3BwDQorQEAgLTM2 NSw3ICszNjUsNyBAQCBzdGQ6OnZlY3Rvcjx0ZXh0X2JveD4gcGFnZTo6dGV4dF9saXN0KCkgY29u c3QNCisgICAgICAgICAgICAgVGV4dFdvcmQgKndvcmQgPSB3b3JkX2xpc3QtPmdldChpKTsNCisg DQorICAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxHb29TdHJpbmc+IGdvb1dvcmR7d29yZC0+ Z2V0VGV4dCgpfTsNCistICAgICAgICAgICAgdXN0cmluZyB1c3RyID0gZGV0YWlsOjp1bmljb2Rl X0dvb1N0cmluZ190b191c3RyaW5nKGdvb1dvcmQuZ2V0KCkpOw0KKysgICAgICAgICAgICB1c3Ry aW5nIHVzdHIgPSB1c3RyaW5nOjpmcm9tX3V0ZjgoZ29vV29yZC0+Z2V0Q1N0cmluZygpKTsNCisg DQorICAgICAgICAgICAgIGRvdWJsZSB4TWluLCB5TWluLCB4TWF4LCB5TWF4Ow0KKyAgICAgICAg ICAgICB3b3JkLT5nZXRCQm94KCZ4TWluLCAmeU1pbiwgJnhNYXgsICZ5TWF4KTsNCistLSANCisy LjE4LjENCisNCi0tIA0KMi4yMi4wDQoNCg0KDQotLS0NClVuc3Vic2NyaWJlOiAgYWxwaW5lLWFw b3J0cyt1bnN1YnNjcmliZUBsaXN0cy5hbHBpbmVsaW51eC5vcmcNCkhlbHA6ICAgICAgICAgYWxw aW5lLWFwb3J0cytoZWxwQGxpc3RzLmFscGluZWxpbnV4Lm9yZw0KLS0tDQo=