From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Rich Mattes To: git-commits@fedoraproject.org Subject: [rpms/pcl] f44: Update to PCL-1.15.0 Date: Thu, 25 Jun 2026 05:50:31 GMT Message-ID: <178236663156.1.823463520180808334.rpms-pcl-1cd474718732@fedoraproject.org> List-ID: X-Git-Repo: rpms/pcl X-Git-Branch: f44 X-Git-Rev: 1cd4747187324a2a49c3eba53caddd5c5a9d7380 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcGNsCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBDb21t aXQgOiAxY2Q0NzQ3MTg3MzI0YTJhNDljM2ViYTUzY2FkZGQ1YzVhOWQ3MzgwCiAgICAgICAgICAg IEF1dGhvciA6IFJpY2ggTWF0dGVzIDxyaWNobWF0dGVzQGdtYWlsLmNvbT4KICAgICAgICAgICAg RGF0ZSAgIDogMjAyNS0wMy0xNVQyMTowMzozMy0wNDowMAogICAgICAgICAgICBTdGF0cyAgOiAr MTEwLy02MDIgaW4gMTAgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5m ZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3BjbC9jLzFjZDQ3NDcxODczMjRhMmE0OWMzZWJhNTNjYWRk ZDVjNWE5ZDczODA/YnJhbmNoPWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBVcGRh dGUgdG8gUENMLTEuMTUuMAoKUmVzb2x2ZXMgIzIzNDcxMTUsIzIzNDEwMDl3cQoKLS0tCmRpZmYg LS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBkYTAzYWI4Li5hOTVkNjZhIDEw MDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTE2LDMgKzE2LDQgQEAK IC9wY2wtMS4xMS4wLWZlZG9yYS50YXIueHoKIC9wY2wtMS4xMS4xLWZlZG9yYS50YXIueHoKIC9w Y2wtMS4xMi4wLWZlZG9yYS50YXIueHoKKy9wY2wtMS4xNS4wLnRhci5negoKZGlmZiAtLWdpdCBh L3BjbC0xLjExLjAtc3BoaW54LnBhdGNoIGIvcGNsLTEuMTEuMC1zcGhpbngucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NDJhYzQuLjAwMDAwMDAKLS0tIGEvcGNsLTEuMTEu MC1zcGhpbngucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1kaWZmIC11cCAu L2RvYy9hZHZhbmNlZC9jb250ZW50L2NvbmYucHkuc3BoaW54IC4vZG9jL2FkdmFuY2VkL2NvbnRl bnQvY29uZi5weQotLS0tIC4vZG9jL2FkdmFuY2VkL2NvbnRlbnQvY29uZi5weS5zcGhpbngJMjAy MC0wNS0xMSAwNDo1OToyNi4wMDAwMDAwMDAgLTA0MDAKLSsrKyAuL2RvYy9hZHZhbmNlZC9jb250 ZW50L2NvbmYucHkJMjAyMC0wNi0wNyAxNjoxMTowNC4zOTgxNDQ4NTAgLTA0MDAKLUBAIC00LDcg KzQsNyBAQAotICMgLS0gR2VuZXJhbCBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gIyBBZGQgYW55IFNwaGlueCBleHRl bnNpb24gbW9kdWxlIG5hbWVzIGhlcmUsIGFzIHN0cmluZ3MuIFRoZXkgY2FuIGJlIGV4dGVuc2lv bnMKLSAjIGNvbWluZyB3aXRoIFNwaGlueCAobmFtZWQgJ3NwaGlueC5leHQuKicpIG9yIHlvdXIg Y3VzdG9tIG9uZXMuCi0tZXh0ZW5zaW9ucyA9IFsnc3BoaW54LmV4dC5pbWdtYXRoJywgJ3NwaGlu eGNvbnRyaWIuZG94eWxpbmsuZG94eWxpbmsnXQotK2V4dGVuc2lvbnMgPSBbJ3NwaGlueC5leHQu aW1nbWF0aCddCi0gCi0gIyBBZGQgYW55IHBhdGhzIHRoYXQgY29udGFpbiB0ZW1wbGF0ZXMgaGVy ZSwgcmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnkuCi0gIyB0ZW1wbGF0ZXNfcGF0aCA9IFsnX3Rl bXBsYXRlcyddCi1AQCAtNjksNyArNjksNyBAQCBweWdtZW50c19zdHlsZSA9ICdzcGhpbngnCi0g Ci0gIyBUaGUgdGhlbWUgdG8gdXNlIGZvciBIVE1MIGFuZCBIVE1MIEhlbHAgcGFnZXMuICBNYWpv ciB0aGVtZXMgdGhhdCBjb21lIHdpdGgKLSAjIFNwaGlueCBhcmUgY3VycmVudGx5ICdkZWZhdWx0 JyBhbmQgJ3NwaGlueGRvYycuCi0taHRtbF90aGVtZSA9ICdzcGhpbnhfcnRkX3RoZW1lJwotK2h0 bWxfdGhlbWUgPSAnc3BoaW54ZG9jJwotIAotICMgVGhlbWUgb3B0aW9ucyBhcmUgdGhlbWUtc3Bl Y2lmaWMgYW5kIGN1c3RvbWl6ZSB0aGUgbG9vayBhbmQgZmVlbCBvZiBhIHRoZW1lCi0gIyBmdXJ0 aGVyLiAgRm9yIGEgbGlzdCBvZiBvcHRpb25zIGF2YWlsYWJsZSBmb3IgZWFjaCB0aGVtZSwgc2Vl IHRoZQotZGlmZiAtdXAgLi9kb2MvdHV0b3JpYWxzL2NvbnRlbnQvY29uZi5weS5zcGhpbnggLi9k b2MvdHV0b3JpYWxzL2NvbnRlbnQvY29uZi5weQotLS0tIC4vZG9jL3R1dG9yaWFscy9jb250ZW50 L2NvbmYucHkuc3BoaW54CTIwMjAtMDUtMTEgMDQ6NTk6MjYuMDAwMDAwMDAwIC0wNDAwCi0rKysg Li9kb2MvdHV0b3JpYWxzL2NvbnRlbnQvY29uZi5weQkyMDIwLTA2LTA3IDE2OjEwOjQ2LjU1NTIy NTA2NCAtMDQwMAotQEAgLTQsNyArNCw3IEBACi0gIyAtLSBHZW5lcmFsIGNvbmZpZ3VyYXRpb24g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAj IEFkZCBhbnkgU3BoaW54IGV4dGVuc2lvbiBtb2R1bGUgbmFtZXMgaGVyZSwgYXMgc3RyaW5ncy4g VGhleSBjYW4gYmUgZXh0ZW5zaW9ucwotICMgY29taW5nIHdpdGggU3BoaW54IChuYW1lZCAnc3Bo aW54LmV4dC4qJykgb3IgeW91ciBjdXN0b20gb25lcy4KLS1leHRlbnNpb25zID0gWydzcGhpbngu ZXh0LmltZ21hdGgnLCAnc3BoaW54Y29udHJpYi5kb3h5bGluay5kb3h5bGluayddCi0rZXh0ZW5z aW9ucyA9IFsnc3BoaW54LmV4dC5pbWdtYXRoJ10KLSBpbWdtYXRoX2R2aXBuZ19hcmdzID0gWyct Z2FtbWEnLCAnMS41JywgJy1EJywgJzExMCcsICctYmcnLCAnVHJhbnNwYXJlbnQnXQotIAotICMg QWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4gdGVtcGxhdGVzIGhlcmUsIHJlbGF0aXZlIHRvIHRo aXMgZGlyZWN0b3J5LgotQEAgLTcwLDcgKzcwLDcgQEAgcHlnbWVudHNfc3R5bGUgPSAnc3BoaW54 JwotIAotICMgVGhlIHRoZW1lIHRvIHVzZSBmb3IgSFRNTCBhbmQgSFRNTCBIZWxwIHBhZ2VzLiAg TWFqb3IgdGhlbWVzIHRoYXQgY29tZSB3aXRoCi0gIyBTcGhpbnggYXJlIGN1cnJlbnRseSAnZGVm YXVsdCcgYW5kICdzcGhpbnhkb2MnLgotLWh0bWxfdGhlbWUgPSAnc3BoaW54X3J0ZF90aGVtZScK LStodG1sX3RoZW1lID0gJ3NwaGlueGRvYycKLSAKLSAjIFRoZW1lIG9wdGlvbnMgYXJlIHRoZW1l LXNwZWNpZmljIGFuZCBjdXN0b21pemUgdGhlIGxvb2sgYW5kIGZlZWwgb2YgYSB0aGVtZQotICMg ZnVydGhlci4gIEZvciBhIGxpc3Qgb2Ygb3B0aW9ucyBhdmFpbGFibGUgZm9yIGVhY2ggdGhlbWUs IHNlZSB0aGUKCmRpZmYgLS1naXQgYS9wY2wtMS4xMi4wLWJvb3N0MTc2LnBhdGNoIGIvcGNsLTEu MTIuMC1ib29zdDE3Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmIzNWQx ZS4uMDAwMDAwMAotLS0gYS9wY2wtMS4xMi4wLWJvb3N0MTc2LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtdXAgLi9jbWFrZS9wY2xfZmluZF9ib29zdC5jbWFrZS5i b29zdDE3NiAuL2NtYWtlL3BjbF9maW5kX2Jvb3N0LmNtYWtlCi0tLS0gLi9jbWFrZS9wY2xfZmlu ZF9ib29zdC5jbWFrZS5ib29zdDE3NgkyMDIxLTA4LTE3IDE2OjMxOjQ5LjQwOTQzMTA2NCAtMDQw MAotKysrIC4vY21ha2UvcGNsX2ZpbmRfYm9vc3QuY21ha2UJMjAyMS0wOC0xNyAxNjozMjo1OS42 MTcyMzQwOTggLTA0MDAKLUBAIC0yOCw3ICsyOCw3IEBAIGlmKEJvb3N0X1NFUklBTElaQVRJT05f Rk9VTkQpCi0gZW5kaWYoKQotIAotICMgUmVxdWlyZWQgYm9vc3QgbW9kdWxlcwotLXNldChCT09T VF9SRVFVSVJFRF9NT0RVTEVTIGZpbGVzeXN0ZW0gZGF0ZV90aW1lIGlvc3RyZWFtcyBzeXN0ZW0p Ci0rc2V0KEJPT1NUX1JFUVVJUkVEX01PRFVMRVMgZmlsZXN5c3RlbSBkYXRlX3RpbWUgaW9zdHJl YW1zIHNlcmlhbGl6YXRpb24gc3lzdGVtKQotIGZpbmRfcGFja2FnZShCb29zdCAxLjY1LjAgUkVR VUlSRUQgQ09NUE9ORU5UUyAke0JPT1NUX1JFUVVJUkVEX01PRFVMRVN9KQotIAotIGlmKEJvb3N0 X0ZPVU5EKQoKZGlmZiAtLWdpdCBhL3BjbC0xLjEyLjAtbWV0c2xpYi5wYXRjaCBiL3BjbC0xLjEy LjAtbWV0c2xpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWY5NWQxYy4u MDAwMDAwMAotLS0gYS9wY2wtMS4xMi4wLW1ldHNsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwyMyArMCwwIEBACi1kaWZmIC11cCAuL3JlY29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0 aW9uL2h2L2h2X2dvLmgubWV0c2xpYiAuL3JlY29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0 aW9uL2h2L2h2X2dvLmgKLS0tLSAuL3JlY29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0aW9u L2h2L2h2X2dvLmgubWV0c2xpYgkyMDIwLTA1LTI5IDE3OjQ3OjIxLjM0MzYwMDUxMCAtMDQwMAot KysrIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vaHYvaHZfZ28uaAkyMDIw LTA1LTI5IDE3OjQ4OjEyLjE4NTIzNzUwNiAtMDQwMAotQEAgLTIwLDYgKzIwLDYgQEAKLSAjaW5j bHVkZSA8cGNsL3BjbF9tYWNyb3MuaD4KLSAjaW5jbHVkZSA8cGNsL3JlY29nbml0aW9uL2h2L2h5 cG90aGVzZXNfdmVyaWZpY2F0aW9uLmg+Ci0tI2luY2x1ZGUgPHBjbC9yZWNvZ25pdGlvbi8zcmRw YXJ0eS9tZXRzbGliL21ldHMuaGg+Ci0rI2luY2x1ZGUgPG1ldHNsaWIvbWV0cy5oaD4KLSAjaW5j bHVkZSA8cGNsL2ZlYXR1cmVzL25vcm1hbF8zZC5oPgotIAotICNpbmNsdWRlIDxtZW1vcnk+Ci1k aWZmIC11cCAuL3JlY29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0aW9uL2ltcGwvaHYvaHZf Z28uaHBwLm1ldHNsaWIgLi9yZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi9pbXBs L2h2L2h2X2dvLmhwcAotLS0tIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24v aW1wbC9odi9odl9nby5ocHAubWV0c2xpYgkyMDIwLTA1LTExIDA0OjU5OjI2LjAwMDAwMDAwMCAt MDQwMAotKysrIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vaW1wbC9odi9o dl9nby5ocHAJMjAyMC0wNS0yOSAxNzo0NzoyMS4zNDM2MDA1MTAgLTA0MDAKLUBAIC00NTMsNyAr NDUzLDcgQEAgdm9pZCBwY2w6Okdsb2JhbEh5cG90aGVzZXNWZXJpZmljYXRpb248TQotICAgbWV0 czo6bm9pbXByb3ZlX3Rlcm1pbmF0aW9uX2NyaXRlcmlhIG5vaW1wcm92ZSAobWF4X2l0ZXJhdGlv bnNfKTsKLSAgIG1ldHM6OmxpbmVhcl9jb29saW5nIGxpbmVhcl9jb29saW5nOwotICAgbWV0czo6 c2ltdWxhdGVkX2FubmVhbGluZzxtb3ZlX21hbmFnZXI+IHNhIChtb2RlbCwgYmVzdF9yZWNvcmRl ciwgbmVpZ2gsIG5vaW1wcm92ZSwgbGluZWFyX2Nvb2xpbmcsIGluaXRpYWxfdGVtcF8sIDFlLTcs IDIpOwotLSAgc2Euc2V0QXBwbHlBbmRFdmFsdWF0ZSh0cnVlKTsKLSsgIC8vc2Euc2V0QXBwbHlB bmRFdmFsdWF0ZSh0cnVlKTsKLSAKLSAgIHsKLSAgICAgcGNsOjpTY29wZVRpbWUgdCAoIlNBIHNl YXJjaC4uLiIpOwoKZGlmZiAtLWdpdCBhL3BjbC0xLjEyLjAtb29tLnBhdGNoIGIvcGNsLTEuMTIu MC1vb20ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5NWIwNjguLjAwMDAw MDAKLS0tIGEvcGNsLTEuMTIuMC1vb20ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NDYgKzAs MCBAQAotSW5kZXg6IHBjbC0xLjEyLjAvc3VyZmFjZS9DTWFrZUxpc3RzLnR4dAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIHBjbC0xLjEyLjAub3JpZy9zdXJmYWNlL0NNYWtlTGlzdHMudHh0Ci0rKysgcGNsLTEu MTIuMC9zdXJmYWNlL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTEyLDcgKzExMiwxMiBAQCBzZXQoc3Jj cwotICAgc3JjL21hcmNoaW5nX2N1YmVzX2hvcHBlLmNwcAotICAgc3JjL21hcmNoaW5nX2N1YmVz X3JiZi5jcHAKLSAgIHNyYy9iaWxhdGVyYWxfdXBzYW1wbGluZy5jcHAKLS0gIHNyYy9tbHMuY3Bw Ci0rICBzcmMvbWxzX24uY3BwCi0rICBzcmMvbWxzX3h5ei5jcHAKLSsgIHNyYy9tbHNfeHl6aS5j cHAKLSsgIHNyYy9tbHNfeHl6cmdiYS5jcHAKLSsgIHNyYy9tbHNfeHl6cmdiLmNwcAotKyAgc3Jj L21sc194eXpyZ2JuLmNwcAotICAgc3JjL29yZ2FuaXplZF9mYXN0X21lc2guY3BwCi0gICBzcmMv c2ltcGxpZmljYXRpb25fcmVtb3ZlX3VudXNlZF92ZXJ0aWNlcy5jcHAKLSAgIHNyYy9zdXJmZWxf c21vb3RoaW5nLmNwcAotSW5kZXg6IHBjbC0xLjEyLjAvc3VyZmFjZS9zcmMvbWxzX24uY3BwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgcGNsLTEuMTIuMC9zdXJmYWNlL3NyYy9tbHNf bi5jcHAKLUBAIC0wLDAgKzEsNTQgQEAKLSsvKgotKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVt ZW50IChCU0QgTGljZW5zZSkKLSsgKgotKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3 d3cucG9pbnRjbG91ZHMub3JnCi0rICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBH YXJhZ2UsIEluYy4KLSsgKgotKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rICoKLSsgKiBSZWRp c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp dGhvdXQKLSsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSsgKiBhcmUgbWV0OgotKyAqCi0rICogKiBSZWRpc3RyaWJ1 dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKyAq ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj bGFpbWVyLgotKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k dWNlIHRoZSBhYm92ZQotKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSsgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50 YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAotKyAqICAgd2l0aCB0aGUgZGlz dHJpYnV0aW9uLgotKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMu IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0rICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSsgKiAgIGZyb20gdGhpcyBzb2Z0 d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSsgKgotKyAq IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD T05UUklCVVRPUlMKLSsgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0rICogRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSsgKiBD T1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg SU5ESVJFQ1QsCi0rICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKLSsgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0rICogTE9TUyBPRiBVU0Us IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotKyAq IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB Q1QsIFNUUklDVAotKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCi0rICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0rICogUE9TU0lCSUxJVFkgT0Yg U1VDSCBEQU1BR0UuCi0rICoKLSsgKiAkSWQkCi0rICoKLSsgKi8KLSsKLSsjaW5jbHVkZSA8cGNs L3N1cmZhY2UvbWxzLmg+Ci0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KLSsj aW5jbHVkZSAibWxzX2NhbGN1bGF0ZVByaW5jaXBhbEN1cnZhdHVyZXMuaHBwIgotKwotKyNpZm5k ZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5jbHVkZSA8cGNsL3BvaW50X3R5cGVzLmg+Ci0rI2lu Y2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KLSsjaWZkZWYgUENMX09OTFlfQ09SRV9Q T0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBwb2ludCB0eXBlcwot KyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6UG9p bnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdC QSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkpCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQb2ludE5vcm1hbCkp KQotKyNlbHNlCi0rICAvLyBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFy ZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYK LSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKLUluZGV4OiBwY2wtMS4xMi4wL3N1cmZh Y2Uvc3JjL21sc194eXouY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgcGNsLTEu MTIuMC9zdXJmYWNlL3NyYy9tbHNfeHl6LmNwcAotQEAgLTAsMCArMSw1MyBAQAotKy8qCi0rICog U29mdHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQotKyAqCi0rICogUG9pbnQg Q2xvdWQgTGlicmFyeSAoUENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKLSsgKiBDb3B5cmlnaHQg KGMpIDIwMDktMjAxMSwgV2lsbG93IEdhcmFnZSwgSW5jLgotKyAqCi0rICogQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KLSsgKgotKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6 Ci0rICoKLSsgKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0 aGUgYWJvdmUgY29weXJpZ2h0Ci0rICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4g YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0rICogICBjb3B5cmlnaHQgbm90 aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotKyAqICAgZGlz Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp ZGVkCi0rICogICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0rICogKiBOZWl0aGVyIHRoZSBuYW1l IG9mIFdpbGxvdyBHYXJhZ2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSsgKiAgIGNvbnRy aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl ZAotKyAqICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl biBwZXJtaXNzaW9uLgotKyAqCi0rICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotKyAqICJBUyBJUyIgQU5EIEFOWSBF WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0rICogTElN SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ VE5FU1MKLSsgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P IEVWRU5UIFNIQUxMIFRIRQotKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSsgKiBJTkNJREVOVEFMLCBTUEVDSUFM LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotKyAqIEJV VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW SUNFUzsKLSsgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U RVJSVVBUSU9OKSBIT1dFVkVSCi0rICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JU IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KLSsgKiBBTlkg V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU SEUKLSsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqICRJZCQKLSsgKgot KyAqLwotKwotKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KLSsjaW5jbHVkZSA8cGNsL3N1 cmZhY2UvaW1wbC9tbHMuaHBwPgotKwotKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5j bHVkZSA8cGNsL3BvaW50X3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRl LmhwcD4KLSsjaWZkZWYgUENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0 aW9ucyBvZiBzcGVjaWZpYyBwb2ludCB0eXBlcwotKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1Qo TW92aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6 OlBvaW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCko cGNsOjpQb2ludE5vcm1hbCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgocGNsOjpQb2ludFhZWikpKQotKyNlbHNlCi0rICBQQ0xfSU5TVEFOVElBVEVf UFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFla X1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYKLSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUK LUluZGV4OiBwY2wtMS4xMi4wL3N1cmZhY2Uvc3JjL21sc194eXppLmNwcAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAotKysrIHBjbC0xLjEyLjAvc3VyZmFjZS9zcmMvbWxzX3h5emkuY3BwCi1A QCAtMCwwICsxLDUzIEBACi0rLyoKLSsgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNE IExpY2Vuc2UpCi0rICoKLSsgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50 Y2xvdWRzLm9yZwotKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJ bmMuCi0rICoKLSsgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRp b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0r ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsgKgotKyAqICogUmVkaXN0cmlidXRpb25zIG9m IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSsgKiAgIG5vdGlj ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K LSsgKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg YWJvdmUKLSsgKiAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu ZCB0aGUgZm9sbG93aW5nCi0rICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKLSsgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv bi4KLSsgKiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhl IG5hbWVzIG9mIGl0cwotKyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0rICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0 aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNP RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU T1JTCi0rICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ TkNMVURJTkcsIEJVVCBOT1QKLSsgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0rICogQ09QWVJJR0hU IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU LAotKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE QU1BR0VTIChJTkNMVURJTkcsCi0rICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSsgKiBDQVVTRUQg QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ Q1QKLSsgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS V0lTRSkgQVJJU0lORyBJTgotKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQotKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLgotKyAqCi0rICogJElkJAotKyAqCi0rICovCi0rCi0rI2luY2x1ZGUgPHBjbC9zdXJmYWNl L21scy5oPgotKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+Ci0rCi0rI2lmbmRl ZiBQQ0xfTk9fUFJFQ09NUElMRQotKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KLSsjaW5j bHVkZSA8cGNsL2ltcGwvaW5zdGFudGlhdGUuaHBwPgotKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BP SU5UX1RZUEVTCi0rIC8vIEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCi0r ICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2lu dFhZWikocGNsOjpQb2ludFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JB KShwY2w6OlBvaW50WFlaUkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaSSkpKQot KyNlbHNlCi0rICAvLyBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMs IChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYKLSsj ZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKLUluZGV4OiBwY2wtMS4xMi4wL3N1cmZhY2Uv c3JjL21sc194eXpyZ2JhLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAotKysrIHBjbC0x LjEyLjAvc3VyZmFjZS9zcmMvbWxzX3h5enJnYmEuY3BwCi1AQCAtMCwwICsxLDUzIEBACi0rLyoK LSsgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCi0rICoKLSsgKiBQ b2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZwotKyAqIENvcHly aWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCi0rICoKLSsgKiBBbGwgcmln aHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUg cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0rICogYXJl IG1ldDoKLSsgKgotKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0 YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSsgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsgKiAqIFJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSsgKiAgIGNvcHlyaWdo dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0rICog ICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg cHJvdmlkZWQKLSsgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSsgKiAqIE5laXRoZXIgdGhl IG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotKyAqICAg Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk ZXJpdmVkCi0rICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3 cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0rICogIkFTIElTIiBBTkQg QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSsg KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB TkQgRklUTkVTUwotKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g SU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0rICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotKyAqIElOQ0lERU5UQUwsIFNQ RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0r ICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S IFNFUlZJQ0VTOwotKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSsgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSsgKiBMSUFCSUxJVFksIE9S IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgotKyAq IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE IE9GIFRIRQotKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKyAqCi0rICogJElkJAot KyAqCi0rICovCi0rCi0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgotKyNpbmNsdWRlIDxw Y2wvc3VyZmFjZS9pbXBsL21scy5ocHA+Ci0rCi0rI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElMRQot KyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KLSsjaW5jbHVkZSA8cGNsL2ltcGwvaW5zdGFu dGlhdGUuaHBwPgotKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCi0rIC8vIEluc3Rh bnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCi0rICBQQ0xfSU5TVEFOVElBVEVfUFJP RFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZWkkp KHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdCTm9y bWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaUkdCQSkpKQotKyNlbHNlCi0rICAvLyBQQ0xf SU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZ UEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYKLSsjZW5kaWYgICAgLy8gUENMX05P X1BSRUNPTVBJTEUKLUluZGV4OiBwY2wtMS4xMi4wL3N1cmZhY2Uvc3JjL21sc194eXpyZ2IuY3Bw Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgcGNsLTEuMTIuMC9zdXJmYWNlL3NyYy9t bHNfeHl6cmdiLmNwcAotQEAgLTAsMCArMSw1MyBAQAotKy8qCi0rICogU29mdHdhcmUgTGljZW5z ZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQotKyAqCi0rICogUG9pbnQgQ2xvdWQgTGlicmFyeSAo UENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKLSsgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxMSwg V2lsbG93IEdhcmFnZSwgSW5jLgotKyAqCi0rICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsgKgot KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp dGggb3Igd2l0aG91dAotKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0 aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6Ci0rICoKLSsgKiAqIFJl ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp Z2h0Ci0rICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIuCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0rICogICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotKyAqICAgZGlzY2xhaW1lciBpbiB0aGUg ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0rICogICB3aXRo IHRoZSBkaXN0cmlidXRpb24uCi0rICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBHYXJh Z2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSsgKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUg dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotKyAqICAgZnJvbSB0 aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot KyAqCi0rICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF UlMgQU5EIENPTlRSSUJVVE9SUwotKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0rICogTElNSVRFRCBUTywgVEhFIElN UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSsgKiBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI RQotKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg RElSRUNULCBJTkRJUkVDVCwKLSsgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotKyAqIEJVVCBOT1QgTElNSVRFRCBU TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSsgKiBMT1NT IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF VkVSCi0rICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KLSsgKiBBTlkgV0FZIE9VVCBPRiBUSEUg VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLSsgKiBQT1NTSUJJ TElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqICRJZCQKLSsgKgotKyAqLwotKwotKyNpbmNs dWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KLSsjaW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9tbHMu aHBwPgotKwotKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5jbHVkZSA8cGNsL3BvaW50 X3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KLSsjaWZkZWYg UENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZp YyBwb2ludCB0eXBlcwotKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVh cmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShw Y2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1h bCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNs OjpQb2ludFhZWlJHQikpKQotKyNlbHNlCi0rICAvL1BDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1v dmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQ RVMpKQotKyNlbmRpZgotKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQotSW5kZXg6IHBj bC0xLjEyLjAvc3VyZmFjZS9zcmMvbWxzX3h5enJnYm4uY3BwCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rl di9udWxsCi0rKysgcGNsLTEuMTIuMC9zdXJmYWNlL3NyYy9tbHNfeHl6cmdibi5jcHAKLUBAIC0w LDAgKzEsNTMgQEAKLSsvKgotKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IChCU0QgTGlj ZW5zZSkKLSsgKgotKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3d3cucG9pbnRjbG91 ZHMub3JnCi0rICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJhZ2UsIEluYy4K LSsgKgotKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rICoKLSsgKiBSZWRpc3RyaWJ1dGlvbiBh bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSsgKiBt b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnMKLSsgKiBhcmUgbWV0OgotKyAqCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291 cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKyAq ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92 ZQotKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo ZSBmb2xsb3dpbmcKLSsgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAotKyAqICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot KyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5vciB0aGUgbmFt ZXMgb2YgaXRzCi0rICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSsgKiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0 IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSsgKgotKyAqIFRISVMgU09GVFdB UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK LSsgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV RElORywgQlVUIE5PVAotKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi0rICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSsgKiBDT1BZUklHSFQgT1dO RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0r ICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH RVMgKElOQ0xVRElORywKLSsgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0rICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotKyAqIENBVVNFRCBBTkQg T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAot KyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF KSBBUklTSU5HIElOCi0rICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0rICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu Ci0rICoKLSsgKiAkSWQkCi0rICoKLSsgKi8KLSsKLSsjaW5jbHVkZSA8cGNsL3N1cmZhY2UvbWxz Lmg+Ci0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KLSsKLSsjaWZuZGVmIFBD TF9OT19QUkVDT01QSUxFCi0rI2luY2x1ZGUgPHBjbC9wb2ludF90eXBlcy5oPgotKyNpbmNsdWRl IDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+Ci0rI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9JTlRf VFlQRVMKLSsgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKLSsgIFBD TF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50WFla KShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEpKHBj bDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwp KSkKLSsjZWxzZQotKyAgLy9QQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFy ZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYK LSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKLUluZGV4OiBwY2wtMS4xMi4wL3N1cmZh Y2UvaW5jbHVkZS9wY2wvc3VyZmFjZS9pbXBsL21scy5ocHAKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwY2wt MS4xMi4wLm9yaWcvc3VyZmFjZS9pbmNsdWRlL3BjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcAotKysr IHBjbC0xLjEyLjAvc3VyZmFjZS9pbmNsdWRlL3BjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcAotQEAg LTUzMywzOCArNTMzLDYgQEAgcGNsOjpNTFNSZXN1bHQ6OmdldFBvbHlub21pYWxQYXJ0aWFsRGVy aQotICAgcmV0dXJuIChkKTsKLSB9Ci0gCi0tRWlnZW46OlZlY3RvcjJmCi0tcGNsOjpNTFNSZXN1 bHQ6OmNhbGN1bGF0ZVByaW5jaXBhbEN1cnZhdHVyZXMgKGNvbnN0IGRvdWJsZSB1LCBjb25zdCBk b3VibGUgdikgY29uc3QKLS17Ci0tICBFaWdlbjo6VmVjdG9yMmYgayAoMWUtNSwgMWUtNSk7Ci0t Ci0tICAvLyBOb3RlOiB0aGlzIHVzZSB0aGUgTW9uZ2UgUGF0Y2ggdG8gZGVyaXZlIHRoZSBHYXVz c2lhbiBjdXJ2YXR1cmUgYW5kIE1lYW4gQ3VydmF0dXJlIGZvdW5kIGhlcmUgaHR0cDovL21hdGh3 b3JsZC53b2xmcmFtLmNvbS9Nb25nZVBhdGNoLmh0bWwKLS0gIC8vIFRoZW46Ci0tICAvLyAgICAg IGsxID0gSCArIHNxcnQoSF4yIC0gSykKLS0gIC8vICAgICAgazIgPSBIIC0gc3FydChIXjIgLSBL KQotLSAgaWYgKG9yZGVyID4gMSAmJiBjX3ZlYy5zaXplICgpID49IChvcmRlciArIDEpICogKG9y ZGVyICsgMikgLyAyICYmIHN0ZDo6aXNmaW5pdGUgKGNfdmVjWzBdKSkKLS0gIHsKLS0gICAgY29u c3QgUG9seW5vbWlhbFBhcnRpYWxEZXJpdmF0aXZlIGQgPSBnZXRQb2x5bm9taWFsUGFydGlhbERl cml2YXRpdmUgKHUsIHYpOwotLSAgICBjb25zdCBkb3VibGUgWiA9IDEgKyBkLnpfdSAqIGQuel91 ICsgZC56X3YgKiBkLnpfdjsKLS0gICAgY29uc3QgZG91YmxlIFpsZW4gPSBzdGQ6OnNxcnQgKFop OwotLSAgICBjb25zdCBkb3VibGUgSyA9IChkLnpfdXUgKiBkLnpfdnYgLSBkLnpfdXYgKiBkLnpf dXYpIC8gKFogKiBaKTsKLS0gICAgY29uc3QgZG91YmxlIEggPSAoKDEuMCArIGQuel92ICogZC56 X3YpICogZC56X3V1IC0gMi4wICogZC56X3UgKiBkLnpfdiAqIGQuel91diArICgxLjAgKyBkLnpf dSAqIGQuel91KSAqIGQuel92dikgLyAoMi4wICogWmxlbiAqIFpsZW4gKiBabGVuKTsKLS0gICAg Y29uc3QgZG91YmxlIGRpc2MyID0gSCAqIEggLSBLOwotLSAgICBhc3NlcnQgKGRpc2MyID49IDAu MCk7Ci0tICAgIGNvbnN0IGRvdWJsZSBkaXNjID0gc3RkOjpzcXJ0IChkaXNjMik7Ci0tICAgIGtb MF0gPSBIICsgZGlzYzsKLS0gICAga1sxXSA9IEggLSBkaXNjOwotLQotLSAgICBpZiAoc3RkOjph YnMgKGtbMF0pID4gc3RkOjphYnMgKGtbMV0pKSBzdGQ6OnN3YXAgKGtbMF0sIGtbMV0pOwotLSAg fQotLSAgZWxzZQotLSAgewotLSAgICBQQ0xfRVJST1IgKCJObyBQb2x5bm9taWFsIGZpdCBkYXRh LCB1bmFibGUgdG8gY2FsY3VsYXRlIHRoZSBwcmluY2lwYWwgY3VydmF0dXJlcyFcbiIpOwotLSAg fQotLQotLSAgcmV0dXJuIChrKTsKLS19Ci0tCi0gcGNsOjpNTFNSZXN1bHQ6Ok1MU1Byb2plY3Rp b25SZXN1bHRzCi0gcGNsOjpNTFNSZXN1bHQ6OnByb2plY3RQb2ludE9ydGhvZ29uYWxUb1BvbHlu b21pYWxTdXJmYWNlIChjb25zdCBkb3VibGUgdSwgY29uc3QgZG91YmxlIHYsIGNvbnN0IGRvdWJs ZSB3KSBjb25zdAotIHsKLUluZGV4OiBwY2wtMS4xMi4wL3N1cmZhY2Uvc3JjL21sc19jYWxjdWxh dGVQcmluY2lwYWxDdXJ2YXR1cmVzLmhwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAotKysr IHBjbC0xLjEyLjAvc3VyZmFjZS9zcmMvbWxzX2NhbGN1bGF0ZVByaW5jaXBhbEN1cnZhdHVyZXMu aHBwCi1AQCAtMCwwICsxLDMxIEBACi0rRWlnZW46OlZlY3RvcjJmCi0rcGNsOjpNTFNSZXN1bHQ6 OmNhbGN1bGF0ZVByaW5jaXBhbEN1cnZhdHVyZXMgKGNvbnN0IGRvdWJsZSB1LCBjb25zdCBkb3Vi bGUgdikgY29uc3QKLSt7Ci0rICBFaWdlbjo6VmVjdG9yMmYgayAoMWUtNSwgMWUtNSk7Ci0rCi0r ICAvLyBOb3RlOiB0aGlzIHVzZSB0aGUgTW9uZ2UgUGF0Y2ggdG8gZGVyaXZlIHRoZSBHYXVzc2lh biBjdXJ2YXR1cmUgYW5kIE1lYW4gQ3VydmF0dXJlIGZvdW5kIGhlcmUgaHR0cDovL21hdGh3b3Js ZC53b2xmcmFtLmNvbS9Nb25nZVBhdGNoLmh0bWwKLSsgIC8vIFRoZW46Ci0rICAvLyAgICAgIGsx ID0gSCArIHNxcnQoSF4yIC0gSykKLSsgIC8vICAgICAgazIgPSBIIC0gc3FydChIXjIgLSBLKQot KyAgaWYgKG9yZGVyID4gMSAmJiBjX3ZlYy5zaXplICgpID49IChvcmRlciArIDEpICogKG9yZGVy ICsgMikgLyAyICYmIHN0ZDo6aXNmaW5pdGUgKGNfdmVjWzBdKSkKLSsgIHsKLSsgICAgY29uc3Qg UG9seW5vbWlhbFBhcnRpYWxEZXJpdmF0aXZlIGQgPSBnZXRQb2x5bm9taWFsUGFydGlhbERlcml2 YXRpdmUgKHUsIHYpOwotKyAgICBjb25zdCBkb3VibGUgWiA9IDEgKyBkLnpfdSAqIGQuel91ICsg ZC56X3YgKiBkLnpfdjsKLSsgICAgY29uc3QgZG91YmxlIFpsZW4gPSBzdGQ6OnNxcnQgKFopOwot KyAgICBjb25zdCBkb3VibGUgSyA9IChkLnpfdXUgKiBkLnpfdnYgLSBkLnpfdXYgKiBkLnpfdXYp IC8gKFogKiBaKTsKLSsgICAgY29uc3QgZG91YmxlIEggPSAoKDEuMCArIGQuel92ICogZC56X3Yp ICogZC56X3V1IC0gMi4wICogZC56X3UgKiBkLnpfdiAqIGQuel91diArICgxLjAgKyBkLnpfdSAq IGQuel91KSAqIGQuel92dikgLyAoMi4wICogWmxlbiAqIFpsZW4gKiBabGVuKTsKLSsgICAgY29u c3QgZG91YmxlIGRpc2MyID0gSCAqIEggLSBLOwotKyAgICBhc3NlcnQgKGRpc2MyID49IDAuMCk7 Ci0rICAgIGNvbnN0IGRvdWJsZSBkaXNjID0gc3RkOjpzcXJ0IChkaXNjMik7Ci0rICAgIGtbMF0g PSBIICsgZGlzYzsKLSsgICAga1sxXSA9IEggLSBkaXNjOwotKwotKyAgICBpZiAoc3RkOjphYnMg KGtbMF0pID4gc3RkOjphYnMgKGtbMV0pKSBzdGQ6OnN3YXAgKGtbMF0sIGtbMV0pOwotKyAgfQot KyAgZWxzZQotKyAgewotKyAgICBQQ0xfRVJST1IgKCJObyBQb2x5bm9taWFsIGZpdCBkYXRhLCB1 bmFibGUgdG8gY2FsY3VsYXRlIHRoZSBwcmluY2lwYWwgY3VydmF0dXJlcyFcbiIpOwotKyAgfQot KwotKyAgcmV0dXJuIChrKTsKLSt9CgpkaWZmIC0tZ2l0IGEvcGNsLTEuMTIuMC1zc2UyLnBhdGNo IGIvcGNsLTEuMTIuMC1zc2UyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm OGExZTgzLi4wMDAwMDAwCi0tLSBhL3BjbC0xLjEyLjAtc3NlMi5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDQ4ICswLDAgQEAKLS0tLSBwY2wtcGNsLTEuMTIuMC9jbWFrZS9wY2xfZmluZF9zc2Uu Y21ha2UJMjAyMS0wOC0xMyAxMzozMToyNi4wMzUyODIwODEgLTA3MDAKLSsrKyBwY2wtcGNsLTEu MTIuMC9jbWFrZS9wY2xfZmluZF9zc2UuY21ha2UubmV3CTIwMjEtMDgtMTMgMTM6MzE6MzEuOTY1 MzE0OTg0IC0wNzAwCi1AQCAtNCwyMCArNCw2IEBACi0gICBzZXQoU1NFX0ZMQUdTKQotICAgc2V0 KFNTRV9ERUZJTklUSU9OUykKLSAKLS0gIGlmKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKLS0g ICAgIyBUZXN0IEdDQy9HKysgYW5kIENMQU5HCi0tICAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dO VUNDIE9SIENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFO RykKLS0gICAgICBpbmNsdWRlKENoZWNrQ1hYQ29tcGlsZXJGbGFnKQotLSAgICAgIGNoZWNrX2N4 eF9jb21waWxlcl9mbGFnKCItbWFyY2g9bmF0aXZlIiBIQVZFX01BUkNIKQotLSAgICAgIGlmKEhB VkVfTUFSQ0gpCi0tICAgICAgICAgIGxpc3QoQVBQRU5EIFNTRV9GTEFHUyAiLW1hcmNoPW5hdGl2 ZSIpCi0tICAgICAgZWxzZSgpCi0tICAgICAgICAgIGxpc3QoQVBQRU5EIFNTRV9GTEFHUyAiLW10 dW5lPW5hdGl2ZSIpCi0tICAgICAgZW5kaWYoKQotLSAgICAgIG1lc3NhZ2UoU1RBVFVTICJVc2lu ZyBDUFUgbmF0aXZlIGZsYWdzIGZvciBTU0Ugb3B0aW1pemF0aW9uOiAke1NTRV9GTEFHU30iKQot LSAgICBlbmRpZigpCi0tICBlbmRpZigpCi0tCi0gICAjIFVuZm9ydHVuYXRlbHkgd2UgbmVlZCB0 byBjaGVjayBmb3IgU1NFIHRvIGVuYWJsZSAiLW1mcG1hdGg9c3NlIiBhbG9uZ3NpZGUKLSAgICMg Ii1tYXJjaD1uYXRpdmUiLiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIHRoYXQgYnkgZGVmYXVsdCwg MzJiaXQgYXJjaGl0ZWN0dXJlcwotICAgIyB0ZW5kIHRvIHVzZSB0aGUgeDg3IEZQVSAod2hpY2gg aGFzIDgwIGJpdCBpbnRlcm5hbCBwcmVjaXNpb24pLCB0aHVzIGxlYWRpbmcKLUBAIC0yMDMsMjEg KzE4OSw5IEBACi0gICBlbmRpZigpCi0gICAKLSAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUND IE9SIENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFORykK LS0gICAgaWYoU1NFX0xFVkVMIEdSRUFURVJfRVFVQUwgMS4wKQotLSAgICAgIGlmKFNTRV9MRVZF TCBHUkVBVEVSX0VRVUFMIDQuMikKLS0gICAgICAgIHNldChTU0VfRkxBR1MgIi1tc3NlNC4yIikK LS0gICAgICBlbHNlaWYoU1NFX0xFVkVMIEdSRUFURVJfRVFVQUwgNC4xKQotLSAgICAgICAgc2V0 KFNTRV9GTEFHUyAiLW1zc2U0LjEiKQotLSAgICAgIGVsc2VpZihTU0VfTEVWRUwgR1JFQVRFUl9F UVVBTCAzLjEpCi0tICAgICAgICBzZXQoU1NFX0ZMQUdTICItbXNzZTMiKQotLSAgICAgIGVsc2Vp ZihTU0VfTEVWRUwgR1JFQVRFUl9FUVVBTCAzLjApCi0tICAgICAgICBzZXQoU1NFX0ZMQUdTICIt bXNzZTMiKQotLSAgICAgIGVsc2VpZihTU0VfTEVWRUwgR1JFQVRFUl9FUVVBTCAyLjApCi0tICAg ICAgICBzZXQoU1NFX0ZMQUdTICItbXNzZTIiKQotLSAgICAgIGVsc2UoKQotLSAgICAgICAgc2V0 KFNTRV9GTEFHUyAiLW1zc2UiKQotLSAgICAgIGVuZGlmKCkKLS0gICAgICBzdHJpbmcoQVBQRU5E IFNTRV9GTEFHUyAiIC1tZnBtYXRoPXNzZSIpCi0rICAgIGlmKCIke0NNQUtFX1NZU1RFTV9QUk9D RVNTT1J9IiBTVFJFUVVBTCAieDg2XzY0IiBBTkQgIiR7Q01BS0VfU0laRU9GX1ZPSURfUH0iIFNU UkVRVUFMICI4IikKLSsgICAgICAgICAgTUVTU0FHRShTVEFUVVMgIkVuYWJsaW5nIFNTRSBTdXBw b3J0ICgke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9LCAke0NNQUtFX1NJWkVPRl9WT0lEX1B9KSIp Ci0rICAgICAgICAgIHNldChTU0VfRkxBR1MgIi1tc3NlMiIpCi0gICAgIGVsc2UoKQotICAgICAg ICMgU2V0dGluZyAtZmZsb2F0LXN0b3JlIHRvIGFsbGV2aWF0ZSAzMmJpdCB2cyA2NGJpdCBkaXNj cmVwYW5jaWVzIG9uIG5vbi1TU0UKLSAgICAgICAjIHBsYXRmb3Jtcy4KCmRpZmYgLS1naXQgYS9w Y2wtMS4xNS4wLXNwaGlueC5wYXRjaCBiL3BjbC0xLjE1LjAtc3BoaW54LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlMDlmODkKLS0tIC9kZXYvbnVsbAorKysgYi9w Y2wtMS4xNS4wLXNwaGlueC5wYXRjaApAQCAtMCwwICsxLDQyIEBACitkaWZmIC11cCAuL2RvYy9h ZHZhbmNlZC9jb250ZW50L2NvbmYucHkuc3BoaW54IC4vZG9jL2FkdmFuY2VkL2NvbnRlbnQvY29u Zi5weQorLS0tIC4vZG9jL2FkdmFuY2VkL2NvbnRlbnQvY29uZi5weS5zcGhpbngJMjAyNS0wMi0y MiAwOToyMDoxNy4wMDAwMDAwMDAgLTA1MDAKKysrKyAuL2RvYy9hZHZhbmNlZC9jb250ZW50L2Nv bmYucHkJMjAyNS0wMy0xNSAxMjoyNDoxNi4xMTE3MjQ5NDcgLTA0MDAKK0BAIC00LDcgKzQsNyBA QAorICMgLS0gR2VuZXJhbCBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBBZGQgYW55IFNwaGlueCBleHRlbnNpb24g bW9kdWxlIG5hbWVzIGhlcmUsIGFzIHN0cmluZ3MuIFRoZXkgY2FuIGJlIGV4dGVuc2lvbnMKKyAj IGNvbWluZyB3aXRoIFNwaGlueCAobmFtZWQgJ3NwaGlueC5leHQuKicpIG9yIHlvdXIgY3VzdG9t IG9uZXMuCistZXh0ZW5zaW9ucyA9IFsnc3BoaW54LmV4dC5pbWdtYXRoJywgJ3NwaGlueGNvbnRy aWIuZG94eWxpbmsnXQorK2V4dGVuc2lvbnMgPSBbJ3NwaGlueC5leHQuaW1nbWF0aCddCisgCisg IyBBZGQgYW55IHBhdGhzIHRoYXQgY29udGFpbiB0ZW1wbGF0ZXMgaGVyZSwgcmVsYXRpdmUgdG8g dGhpcyBkaXJlY3RvcnkuCisgIyB0ZW1wbGF0ZXNfcGF0aCA9IFsnX3RlbXBsYXRlcyddCitAQCAt NjksNyArNjksNyBAQCBweWdtZW50c19zdHlsZSA9ICdzcGhpbngnCisgCisgIyBUaGUgdGhlbWUg dG8gdXNlIGZvciBIVE1MIGFuZCBIVE1MIEhlbHAgcGFnZXMuICBNYWpvciB0aGVtZXMgdGhhdCBj b21lIHdpdGgKKyAjIFNwaGlueCBhcmUgY3VycmVudGx5ICdkZWZhdWx0JyBhbmQgJ3NwaGlueGRv YycuCistaHRtbF90aGVtZSA9ICdzcGhpbnhfcnRkX3RoZW1lJworK2h0bWxfdGhlbWUgPSAnc3Bo aW54ZG9jJworIAorICMgVGhlbWUgb3B0aW9ucyBhcmUgdGhlbWUtc3BlY2lmaWMgYW5kIGN1c3Rv bWl6ZSB0aGUgbG9vayBhbmQgZmVlbCBvZiBhIHRoZW1lCisgIyBmdXJ0aGVyLiAgRm9yIGEgbGlz dCBvZiBvcHRpb25zIGF2YWlsYWJsZSBmb3IgZWFjaCB0aGVtZSwgc2VlIHRoZQorZGlmZiAtdXAg Li9kb2MvdHV0b3JpYWxzL2NvbnRlbnQvY29uZi5weS5zcGhpbnggLi9kb2MvdHV0b3JpYWxzL2Nv bnRlbnQvY29uZi5weQorLS0tIC4vZG9jL3R1dG9yaWFscy9jb250ZW50L2NvbmYucHkuc3BoaW54 CTIwMjUtMDItMjIgMDk6MjA6MTcuMDAwMDAwMDAwIC0wNTAwCisrKysgLi9kb2MvdHV0b3JpYWxz L2NvbnRlbnQvY29uZi5weQkyMDI1LTAzLTE1IDEyOjI0OjQzLjM3MzEwMzI1MyAtMDQwMAorQEAg LTQsNyArNCw3IEBACisgIyAtLSBHZW5lcmFsIGNvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEFkZCBhbnkgU3BoaW54 IGV4dGVuc2lvbiBtb2R1bGUgbmFtZXMgaGVyZSwgYXMgc3RyaW5ncy4gVGhleSBjYW4gYmUgZXh0 ZW5zaW9ucworICMgY29taW5nIHdpdGggU3BoaW54IChuYW1lZCAnc3BoaW54LmV4dC4qJykgb3Ig eW91ciBjdXN0b20gb25lcy4KKy1leHRlbnNpb25zID0gWydzcGhpbnguZXh0LmltZ21hdGgnLCAn c3BoaW54Y29udHJpYi5kb3h5bGluayddCisrZXh0ZW5zaW9ucyA9IFsnc3BoaW54LmV4dC5pbWdt YXRoJ10KKyBpbWdtYXRoX2R2aXBuZ19hcmdzID0gWyctZ2FtbWEnLCAnMS41JywgJy1EJywgJzEx MCcsICctYmcnLCAnVHJhbnNwYXJlbnQnXQorIAorICMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRh aW4gdGVtcGxhdGVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LgorQEAgLTcwLDcg KzcwLDcgQEAgcHlnbWVudHNfc3R5bGUgPSAnc3BoaW54JworIAorICMgVGhlIHRoZW1lIHRvIHVz ZSBmb3IgSFRNTCBhbmQgSFRNTCBIZWxwIHBhZ2VzLiAgTWFqb3IgdGhlbWVzIHRoYXQgY29tZSB3 aXRoCisgIyBTcGhpbnggYXJlIGN1cnJlbnRseSAnZGVmYXVsdCcgYW5kICdzcGhpbnhkb2MnLgor LWh0bWxfdGhlbWUgPSAnc3BoaW54X3J0ZF90aGVtZScKKytodG1sX3RoZW1lID0gJ3NwaGlueGRv YycKKyAKKyAjIFRoZW1lIG9wdGlvbnMgYXJlIHRoZW1lLXNwZWNpZmljIGFuZCBjdXN0b21pemUg dGhlIGxvb2sgYW5kIGZlZWwgb2YgYSB0aGVtZQorICMgZnVydGhlci4gIEZvciBhIGxpc3Qgb2Yg b3B0aW9ucyBhdmFpbGFibGUgZm9yIGVhY2ggdGhlbWUsIHNlZSB0aGUKCmRpZmYgLS1naXQgYS9w Y2wtMS4xNS4wLXNzZTIucGF0Y2ggYi9wY2wtMS4xNS4wLXNzZTIucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3NWQ0OAotLS0gL2Rldi9udWxsCisrKyBiL3BjbC0x LjE1LjAtc3NlMi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitkaWZmIC11cCAuL2NtYWtlL3BjbF9m aW5kX3NzZS5jbWFrZS5zc2UyIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlCistLS0gLi9jbWFr ZS9wY2xfZmluZF9zc2UuY21ha2Uuc3NlMgkyMDI1LTAyLTIyIDA5OjIwOjE3LjAwMDAwMDAwMCAt MDUwMAorKysrIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlCTIwMjUtMDMtMTUgMTI6MjI6NTIu MTgwMTY5NDIyIC0wNDAwCitAQCAtMTk3LDM1ICsxOTcsMTUgQEAgZnVuY3Rpb24oUENMX0NIRUNL X0ZPUl9TU0UpCisgICBlbmRpZigpCisgICAKKyAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUND IE9SIENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFORykK Ky0gICAgaWYoU1NFX0xFVkVMIEdSRUFURVJfRVFVQUwgMS4wKQorLSAgICAgIGlmKFNTRV9MRVZF TCBHUkVBVEVSX0VRVUFMIDQuMikKKy0gICAgICAgIHNldChTU0VfRkxBR1MgIi1tc3NlNC4yIikK Ky0gICAgICBlbHNlaWYoU1NFX0xFVkVMIEdSRUFURVJfRVFVQUwgNC4xKQorLSAgICAgICAgc2V0 KFNTRV9GTEFHUyAiLW1zc2U0LjEiKQorLSAgICAgIGVsc2VpZihTU0VfTEVWRUwgR1JFQVRFUl9F UVVBTCAzLjEpCistICAgICAgICBzZXQoU1NFX0ZMQUdTICItbXNzZTMiKQorLSAgICAgIGVsc2Vp ZihTU0VfTEVWRUwgR1JFQVRFUl9FUVVBTCAzLjApCistICAgICAgICBzZXQoU1NFX0ZMQUdTICIt bXNzZTMiKQorLSAgICAgIGVsc2VpZihTU0VfTEVWRUwgR1JFQVRFUl9FUVVBTCAyLjApCistICAg ICAgICBzZXQoU1NFX0ZMQUdTICItbXNzZTIiKQorLSAgICAgIGVsc2UoKQorLSAgICAgICAgc2V0 KFNTRV9GTEFHUyAiLW1zc2UiKQorLSAgICAgIGVuZGlmKCkKKy0gICAgICBzdHJpbmcoQVBQRU5E IFNTRV9GTEFHUyAiIC1tZnBtYXRoPXNzZSIpCisrICAgIGlmKCIke0NNQUtFX1NZU1RFTV9QUk9D RVNTT1J9IiBTVFJFUVVBTCAieDg2XzY0IiBBTkQgIiR7Q01BS0VfU0laRU9GX1ZPSURfUH0iIFNU UkVRVUFMICI4IikKKysgICAgICAgICAgTUVTU0FHRShTVEFUVVMgIkVuYWJsaW5nIFNTRSBTdXBw b3J0ICgke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9LCAke0NNQUtFX1NJWkVPRl9WT0lEX1B9KSIp CisrICAgICAgICAgIHNldChTU0VfRkxBR1MgIi1tc3NlMiIpCisgICAgIGVsc2UoKQorICAgICAg ICMgU2V0dGluZyAtZmZsb2F0LXN0b3JlIHRvIGFsbGV2aWF0ZSAzMmJpdCB2cyA2NGJpdCBkaXNj cmVwYW5jaWVzIG9uIG5vbi1TU0UKKyAgICAgICAjIHBsYXRmb3Jtcy4KKyAgICAgICBzdHJpbmco QVBQRU5EIFNTRV9GTEFHUyAiIC1mZmxvYXQtc3RvcmUiKQorICAgICBlbmRpZigpCisgICAgIAor LSAgICBpZihQQ0xfRU5BQkxFX01BUkNITkFUSVZFIEFORCAoTk9UIENNQUtFX0NST1NTQ09NUElM SU5HKSkKKy0gICAgICBpZihIQVZFX01BUkNIKQorLSAgICAgICAgICBzdHJpbmcoQVBQRU5EIFNT RV9GTEFHUyAiIC1tYXJjaD1uYXRpdmUiKQorLSAgICAgIGVsc2UoKQorLSAgICAgICAgICBzdHJp bmcoQVBQRU5EIFNTRV9GTEFHUyAiIC1tdHVuZT1uYXRpdmUiKQorLSAgICAgIGVuZGlmKCkKKy0g ICAgICBtZXNzYWdlKFNUQVRVUyAiVXNpbmcgQ1BVIG5hdGl2ZSBmbGFncyBmb3IgU1NFIG9wdGlt aXphdGlvbjogJHtTU0VfRkxBR1N9IikKKy0gICAgZW5kaWYoKQorICAgZWxzZWlmKE1TVkMgQU5E IE5PVCBDTUFLRV9TSVpFT0ZfVk9JRF9QKQorICAgICBpZihTU0VfTEVWRUwgR1JFQVRFUl9FUVVB TCAyLjApCisgICAgICAgc2V0KCBTU0VfRkxBR1MgIi9hcmNoOlNTRTIiKQoKZGlmZiAtLWdpdCBh L3BjbC5zcGVjIGIvcGNsLnNwZWMKaW5kZXggM2VmZGQ3ZC4uZDIzZTVkNCAxMDA2NDQKLS0tIGEv cGNsLnNwZWMKKysrIGIvcGNsLnNwZWMKQEAgLTEsNTMgKzEsNTIgQEAKLSV1bmRlZmluZSBfX2Nt YWtlX2luX3NvdXJjZV9idWlsZAotJWdsb2JhbCBhcGl2ZXJzaW9uIDEuMTIKLSVnbG9iYWwgc292 ZXJzaW9uIDEuMTIKKyVnbG9iYWwgYXBpdmVyc2lvbiAxLjE1CislZ2xvYmFsIHNvdmVyc2lvbiAx LjE1CiAKIE5hbWU6ICAgICAgICAgICBwY2wKLVZlcnNpb246ICAgICAgICAxLjEyLjAKK1ZlcnNp b246ICAgICAgICAxLjE1LjAKIFJlbGVhc2U6ICAgICAgICAlYXV0b3JlbGVhc2UKIFN1bW1hcnk6 ICAgICAgICBMaWJyYXJ5IGZvciBwb2ludCBjbG91ZCBwcm9jZXNzaW5nCi0jIEF1dG9tYXRpY2Fs bHkgY29udmVydGVkIGZyb20gb2xkIGZvcm1hdDogQlNEIC0gcmV2aWV3IGlzIGhpZ2hseSByZWNv bW1lbmRlZC4KLUxpY2Vuc2U6ICAgICAgICBMaWNlbnNlUmVmLUNhbGxhd2F5LUJTRAorIyBQQ0wg aXMgQlNELTMtQ2xhdXNlCisjIGx6Zi5oL2NwcCBpbiBpbyBhcmUgQlNELTItQ2xhdXNlCisjIG91 dG9mY29yZS9pbmNsdWRlL3BjbC9vdXRvZmNvcmUvY0pTT04uaCBpcyBNSVQKKyMgcmVjb2duaXRp b24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vM3JkcGFydHkvbWV0c2xpYiBpcyBCU0QtMi1DbGF1 c2UKK0xpY2Vuc2U6ICAgICAgICBCU0QtMy1DbGF1c2UgYW5kIEJTRC0yLUNsYXVzZSBhbmQgTUlU CiBVUkw6ICAgICAgICAgICAgaHR0cDovL3BvaW50Y2xvdWRzLm9yZy8KIAotIyBTb3VyY2Ugc25h cHNob3RzIGNvbnRhaW4gdW4tcmVkaXN0cmlidXRhYmxlIHNvdXJjZXMgZnJvbSBudmlkaWEKLSMg Y3JlYXRlX3RhcmJhbGxfcGNsLnNoIHByb3ZpZGVkIHRvIHN0cmlwIG5vbi1mcmVlIHNvdXJjZXMK LVNvdXJjZTA6ICAgICAgICAle25hbWV9LSV7dmVyc2lvbn0tZmVkb3JhLnRhci54egotU291cmNl MTogICAgICAgIGNyZWF0ZV90YXJiYWxsX3BjbC5zaAorU291cmNlMDogICAgICAgIGh0dHBzOi8v Z2l0aHViLmNvbS9Qb2ludENsb3VkTGlicmFyeS8le25hbWV9L2FyY2hpdmUvJXtuYW1lfS0le3Zl cnNpb259LyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKKworIyBTeXN0ZW0gbWV0c2xpYiBkb2Vz bid0IGJ1aWxkIHVuZGVyIGMrKzE3CisjIEluY2x1ZGVkIHZlcnNpb24gY29udGFpbnMgZml4ZXMu CitQcm92aWRlczogYnVuZGxlZChtZXRzbGliKQogCiAjIE9ubHkgZW5hYmxlIHNzZTIsIGFuZCBv bmx5IG9uIHg4Nl82NAotUGF0Y2gwOiAgICAgICAgICV7bmFtZX0tMS4xMi4wLXNzZTIucGF0Y2gK LSMgTG9vayBmb3IgZXh0ZXJuYWwgbWV0c2xpYiwgbm90IHVwc3RyZWFtCi1QYXRjaDE6ICAgICAg ICAgJXtuYW1lfS0xLjEyLjAtbWV0c2xpYi5wYXRjaAorUGF0Y2gwOiAgICAgICAgICV7bmFtZX0t MS4xNS4wLXNzZTIucGF0Y2gKICMgUGF0Y2ggZm9yIFBDTENvbmZpZy5jbWFrZSB0byBmaW5kIHBj bAogUGF0Y2gyOiAgICAgICAgICV7bmFtZX0tMS4xMi4wLWZlZG9yYS5wYXRjaAogIyBFeGNsdWRl IHRoZSAiYnVpbGQiIGRpcmVjdG9yeSBmcm9tIGRveHlnZW4gcHJvY2Vzc2luZy4KIFBhdGNoMzog ICAgICAgICAle25hbWV9LTEuMTEuMC1kb3h5Zml4LnBhdGNoCi0jIFNwbGl0IHVwIGV4cGxpY2l0 IHRlbXBsYXRlIGluc3RhbnRpYXRpb25zIHNvIHRoYXQgYnVpbGRlcnMgZG9uJ3QgcnVuIG91dCBv ZiBtZW1vcnkKLVBhdGNoNDogICAgICAgICAle25hbWV9LTEuMTIuMC1vb20ucGF0Y2gKICMgVXNl IGEgYnVpbHQtaW4gc3BoaW54IGRvY3VtZW50YXRpb24gdGhlbWUgYW5kIGRpc2FibGUgZG94eWxp bmsgcGx1Z2luCi1QYXRjaDU6ICAgICAgICAgJXtuYW1lfS0xLjExLjAtc3BoaW54LnBhdGNoCi1Q YXRjaDY6ICAgICAgICAgJXtuYW1lfS0xLjEyLjAtYm9vc3QxNzYucGF0Y2gKLQorUGF0Y2g1OiAg ICAgICAgICV7bmFtZX0tMS4xNS4wLXNwaGlueC5wYXRjaAogIyBGb3IgcGxhaW4gYnVpbGRpbmcK IEJ1aWxkUmVxdWlyZXM6ICBjbWFrZSwgZ2NjLWMrKywgYm9vc3QtZGV2ZWwKICMgRG9jdW1lbnRh dGlvbgogQnVpbGRSZXF1aXJlczogIGRveHlnZW4sIGdyYXBodml6LCAvdXNyL2Jpbi9zcGhpbngt YnVpbGQKIAogIyBtYW5kYXRvcnkKLUJ1aWxkUmVxdWlyZXM6ICBlaWdlbjMtc3RhdGljLCBmbGFu bi1kZXZlbCwgdnRrLWRldmVsLCBnbDJwcy1kZXZlbCwgaGRmNS1kZXZlbCwgbGlieG1sMi1kZXZl bCwgbmV0Y2RmLWN4eC1kZXZlbCwganNvbmNwcC1kZXZlbCwgbWV0c2xpYi1zdGF0aWMsIGxpYlhl eHQtZGV2ZWwKLQorQnVpbGRSZXF1aXJlczogIGVpZ2VuMy1zdGF0aWMsIGZsYW5uLWRldmVsLCB2 dGstZGV2ZWwsIGdsMnBzLWRldmVsLCBoZGY1LWRldmVsLCBsaWJ4bWwyLWRldmVsLCBuZXRjZGYt Y3h4LWRldmVsLCBqc29uY3BwLWRldmVsLCBsaWJYZXh0LWRldmVsLCBsaWJhdG9taWMKICMgVG8g Zml4IEltcG9ydGVkIHRhcmdldCAiVlRLOjpKYXZhIiBpbmNsdWRlcyBub24tZXhpc3RlbnQgcGF0 aCAiL3Vzci9saWIvanZtL2phdmEvaW5jbHVkZSIgaW4gaXRzIElOVEVSRkFDRV9JTkNMVURFX0RJ UkVDVE9SSUVTCiAlaWZhcmNoICV7amF2YV9hcmNoZXN9CiBCdWlsZFJlcXVpcmVzOiAgamF2YS1k ZXZlbAogJWVuZGlmCiAKICMgb3B0aW9uYWwKLUJ1aWxkUmVxdWlyZXM6ICBxdDUtcXRiYXNlLWRl dmVsLCBxaHVsbC1kZXZlbCwgbGlidXNieC1kZXZlbCwgZ3Rlc3QtZGV2ZWwsIHF0NS1xdHdlYmtp dC1kZXZlbAorQnVpbGRSZXF1aXJlczogIGNqc29uLWRldmVsLCBsaWJwY2FwLWRldmVsLCBxdDUt cXRiYXNlLWRldmVsLCBxaHVsbC1kZXZlbCwgbGlidXNieC1kZXZlbCwgZ3Rlc3QtZGV2ZWwsIHF0 NS1xdHdlYmtpdC1kZXZlbAogJWlmYXJjaCB4ODZfNjQKIEJ1aWxkUmVxdWlyZXM6ICBvcGVubmkt ZGV2ZWwKICVlbmRpZgogCisjIFRlc3RpbmcKK0J1aWxkUmVxdWlyZXM6ICBndGVzdC1kZXZlbAor CiAlZGVzY3JpcHRpb24KIFRoZSBQb2ludCBDbG91ZCBMaWJyYXJ5IChvciBQQ0wpIGlzIGEgbGFy Z2Ugc2NhbGUsIG9wZW4gcHJvamVjdCBmb3IgcG9pbnQKIGNsb3VkIHByb2Nlc3NpbmcuCkBAIC04 OSwxNyArODgsMTMgQEAgTGlicmFyeS4KIAogCiAlcHJlcAotJXNldHVwIC1xbiAle25hbWV9LSV7 dmVyc2lvbn0KKyVzZXR1cCAtcW4gJXtuYW1lfS0le25hbWV9LSV7dmVyc2lvbn0KICVwYXRjaCAt UDAgLXAxIC1iIC5zc2UyCi0lcGF0Y2ggLVAxIC1wMSAtYiAubWV0c2xpYgogJXBhdGNoIC1QMiAt cDAgLWIgLmZlZG9yYQogJXBhdGNoIC1QMyAtcDAgLWIgLmRveHlmaXgKLSVwYXRjaCAtUDQgLXAx IC1iIC5vb20KICVwYXRjaCAtUDUgLXAxIC1iIC5zcGhpbngKLSVwYXRjaCAtUDYgLXAxIC1iIC5i b29zdDE3NgogCiAjIEp1c3QgdG8gbWFrZSBpdCBvYnZpb3VzIHdlJ3JlIG5vdCB1c2luZyBhbnkg b2YgdGhlc2UKLXJtIC1mciByZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi8zcmRw YXJ0eS9tZXRzbGliCiBybSAtZnIgc3VyZmFjZS9zcmMvM3JkcGFydHkvb3Blbm51cmJzCiBybSAt cmYgc3VyZmFjZS9pbmNsdWRlL3BjbC9zdXJmYWNlLzNyZHBhcnR5L29wZW5udXJicwogCkBAIC0x MDksMTAgKzEwNCwxMCBAQCBzZWQgLWkgJ3N8QFBDTF9TT1VSQ0VfRElSQC9idWlsZHxAUENMX1NP VVJDRV9ESVJALyV7X3ZwYXRoX2J1aWxkZGlyfXwnIGRvYy9kb3h5ZwogJWJ1aWxkCiAjIHRyeSB0 byByZWR1Y2UgbWVtb3J5IHVzYWdlIG9mIGNvbXBpbGUgcHJvY2VzcyAoY2FuIGNhdXNlIE9PTSBl cnJvcnMKICMgZXNwLiBvbiBBUk0gYnVpbGRlcnMpCi0lZ2xvYmFsIG9wdGZsYWdzICUoZWNobyAl e29wdGZsYWdzfSB8IHNlZCAtZSAncy8tZyAvLWcxIC8nIC1lICdzLy1waXBlIC8vJyAtZSdzLy1m ZmF0LWx0by1vYmplY3RzLy1mbm8tZmF0LWx0by1vYmplY3RzLycpCisjJWdsb2JhbCBvcHRmbGFn cyAlKGVjaG8gJXtvcHRmbGFnc30gfCBzZWQgLWUgJ3MvLWcgLy1nMSAvJyAtZSAncy8tcGlwZSAv LycgLWUncy8tZmZhdC1sdG8tb2JqZWN0cy8tZm5vLWZhdC1sdG8tb2JqZWN0cy8nKQogCiAlY21h a2UgXAotICAtRENNQUtFX0JVSUxEX1RZUEU9Tm9uZSBcCisgIC1EQ01BS0VfQlVJTERfVFlQRT1S ZWxlYXNlIFwKICAgLURXSVRIX0RPQ1M9T04gXAogICAtRFdJVEhfQ1VEQT1PRkYgXAogICAtRFdJ VEhfVFVUT1JJQUxTPU9OIFwKQEAgLTEyMCw2ICsxMTUsNyBAQCBzZWQgLWkgJ3N8QFBDTF9TT1VS Q0VfRElSQC9idWlsZHxAUENMX1NPVVJDRV9ESVJALyV7X3ZwYXRoX2J1aWxkZGlyfXwnIGRvYy9k b3h5ZwogICAtREJVSUxEX2dsb2JhbF90ZXN0cz1PRkYgXAogICAtRE9QRU5OSV9JTkNMVURFX0RJ UjpQQVRIPS91c3IvaW5jbHVkZS9uaSBcCiAgIC1ETElCX0lOU1RBTExfRElSPSV7X2xpYn0gXAor ICAtRFBDTF9XQVJOSU5HU19BUkVfRVJST1JTPU9GRiBcCiAlaWZhcmNoIHg4Nl82NAogICAtRFBD TF9FTkFCTEVfU1NFPU9OIFwKICVlbHNlCkBAIC0xNjksOCArMTY1LDYgQEAgbXYgJFJQTV9CVUlM RF9ST09UJXtfZGF0YWRpcn0vJXtuYW1lfS0qL01vZHVsZXMgJFJQTV9CVUlMRF9ST09UJXtfbGli ZGlyfS9jbWFrZS8KICVjaGVjawogJWN0ZXN0IHx8IHRydWUKIAotJWxkY29uZmlnX3NjcmlwdGxl dHMKLQogCiAlZmlsZXMKICVsaWNlbnNlIExJQ0VOU0UudHh0CgpkaWZmIC0tZ2l0IGEvc291cmNl cyBiL3NvdXJjZXMKaW5kZXggYTNlMjNjNi4uZjAwNjJiNCAxMDA2NDQKLS0tIGEvc291cmNlcwor KysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKHBjbC0xLjEyLjAtZmVkb3JhLnRhci54 eikgPSAwYWE0YmVjMzkyYzMwNGY2ZjgwODZjOWMzMTYzODNkYTkwZmUyZDdhZTVjMDk1ZDUxZjlh YzhjZTY4MGMzYWRkZDI3YzYxYThlNjI0MGM4MzY3YjVlNTdlYjIwYjYwOGI5ZTE0NmMxYjBiYTNj ZTIzMmJlM2UzMWIyNTliMGMxZAorU0hBNTEyIChwY2wtMS4xNS4wLnRhci5neikgPSBhMWFiNDg1 OGI4ZTViZGU1YjIxYmIzZTA0ZGNkY2Q5Y2E2OTIwNGFhMzdhOTBkZWUzMzZkNGRhNDUyY2I0YmUw YTViNmEyYjJiNDc3NjY4ZDRlODI4OTE5NTUzOTg4MjVlOTcwMDlmYjU4MDVkZjkzMWFmM2M3ZDI1 M2U5MTAwZQo=