[3.15] gh-105812: Make use of the Sphinx `deco` role in documentation (GH-139598) (#154979)
hugovk <[email protected]> Fri, 31 Jul 2026 05:29:10 -0400 (EDT)
| Newsgroups | gmane.comp.python.cvs |
|---|---|
| Message-ID | <[email protected]> |
aHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC9iM2JmZWFlYmFmYmQ3YmM5 MWY5ODRkOGQwYmNmNzEwMDBiZDQ0NThhDQpjb21taXQ6IGIzYmZlYWViYWZiZDdiYzkxZjk4NGQ4 ZDBiY2Y3MTAwMGJkNDQ1OGENCmJyYW5jaDogMy4xNQ0KYXV0aG9yOiBIdWdvIHZhbiBLZW1lbmFk ZSA8MTMyNDIyNStodWdvdmtAdXNlcnMubm9yZXBseS5naXRodWIuY29tPg0KY29tbWl0dGVyOiBo dWdvdmsgPDEzMjQyMjUraHVnb3ZrQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4NCmRhdGU6IDIw MjYtMDctMzFUMTI6Mjg6NTcrMDM6MDANCnN1bW1hcnk6DQoNClszLjE1XSBnaC0xMDU4MTI6IE1h a2UgdXNlIG9mIHRoZSBTcGhpbnggYGRlY29gIHJvbGUgaW4gZG9jdW1lbnRhdGlvbiAoR0gtMTM5 NTk4KSAoIzE1NDk3OSkNCg0KQ28tYXV0aG9yZWQtYnk6IFZpY3RvcmllbiA8NjUzMDYwNTcrVmlp Y29zQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4NCg0KZmlsZXM6DQpNIERvYy9jLWFwaS9leGNl cHRpb25zLnJzdA0KTSBEb2MvYy1hcGkvc3RydWN0dXJlcy5yc3QNCk0gRG9jL2RlcHJlY2F0aW9u cy9wZW5kaW5nLXJlbW92YWwtaW4tMy4xNS5yc3QNCk0gRG9jL2ZhcS9wcm9ncmFtbWluZy5yc3QN Ck0gRG9jL2dsb3NzYXJ5LnJzdA0KTSBEb2MvaG93dG8vYW5ub3RhdGlvbnMucnN0DQpNIERvYy9o b3d0by9kZXNjcmlwdG9yLnJzdA0KTSBEb2MvaG93dG8vZW51bS5yc3QNCk0gRG9jL2hvd3RvL3Nv cnRpbmcucnN0DQpNIERvYy9saWJyYXJ5L2FiYy5yc3QNCk0gRG9jL2xpYnJhcnkvYmlzZWN0LnJz dA0KTSBEb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QNCk0gRG9jL2xpYnJhcnkvY29udGV4dGxp Yi5yc3QNCk0gRG9jL2xpYnJhcnkvY3R5cGVzLnJzdA0KTSBEb2MvbGlicmFyeS9lbnVtLnJzdA0K TSBEb2MvbGlicmFyeS9mbm1hdGNoLnJzdA0KTSBEb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0DQpN IERvYy9saWJyYXJ5L2Z1bmN0b29scy5yc3QNCk0gRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QNCk0g RG9jL2xpYnJhcnkvdGVzdC5yc3QNCk0gRG9jL2xpYnJhcnkvdHlwaW5nLnJzdA0KTSBEb2MvbGli cmFyeS91bml0dGVzdC5yc3QNCk0gRG9jL3JlZmVyZW5jZS9jb21wb3VuZF9zdG10cy5yc3QNCk0g RG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0DQpNIERvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMu cnN0DQpNIERvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdA0KTSBEb2Mvd2hhdHNuZXcvMi42 LnJzdA0KTSBEb2Mvd2hhdHNuZXcvMi43LnJzdA0KTSBEb2Mvd2hhdHNuZXcvMy4xMC5yc3QNCk0g RG9jL3doYXRzbmV3LzMuMTEucnN0DQpNIERvYy93aGF0c25ldy8zLjEyLnJzdA0KTSBEb2Mvd2hh dHNuZXcvMy4xMy5yc3QNCk0gRG9jL3doYXRzbmV3LzMuMTUucnN0DQpNIERvYy93aGF0c25ldy8z LjIucnN0DQpNIERvYy93aGF0c25ldy8zLjMucnN0DQpNIERvYy93aGF0c25ldy8zLjQucnN0DQpN IERvYy93aGF0c25ldy8zLjUucnN0DQpNIERvYy93aGF0c25ldy8zLjcucnN0DQpNIERvYy93aGF0 c25ldy8zLjgucnN0DQoNCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QgYi9E b2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QNCmluZGV4IDhkMjg0OTU0YjA0OTg5NS4uNDA1MjJmOGM3 YjEzNzU2IDEwMDY0NA0KLS0tIGEvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0DQorKysgYi9Eb2Mv Yy1hcGkvZXhjZXB0aW9ucy5yc3QNCkBAIC0xMDU2LDcgKzEwNTYsNyBAQCBQcm9wZXJseSBpbXBs ZW1lbnRpbmcgOmM6bWVtYmVyOmB+UHlUeXBlT2JqZWN0LnRwX3JlcHJgIGZvciBjb250YWluZXIg dHlwZXMgcmVxdQ0KIHNwZWNpYWwgcmVjdXJzaW9uIGhhbmRsaW5nLiAgSW4gYWRkaXRpb24gdG8g cHJvdGVjdGluZyB0aGUgc3RhY2ssDQogOmM6bWVtYmVyOmB+UHlUeXBlT2JqZWN0LnRwX3JlcHJg IGFsc28gbmVlZHMgdG8gdHJhY2sgb2JqZWN0cyB0byBwcmV2ZW50IGN5Y2xlcy4gIFRoZQ0KIGZv bGxvd2luZyB0d28gZnVuY3Rpb25zIGZhY2lsaXRhdGUgdGhpcyBmdW5jdGlvbmFsaXR5LiAgRWZm ZWN0aXZlbHksDQotdGhlc2UgYXJlIHRoZSBDIGVxdWl2YWxlbnQgdG8gOmZ1bmM6YHJlcHJsaWIu cmVjdXJzaXZlX3JlcHJgLg0KK3RoZXNlIGFyZSB0aGUgQyBlcXVpdmFsZW50IHRvIDpkZWNvOmBy ZXBybGliLnJlY3Vyc2l2ZV9yZXByYC4NCiANCiAuLiBjOmZ1bmN0aW9uOjogaW50IFB5X1JlcHJF bnRlcihQeU9iamVjdCAqb2JqZWN0KQ0KIA0KZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9zdHJ1Y3R1 cmVzLnJzdCBiL0RvYy9jLWFwaS9zdHJ1Y3R1cmVzLnJzdA0KaW5kZXggYWVjYTQxMjYxMDMxN2Zl Li4xZGRkZTVkMTM2YjNiYjEgMTAwNjQ0DQotLS0gYS9Eb2MvYy1hcGkvc3RydWN0dXJlcy5yc3QN CisrKyBiL0RvYy9jLWFwaS9zdHJ1Y3R1cmVzLnJzdA0KQEAgLTQ1NCw4ICs0NTQsOCBAQCBtZXRo b2QuDQogDQogICAgVGhlIG1ldGhvZCB3aWxsIGJlIHBhc3NlZCB0aGUgdHlwZSBvYmplY3QgYXMg dGhlIGZpcnN0IHBhcmFtZXRlciByYXRoZXINCiAgICB0aGFuIGFuIGluc3RhbmNlIG9mIHRoZSB0 eXBlLiAgVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSAqY2xhc3MgbWV0aG9kcyosDQotICAgc2ltaWxh ciB0byB3aGF0IGlzIGNyZWF0ZWQgd2hlbiB1c2luZyB0aGUgOmZ1bmM6YGNsYXNzbWV0aG9kYCBi dWlsdC1pbg0KLSAgIGZ1bmN0aW9uLg0KKyAgIHNpbWlsYXIgdG8gd2hhdCBpcyBjcmVhdGVkIHdo ZW4gdXNpbmcgdGhlIDpkZWNvOmBjbGFzc21ldGhvZGAgYnVpbHQtaW4NCisgICBkZWNvcmF0b3Iu DQogDQogDQogLi4gYzptYWNybzo6IE1FVEhfU1RBVElDDQpAQCAtNDY0LDcgKzQ2NCw3IEBAIG1l dGhvZC4NCiANCiAgICBUaGUgbWV0aG9kIHdpbGwgYmUgcGFzc2VkIGBgTlVMTGBgIGFzIHRoZSBm aXJzdCBwYXJhbWV0ZXIgcmF0aGVyIHRoYW4gYW4NCiAgICBpbnN0YW5jZSBvZiB0aGUgdHlwZS4g IFRoaXMgaXMgdXNlZCB0byBjcmVhdGUgKnN0YXRpYyBtZXRob2RzKiwgc2ltaWxhciB0bw0KLSAg IHdoYXQgaXMgY3JlYXRlZCB3aGVuIHVzaW5nIHRoZSA6ZnVuYzpgc3RhdGljbWV0aG9kYCBidWls dC1pbiBmdW5jdGlvbi4NCisgICB3aGF0IGlzIGNyZWF0ZWQgd2hlbiB1c2luZyB0aGUgOmRlY286 YHN0YXRpY21ldGhvZGAgYnVpbHQtaW4gZGVjb3JhdG9yLg0KIA0KIE9uZSBvdGhlciBjb25zdGFu dCBjb250cm9scyB3aGV0aGVyIGEgbWV0aG9kIGlzIGxvYWRlZCBpbiBwbGFjZSBvZiBhbm90aGVy DQogZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG1ldGhvZCBuYW1lLg0KZGlmZiAtLWdpdCBhL0Rv Yy9kZXByZWNhdGlvbnMvcGVuZGluZy1yZW1vdmFsLWluLTMuMTUucnN0IGIvRG9jL2RlcHJlY2F0 aW9ucy9wZW5kaW5nLXJlbW92YWwtaW4tMy4xNS5yc3QNCmluZGV4IDFkOWEzMDk1ODEzYTZkZS4u YWM0MDE0ZGE1MmI5YTQ4IDEwMDY0NA0KLS0tIGEvRG9jL2RlcHJlY2F0aW9ucy9wZW5kaW5nLXJl bW92YWwtaW4tMy4xNS5yc3QNCisrKyBiL0RvYy9kZXByZWNhdGlvbnMvcGVuZGluZy1yZW1vdmFs LWluLTMuMTUucnN0DQpAQCAtODIsNyArODIsNyBAQCBQZW5kaW5nIHJlbW92YWwgaW4gUHl0aG9u IDMuMTUNCiAgICAgVXNlIGBgY2xhc3MgVEQoVHlwZWREaWN0KTogcGFzc2BgIG9yIGBgVEQgPSBU eXBlZERpY3QoIlREIiwge30pYGANCiAgICAgdG8gY3JlYXRlIGEgVHlwZWREaWN0IHdpdGggemVy byBmaWVsZC4NCiANCi0gICogVGhlIDpmdW5jOmAhdHlwaW5nLm5vX3R5cGVfY2hlY2tfZGVjb3Jh dG9yYCBkZWNvcmF0b3IgZnVuY3Rpb24NCisgICogVGhlIDpkZWNvOmAhdHlwaW5nLm5vX3R5cGVf Y2hlY2tfZGVjb3JhdG9yYCBkZWNvcmF0b3IgZnVuY3Rpb24NCiAgICAgaGFzIGJlZW4gZGVwcmVj YXRlZCBzaW5jZSBQeXRob24gMy4xMy4NCiAgICAgQWZ0ZXIgZWlnaHQgeWVhcnMgaW4gdGhlIDpt b2Q6YHR5cGluZ2AgbW9kdWxlLA0KICAgICBpdCBoYXMgeWV0IHRvIGJlIHN1cHBvcnRlZCBieSBh bnkgbWFqb3IgdHlwZSBjaGVja2VyLg0KZGlmZiAtLWdpdCBhL0RvYy9mYXEvcHJvZ3JhbW1pbmcu cnN0IGIvRG9jL2ZhcS9wcm9ncmFtbWluZy5yc3QNCmluZGV4IDU5MTU2NWNiYzAxMzU3NS4uYzJm OGY3MmVlMWYyYzRiIDEwMDY0NA0KLS0tIGEvRG9jL2ZhcS9wcm9ncmFtbWluZy5yc3QNCisrKyBi L0RvYy9mYXEvcHJvZ3JhbW1pbmcucnN0DQpAQCAtMjAwMyw3ICsyMDAzLDcgQEAgSG93IGRvIEkg Y2FjaGUgbWV0aG9kIGNhbGxzPw0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiANCiBU aGUgdHdvIHByaW5jaXBhbCB0b29scyBmb3IgY2FjaGluZyBtZXRob2RzIGFyZQ0KLTpmdW5jOmBm dW5jdG9vbHMuY2FjaGVkX3Byb3BlcnR5YCBhbmQgOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVg LiAgVGhlDQorOmRlY286YGZ1bmN0b29scy5jYWNoZWRfcHJvcGVydHlgIGFuZCA6ZGVjbzpgZnVu Y3Rvb2xzLmxydV9jYWNoZWAuICBUaGUNCiBmb3JtZXIgc3RvcmVzIHJlc3VsdHMgYXQgdGhlIGlu c3RhbmNlIGxldmVsIGFuZCB0aGUgbGF0dGVyIGF0IHRoZSBjbGFzcw0KIGxldmVsLg0KIA0KZGlm ZiAtLWdpdCBhL0RvYy9nbG9zc2FyeS5yc3QgYi9Eb2MvZ2xvc3NhcnkucnN0DQppbmRleCA1MTVm YTc3ZGQwMzhkZjIuLmJiMDBhNGYwMmYwZWZkNSAxMDA2NDQNCi0tLSBhL0RvYy9nbG9zc2FyeS5y c3QNCisrKyBiL0RvYy9nbG9zc2FyeS5yc3QNCkBAIC00MTYsNyArNDE2LDcgQEAgR2xvc3NhcnkN CiAgICBkZWNvcmF0b3INCiAgICAgICBBIGZ1bmN0aW9uIHJldHVybmluZyBhbm90aGVyIGZ1bmN0 aW9uLCB1c3VhbGx5IGFwcGxpZWQgYXMgYSBmdW5jdGlvbg0KICAgICAgIHRyYW5zZm9ybWF0aW9u IHVzaW5nIHRoZSBgYEB3cmFwcGVyYGAgc3ludGF4LiAgQ29tbW9uIGV4YW1wbGVzIGZvcg0KLSAg ICAgIGRlY29yYXRvcnMgYXJlIDpmdW5jOmBjbGFzc21ldGhvZGAgYW5kIDpmdW5jOmBzdGF0aWNt ZXRob2RgLg0KKyAgICAgIGRlY29yYXRvcnMgYXJlIDpkZWNvOmBjbGFzc21ldGhvZGAgYW5kIDpk ZWNvOmBzdGF0aWNtZXRob2RgLg0KIA0KICAgICAgIFRoZSBkZWNvcmF0b3Igc3ludGF4IGlzIG1l cmVseSBzeW50YWN0aWMgc3VnYXIsIHRoZSBmb2xsb3dpbmcgdHdvDQogICAgICAgZnVuY3Rpb24g ZGVmaW5pdGlvbnMgYXJlIHNlbWFudGljYWxseSBlcXVpdmFsZW50OjoNCkBAIC02ODksNyArNjg5 LDcgQEAgR2xvc3NhcnkNCiAgICAgICBkZXRlcm1pbmVkIGJ5IHRoZSBkaXNwYXRjaCBhbGdvcml0 aG0uDQogDQogICAgICAgU2VlIGFsc28gdGhlIDp0ZXJtOmBzaW5nbGUgZGlzcGF0Y2hgIGdsb3Nz YXJ5IGVudHJ5LCB0aGUNCi0gICAgICA6ZnVuYzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBk ZWNvcmF0b3IsIGFuZCA6cGVwOmA0NDNgLg0KKyAgICAgIDpkZWNvOmBmdW5jdG9vbHMuc2luZ2xl ZGlzcGF0Y2hgIGRlY29yYXRvciwgYW5kIDpwZXA6YDQ0M2AuDQogDQogICAgZ2VuZXJpYyB0eXBl DQogICAgICAgQSA6dGVybTpgdHlwZWAgdGhhdCBjYW4gYmUgcGFyYW1ldGVyaXplZDsgdHlwaWNh bGx5IGENCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vYW5ub3RhdGlvbnMucnN0IGIvRG9jL2hvd3Rv L2Fubm90YXRpb25zLnJzdA0KaW5kZXggYmQ3ODQyMzUwMTZkYzY2Li5mY2M0ZmU4MzhjNzgzYmEg MTAwNjQ0DQotLS0gYS9Eb2MvaG93dG8vYW5ub3RhdGlvbnMucnN0DQorKysgYi9Eb2MvaG93dG8v YW5ub3RhdGlvbnMucnN0DQpAQCAtMTUyLDcgKzE1Miw3IEBAIG9uIGFuIGFyYml0cmFyeSBvYmpl Y3QgYGBvYGA6DQogICBhcyB0aGUgYGBnbG9iYWxzYGAsIGFuZCBgYGRpY3QodmFycyhvKSlgYCBh cyB0aGUgYGBsb2NhbHNgYCwNCiAgIHdoZW4gY2FsbGluZyA6ZnVuYzpgZXZhbGAuDQogKiBJZiBg YG9gYCBpcyBhIHdyYXBwZWQgY2FsbGFibGUgdXNpbmcgOmZ1bmM6YGZ1bmN0b29scy51cGRhdGVf d3JhcHBlcmAsDQotICA6ZnVuYzpgZnVuY3Rvb2xzLndyYXBzYCwgb3IgOmZ1bmM6YGZ1bmN0b29s cy5wYXJ0aWFsYCwgaXRlcmF0aXZlbHkNCisgIDpkZWNvOmBmdW5jdG9vbHMud3JhcHNgLCBvciA6 ZnVuYzpgZnVuY3Rvb2xzLnBhcnRpYWxgLCBpdGVyYXRpdmVseQ0KICAgdW53cmFwIGl0IGJ5IGFj Y2Vzc2luZyBlaXRoZXIgYGBvLl9fd3JhcHBlZF9fYGAgb3IgYGBvLmZ1bmNgYCBhcw0KICAgYXBw cm9wcmlhdGUsIHVudGlsIHlvdSBoYXZlIGZvdW5kIHRoZSByb290IHVud3JhcHBlZCBmdW5jdGlv bi4NCiAqIElmIGBgb2BgIGlzIGEgY2FsbGFibGUgKGJ1dCBub3QgYSBjbGFzcyksIHVzZQ0KZGlm ZiAtLWdpdCBhL0RvYy9ob3d0by9kZXNjcmlwdG9yLnJzdCBiL0RvYy9ob3d0by9kZXNjcmlwdG9y LnJzdA0KaW5kZXggZWM4M2M2ZjkzZTBkNTRkLi43MjMzODk4ODYwYWRhMTQgMTAwNjQ0DQotLS0g YS9Eb2MvaG93dG8vZGVzY3JpcHRvci5yc3QNCisrKyBiL0RvYy9ob3d0by9kZXNjcmlwdG9yLnJz dA0KQEAgLTI1LDcgKzI1LDcgQEAgVGhpcyBndWlkZSBoYXMgZm91ciBtYWpvciBzZWN0aW9uczoN CiA0KSBUaGUgbGFzdCBzZWN0aW9uIGhhcyBwdXJlIFB5dGhvbiBlcXVpdmFsZW50cyBmb3IgYnVp bHQtaW4gZGVzY3JpcHRvcnMgdGhhdA0KICAgIGFyZSB3cml0dGVuIGluIEMuICBSZWFkIHRoaXMg aWYgeW91J3JlIGN1cmlvdXMgYWJvdXQgaG93IGZ1bmN0aW9ucyB0dXJuDQogICAgaW50byBib3Vu ZCBtZXRob2RzIG9yIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBjb21tb24gdG9vbHMgbGlr ZQ0KLSAgIDpmdW5jOmBjbGFzc21ldGhvZGAsIDpmdW5jOmBzdGF0aWNtZXRob2RgLCA6ZnVuYzpg cHJvcGVydHlgLCBhbmQNCisgICA6ZGVjbzpgY2xhc3NtZXRob2RgLCA6ZGVjbzpgc3RhdGljbWV0 aG9kYCwgOmRlY286YHByb3BlcnR5YCwgYW5kDQogICAgOnRlcm06YF9fc2xvdHNfX2AuDQogDQog DQpAQCAtMzE0LDggKzMxNCw4IEBAIERlc2NyaXB0b3JzIGludmVydCB0aGF0IHJlbGF0aW9uc2hp cCBhbmQgYWxsb3cgdGhlIGRhdGEgYmVpbmcgbG9va2VkLXVwIHRvDQogaGF2ZSBhIHNheSBpbiB0 aGUgbWF0dGVyLg0KIA0KIERlc2NyaXB0b3JzIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhlIGxhbmd1 YWdlLiAgSXQgaXMgaG93IGZ1bmN0aW9ucyB0dXJuIGludG8NCi1ib3VuZCBtZXRob2RzLiAgQ29t bW9uIHRvb2xzIGxpa2UgOmZ1bmM6YGNsYXNzbWV0aG9kYCwgOmZ1bmM6YHN0YXRpY21ldGhvZGAs DQotOmZ1bmM6YHByb3BlcnR5YCwgYW5kIDpmdW5jOmBmdW5jdG9vbHMuY2FjaGVkX3Byb3BlcnR5 YCBhcmUgYWxsIGltcGxlbWVudGVkIGFzDQorYm91bmQgbWV0aG9kcy4gIENvbW1vbiB0b29scyBs aWtlIDpkZWNvOmBjbGFzc21ldGhvZGAsIDpkZWNvOmBzdGF0aWNtZXRob2RgLA0KKzpkZWNvOmBw cm9wZXJ0eWAsIGFuZCA6ZGVjbzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgYXJlIGFsbCBp bXBsZW1lbnRlZCBhcw0KIGRlc2NyaXB0b3JzLg0KIA0KIA0KQEAgLTEzMjMsNyArMTMyMyw3IEBA IGV4YW1wbGUgY2FsbHMgYXJlIHVuZXhjaXRpbmc6DQogICAgIDMwDQogDQogVXNpbmcgdGhlIG5v bi1kYXRhIGRlc2NyaXB0b3IgcHJvdG9jb2wsIGEgcHVyZSBQeXRob24gdmVyc2lvbiBvZg0KLTpm dW5jOmBzdGF0aWNtZXRob2RgIHdvdWxkIGxvb2sgbGlrZSB0aGlzOg0KKzpkZWNvOmBzdGF0aWNt ZXRob2RgIHdvdWxkIGxvb2sgbGlrZSB0aGlzOg0KIA0KIC4uIHRlc3Rjb2RlOjoNCiANCkBAIC0x NDYzLDcgKzE0NjMsNyBAQCBOb3cgYSBuZXcgZGljdGlvbmFyeSBvZiB1bmlxdWUga2V5cyBjYW4g YmUgY29uc3RydWN0ZWQgbGlrZSB0aGlzOg0KICAgICB7J2EnOiBOb25lLCAnYic6IE5vbmUsICdy JzogTm9uZSwgJ2MnOiBOb25lLCAnZCc6IE5vbmV9DQogDQogVXNpbmcgdGhlIG5vbi1kYXRhIGRl c2NyaXB0b3IgcHJvdG9jb2wsIGEgcHVyZSBQeXRob24gdmVyc2lvbiBvZg0KLTpmdW5jOmBjbGFz c21ldGhvZGAgd291bGQgbG9vayBsaWtlIHRoaXM6DQorOmRlY286YGNsYXNzbWV0aG9kYCB3b3Vs ZCBsb29rIGxpa2UgdGhpczoNCiANCiAuLiB0ZXN0Y29kZTo6DQogDQpAQCAtMTYwMSw3ICsxNjAx LDcgQEAgbWF0dGVycyB3aGVuIGEgbGFyZ2UgbnVtYmVyIG9mIGluc3RhbmNlcyBhcmUgZ29pbmcg dG8gYmUgY3JlYXRlZC4NCiA0LiBJbXByb3ZlcyBzcGVlZC4gIFJlYWRpbmcgaW5zdGFuY2UgdmFy aWFibGVzIGlzIDM1JSBmYXN0ZXIgd2l0aA0KIGBgX19zbG90c19fYGAgKGFzIG1lYXN1cmVkIHdp dGggUHl0aG9uIDMuMTAgb24gYW4gQXBwbGUgTTEgcHJvY2Vzc29yKS4NCiANCi01LiBCbG9ja3Mg dG9vbHMgbGlrZSA6ZnVuYzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgd2hpY2ggcmVxdWly ZSBhbg0KKzUuIEJsb2NrcyB0b29scyBsaWtlIDpkZWNvOmBmdW5jdG9vbHMuY2FjaGVkX3Byb3Bl cnR5YCB3aGljaCByZXF1aXJlIGFuDQogaW5zdGFuY2UgZGljdGlvbmFyeSB0byBmdW5jdGlvbiBj b3JyZWN0bHk6DQogDQogLi4gdGVzdGNvZGU6Og0KZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9lbnVt LnJzdCBiL0RvYy9ob3d0by9lbnVtLnJzdA0KaW5kZXggMmZlNTgxNGJiMDRhNzM2Li5hZGI5ZGM5 YTQ4NzllYjUgMTAwNjQ0DQotLS0gYS9Eb2MvaG93dG8vZW51bS5yc3QNCisrKyBiL0RvYy9ob3d0 by9lbnVtLnJzdA0KQEAgLTI1Niw3ICsyNTYsNyBAQCBFbnN1cmluZyB1bmlxdWUgZW51bWVyYXRp b24gdmFsdWVzDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIA0KIEJ5IGRl ZmF1bHQsIGVudW1lcmF0aW9ucyBhbGxvdyBtdWx0aXBsZSBuYW1lcyBhcyBhbGlhc2VzIGZvciB0 aGUgc2FtZSB2YWx1ZS4NCi1XaGVuIHRoaXMgYmVoYXZpb3IgaXNuJ3QgZGVzaXJlZCwgeW91IGNh biB1c2UgdGhlIDpmdW5jOmB1bmlxdWVgIGRlY29yYXRvcjo6DQorV2hlbiB0aGlzIGJlaGF2aW9y IGlzbid0IGRlc2lyZWQsIHlvdSBjYW4gdXNlIHRoZSA6ZGVjbzpgdW5pcXVlYCBkZWNvcmF0b3I6 Og0KIA0KICAgICA+Pj4gZnJvbSBlbnVtIGltcG9ydCBFbnVtLCB1bmlxdWUNCiAgICAgPj4+IEB1 bmlxdWUNCkBAIC01MDksNyArNTA5LDcgQEAgdG8gdXNlIHRoZSBzdGFuZGFyZCA6ZnVuYzpgcmVw cmAuDQogDQogLi4gbm90ZTo6DQogDQotICAgQWRkaW5nIDpmdW5jOmB+ZGF0YWNsYXNzZXMuZGF0 YWNsYXNzYCBkZWNvcmF0b3IgdG8gOmNsYXNzOmBFbnVtYA0KKyAgIEFkZGluZyA6ZGVjbzpgfmRh dGFjbGFzc2VzLmRhdGFjbGFzc2AgZGVjb3JhdG9yIHRvIDpjbGFzczpgRW51bWANCiAgICBhbmQg aXRzIHN1YmNsYXNzZXMgaXMgbm90IHN1cHBvcnRlZC4gSXQgd2lsbCBub3QgcmFpc2UgYW55IGVy cm9ycywNCiAgICBidXQgaXQgd2lsbCBwcm9kdWNlIHZlcnkgc3RyYW5nZSByZXN1bHRzIGF0IHJ1 bnRpbWUsIHN1Y2ggYXMgbWVtYmVycw0KICAgIGJlaW5nIGVxdWFsIHRvIGVhY2ggb3RoZXI6Og0K ZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9zb3J0aW5nLnJzdCBiL0RvYy9ob3d0by9zb3J0aW5nLnJz dA0KaW5kZXggZWQ5Y2UzMDYyMjVmNGRiLi5iNTExYWE0ZTU5ZmUxZTcgMTAwNjQ0DQotLS0gYS9E b2MvaG93dG8vc29ydGluZy5yc3QNCisrKyBiL0RvYy9ob3d0by9zb3J0aW5nLnJzdA0KQEAgLTM3 Miw3ICszNzIsNyBAQCBPZGRzIGFuZCBFbmRzDQogICA6bWV0aDpgfm9iamVjdC5fX2x0X19gIGlz IG5vdCBpbXBsZW1lbnRlZCAoc2VlIDpmdW5jOmBvYmplY3QuX19sdF9fYA0KICAgZm9yIGRldGFp bHMgb24gdGhlIG1lY2hhbmljcykuICBUbyBhdm9pZCBzdXJwcmlzZXMsIDpwZXA6YDhgDQogICBy ZWNvbW1lbmRzIHRoYXQgYWxsIHNpeCBjb21wYXJpc29uIG1ldGhvZHMgYmUgaW1wbGVtZW50ZWQu DQotICBUaGUgOmZ1bmM6YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGRlY29yYXRvciBpcyBw cm92aWRlZCB0byBtYWtlIHRoYXQNCisgIFRoZSA6ZGVjbzpgfmZ1bmN0b29scy50b3RhbF9vcmRl cmluZ2AgZGVjb3JhdG9yIGlzIHByb3ZpZGVkIHRvIG1ha2UgdGhhdA0KICAgdGFzayBlYXNpZXIu DQogDQogKiBLZXkgZnVuY3Rpb25zIG5lZWQgbm90IGRlcGVuZCBkaXJlY3RseSBvbiB0aGUgb2Jq ZWN0cyBiZWluZyBzb3J0ZWQuIEEga2V5DQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYWJjLnJz dCBiL0RvYy9saWJyYXJ5L2FiYy5yc3QNCmluZGV4IDgxMTJjZmVlN2QyMDRkYi4uNTkxNzgxNWE1 M2Y3OTA5IDEwMDY0NA0KLS0tIGEvRG9jL2xpYnJhcnkvYWJjLnJzdA0KKysrIGIvRG9jL2xpYnJh cnkvYWJjLnJzdA0KQEAgLTE2NiwxNyArMTY2LDE3IEBAIFRoZSA6bW9kOmAhYWJjYCBtb2R1bGUg YWxzbyBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGRlY29yYXRvcjoNCiAgICBvciBpcyBkZXJpdmVk IGZyb20gaXQuICBBIGNsYXNzIHRoYXQgaGFzIGEgbWV0YWNsYXNzIGRlcml2ZWQgZnJvbQ0KICAg IDpjbGFzczpgIUFCQ01ldGFgIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQgdW5sZXNzIGFsbCBvZiBp dHMgYWJzdHJhY3QgbWV0aG9kcw0KICAgIGFuZCBwcm9wZXJ0aWVzIGFyZSBvdmVycmlkZGVuLiAg VGhlIGFic3RyYWN0IG1ldGhvZHMgY2FuIGJlIGNhbGxlZCB1c2luZyBhbnkNCi0gICBvZiB0aGUg bm9ybWFsICdzdXBlcicgY2FsbCBtZWNoYW5pc21zLiAgOmZ1bmM6YCFhYnN0cmFjdG1ldGhvZGAg bWF5IGJlIHVzZWQNCisgICBvZiB0aGUgbm9ybWFsICdzdXBlcicgY2FsbCBtZWNoYW5pc21zLiAg OmRlY286YCFhYnN0cmFjdG1ldGhvZGAgbWF5IGJlIHVzZWQNCiAgICB0byBkZWNsYXJlIGFic3Ry YWN0IG1ldGhvZHMgZm9yIHByb3BlcnRpZXMgYW5kIGRlc2NyaXB0b3JzLg0KIA0KICAgIER5bmFt aWNhbGx5IGFkZGluZyBhYnN0cmFjdCBtZXRob2RzIHRvIGEgY2xhc3MsIG9yIGF0dGVtcHRpbmcg dG8gbW9kaWZ5IHRoZQ0KICAgIGFic3RyYWN0aW9uIHN0YXR1cyBvZiBhIG1ldGhvZCBvciBjbGFz cyBvbmNlIGl0IGlzIGNyZWF0ZWQsIGFyZSBvbmx5DQogICAgc3VwcG9ydGVkIHVzaW5nIHRoZSA6 ZnVuYzpgdXBkYXRlX2Fic3RyYWN0bWV0aG9kc2AgZnVuY3Rpb24uICBUaGUNCi0gICA6ZnVuYzpg IWFic3RyYWN0bWV0aG9kYCBvbmx5IGFmZmVjdHMgc3ViY2xhc3NlcyBkZXJpdmVkIHVzaW5nIHJl Z3VsYXINCisgICA6ZGVjbzpgIWFic3RyYWN0bWV0aG9kYCBvbmx5IGFmZmVjdHMgc3ViY2xhc3Nl cyBkZXJpdmVkIHVzaW5nIHJlZ3VsYXINCiAgICBpbmhlcml0YW5jZTsgInZpcnR1YWwgc3ViY2xh c3NlcyIgcmVnaXN0ZXJlZCB3aXRoIHRoZSBBQkMncw0KICAgIDptZXRoOmB+QUJDTWV0YS5yZWdp c3RlcmAgbWV0aG9kIGFyZSBub3QgYWZmZWN0ZWQuDQogDQotICAgV2hlbiA6ZnVuYzpgIWFic3Ry YWN0bWV0aG9kYCBpcyBhcHBsaWVkIGluIGNvbWJpbmF0aW9uIHdpdGggb3RoZXIgbWV0aG9kDQor ICAgV2hlbiA6ZGVjbzpgIWFic3RyYWN0bWV0aG9kYCBpcyBhcHBsaWVkIGluIGNvbWJpbmF0aW9u IHdpdGggb3RoZXIgbWV0aG9kDQogICAgZGVzY3JpcHRvcnMsIGl0IHNob3VsZCBiZSBhcHBsaWVk IGFzIHRoZSBpbm5lcm1vc3QgZGVjb3JhdG9yLCBhcyBzaG93biBpbg0KICAgIHRoZSBmb2xsb3dp bmcgdXNhZ2UgZXhhbXBsZXM6Og0KIA0KQEAgLTIxNCw3ICsyMTQsNyBAQCBUaGUgOm1vZDpgIWFi Y2AgbW9kdWxlIGFsc28gcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBkZWNvcmF0b3I6DQogICAgdGhl IGRlc2NyaXB0b3IgbXVzdCBpZGVudGlmeSBpdHNlbGYgYXMgYWJzdHJhY3QgdXNpbmcNCiAgICA6 YXR0cjpgIV9faXNhYnN0cmFjdG1ldGhvZF9fYC4gSW4gZ2VuZXJhbCwgdGhpcyBhdHRyaWJ1dGUg c2hvdWxkIGJlIGBgVHJ1ZWBgDQogICAgaWYgYW55IG9mIHRoZSBtZXRob2RzIHVzZWQgdG8gY29t cG9zZSB0aGUgZGVzY3JpcHRvciBhcmUgYWJzdHJhY3QuIEZvcg0KLSAgIGV4YW1wbGUsIFB5dGhv bidzIGJ1aWx0LWluIDpjbGFzczpgcHJvcGVydHlgIGRvZXMgdGhlIGVxdWl2YWxlbnQgb2Y6Og0K KyAgIGV4YW1wbGUsIFB5dGhvbidzIGJ1aWx0LWluIDpkZWNvOmBwcm9wZXJ0eWAgZG9lcyB0aGUg ZXF1aXZhbGVudCBvZjo6DQogDQogICAgICAgY2xhc3MgRGVzY3JpcHRvcjoNCiAgICAgICAgICAg Li4uDQpAQCAtMjM4LDEzICsyMzgsMTMgQEAgVGhlIDptb2Q6YCFhYmNgIG1vZHVsZSBhbHNvIHN1 cHBvcnRzIHRoZSBmb2xsb3dpbmcgbGVnYWN5IGRlY29yYXRvcnM6DQogDQogICAgLi4gdmVyc2lv bmFkZGVkOjogMy4yDQogICAgLi4gZGVwcmVjYXRlZDo6IDMuMw0KLSAgICAgICBJdCBpcyBub3cg cG9zc2libGUgdG8gdXNlIDpjbGFzczpgY2xhc3NtZXRob2RgIHdpdGgNCi0gICAgICAgOmZ1bmM6 YGFic3RyYWN0bWV0aG9kYCwgbWFraW5nIHRoaXMgZGVjb3JhdG9yIHJlZHVuZGFudC4NCisgICAg ICAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSA6ZGVjbzpgY2xhc3NtZXRob2RgIHdpdGgNCisg ICAgICAgOmRlY286YGFic3RyYWN0bWV0aG9kYCwgbWFraW5nIHRoaXMgZGVjb3JhdG9yIHJlZHVu ZGFudC4NCiANCi0gICBBIHN1YmNsYXNzIG9mIHRoZSBidWlsdC1pbiA6ZnVuYzpgY2xhc3NtZXRo b2RgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQotICAgY2xhc3NtZXRob2QuIE90aGVyd2lzZSBp dCBpcyBzaW1pbGFyIHRvIDpmdW5jOmBhYnN0cmFjdG1ldGhvZGAuDQorICAgQSBzdWJjbGFzcyBv ZiB0aGUgYnVpbHQtaW4gOmNsYXNzOmBjbGFzc21ldGhvZGAsIGluZGljYXRpbmcgYW4gYWJzdHJh Y3QNCisgICBjbGFzc21ldGhvZC4gT3RoZXJ3aXNlIGl0IGlzIHNpbWlsYXIgdG8gOmRlY286YGFi c3RyYWN0bWV0aG9kYC4NCiANCi0gICBUaGlzIHNwZWNpYWwgY2FzZSBpcyBkZXByZWNhdGVkLCBh cyB0aGUgOmZ1bmM6YGNsYXNzbWV0aG9kYCBkZWNvcmF0b3INCisgICBUaGlzIHNwZWNpYWwgY2Fz ZSBpcyBkZXByZWNhdGVkLCBhcyB0aGUgOmRlY286YGNsYXNzbWV0aG9kYCBkZWNvcmF0b3INCiAg ICBpcyBub3cgY29ycmVjdGx5IGlkZW50aWZpZWQgYXMgYWJzdHJhY3Qgd2hlbiBhcHBsaWVkIHRv IGFuIGFic3RyYWN0DQogICAgbWV0aG9kOjoNCiANCkBAIC0yNTksMTMgKzI1OSwxMyBAQCBUaGUg Om1vZDpgIWFiY2AgbW9kdWxlIGFsc28gc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBsZWdhY3kgZGVj b3JhdG9yczoNCiANCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjINCiAgICAuLiBkZXByZWNhdGVk OjogMy4zDQotICAgICAgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgOmNsYXNzOmBzdGF0aWNt ZXRob2RgIHdpdGgNCi0gICAgICAgOmZ1bmM6YGFic3RyYWN0bWV0aG9kYCwgbWFraW5nIHRoaXMg ZGVjb3JhdG9yIHJlZHVuZGFudC4NCisgICAgICAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSA6 ZGVjbzpgc3RhdGljbWV0aG9kYCB3aXRoDQorICAgICAgIDpkZWNvOmBhYnN0cmFjdG1ldGhvZGAs IG1ha2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRhbnQuDQogDQotICAgQSBzdWJjbGFzcyBvZiB0 aGUgYnVpbHQtaW4gOmZ1bmM6YHN0YXRpY21ldGhvZGAsIGluZGljYXRpbmcgYW4gYWJzdHJhY3QN Ci0gICBzdGF0aWNtZXRob2QuIE90aGVyd2lzZSBpdCBpcyBzaW1pbGFyIHRvIDpmdW5jOmBhYnN0 cmFjdG1ldGhvZGAuDQorICAgQSBzdWJjbGFzcyBvZiB0aGUgYnVpbHQtaW4gOmNsYXNzOmBzdGF0 aWNtZXRob2RgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQorICAgc3RhdGljbWV0aG9kLiBPdGhl cndpc2UgaXQgaXMgc2ltaWxhciB0byA6ZGVjbzpgYWJzdHJhY3RtZXRob2RgLg0KIA0KLSAgIFRo aXMgc3BlY2lhbCBjYXNlIGlzIGRlcHJlY2F0ZWQsIGFzIHRoZSA6ZnVuYzpgc3RhdGljbWV0aG9k YCBkZWNvcmF0b3INCisgICBUaGlzIHNwZWNpYWwgY2FzZSBpcyBkZXByZWNhdGVkLCBhcyB0aGUg OmRlY286YHN0YXRpY21ldGhvZGAgZGVjb3JhdG9yDQogICAgaXMgbm93IGNvcnJlY3RseSBpZGVu dGlmaWVkIGFzIGFic3RyYWN0IHdoZW4gYXBwbGllZCB0byBhbiBhYnN0cmFjdA0KICAgIG1ldGhv ZDo6DQogDQpAQCAtMjc5LDE0ICsyNzksMTQgQEAgVGhlIDptb2Q6YCFhYmNgIG1vZHVsZSBhbHNv IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgbGVnYWN5IGRlY29yYXRvcnM6DQogLi4gZGVjb3JhdG9y OjogYWJzdHJhY3Rwcm9wZXJ0eQ0KIA0KICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMNCi0gICAgICAg SXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSA6Y2xhc3M6YHByb3BlcnR5YCwgOm1ldGg6YHByb3Bl cnR5LmdldHRlcmAsDQotICAgICAgIDptZXRoOmBwcm9wZXJ0eS5zZXR0ZXJgIGFuZCA6bWV0aDpg cHJvcGVydHkuZGVsZXRlcmAgd2l0aA0KLSAgICAgICA6ZnVuYzpgYWJzdHJhY3RtZXRob2RgLCBt YWtpbmcgdGhpcyBkZWNvcmF0b3IgcmVkdW5kYW50Lg0KKyAgICAgICBJdCBpcyBub3cgcG9zc2li bGUgdG8gdXNlIDpkZWNvOmBwcm9wZXJ0eWAsIDpkZWNvOmBwcm9wZXJ0eS5nZXR0ZXJgLA0KKyAg ICAgICA6ZGVjbzpgcHJvcGVydHkuc2V0dGVyYCBhbmQgOmRlY286YHByb3BlcnR5LmRlbGV0ZXJg IHdpdGgNCisgICAgICAgOmRlY286YGFic3RyYWN0bWV0aG9kYCwgbWFraW5nIHRoaXMgZGVjb3Jh dG9yIHJlZHVuZGFudC4NCiANCi0gICBBIHN1YmNsYXNzIG9mIHRoZSBidWlsdC1pbiA6ZnVuYzpg cHJvcGVydHlgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQorICAgQSBzdWJjbGFzcyBvZiB0aGUg YnVpbHQtaW4gOmNsYXNzOmBwcm9wZXJ0eWAsIGluZGljYXRpbmcgYW4gYWJzdHJhY3QNCiAgICBw cm9wZXJ0eS4NCiANCi0gICBUaGlzIHNwZWNpYWwgY2FzZSBpcyBkZXByZWNhdGVkLCBhcyB0aGUg OmZ1bmM6YHByb3BlcnR5YCBkZWNvcmF0b3INCisgICBUaGlzIHNwZWNpYWwgY2FzZSBpcyBkZXBy ZWNhdGVkLCBhcyB0aGUgOmRlY286YHByb3BlcnR5YCBkZWNvcmF0b3INCiAgICBpcyBub3cgY29y cmVjdGx5IGlkZW50aWZpZWQgYXMgYWJzdHJhY3Qgd2hlbiBhcHBsaWVkIHRvIGFuIGFic3RyYWN0 DQogICAgbWV0aG9kOjoNCiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9iaXNlY3QucnN0IGIv RG9jL2xpYnJhcnkvYmlzZWN0LnJzdA0KaW5kZXggZjUzMmFhNDYyNTY1ZTQwLi4zOWFiNzVjMDkw NGRmOWMgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS9iaXNlY3QucnN0DQorKysgYi9Eb2MvbGli cmFyeS9iaXNlY3QucnN0DQpAQCAtMTI5LDcgKzEyOSw3IEBAIHRob3VnaHRzIGluIG1pbmQ6DQog ICB0aGV5IGFyZSB1c2VkLiAgQ29uc2VxdWVudGx5LCBpZiB0aGUgc2VhcmNoIGZ1bmN0aW9ucyBh cmUgdXNlZCBpbiBhIGxvb3AsDQogICB0aGUga2V5IGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgYWdh aW4gYW5kIGFnYWluIG9uIHRoZSBzYW1lIGFycmF5IGVsZW1lbnRzLg0KICAgSWYgdGhlIGtleSBm dW5jdGlvbiBpc24ndCBmYXN0LCBjb25zaWRlciB3cmFwcGluZyBpdCB3aXRoDQotICA6cHk6ZnVu YzpgZnVuY3Rvb2xzLmNhY2hlYCB0byBhdm9pZCBkdXBsaWNhdGUgY29tcHV0YXRpb25zLiAgQWx0 ZXJuYXRpdmVseSwNCisgIDpweTpkZWNvOmBmdW5jdG9vbHMuY2FjaGVgIHRvIGF2b2lkIGR1cGxp Y2F0ZSBjb21wdXRhdGlvbnMuICBBbHRlcm5hdGl2ZWx5LA0KICAgY29uc2lkZXIgc2VhcmNoaW5n IGFuIGFycmF5IG9mIHByZWNvbXB1dGVkIGtleXMgdG8gbG9jYXRlIHRoZSBpbnNlcnRpb24NCiAg IHBvaW50IChhcyBzaG93biBpbiB0aGUgZXhhbXBsZXMgc2VjdGlvbiBiZWxvdykuDQogDQpkaWZm IC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0IGIvRG9jL2xpYnJhcnkvY29sbGVj dGlvbnMucnN0DQppbmRleCAwYzcyN2I3MWNmNGQ0YjcuLmQwOWE2YzkyYmJkMzdkYyAxMDA2NDQN Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvY29s bGVjdGlvbnMucnN0DQpAQCAtMTIyOCw3ICsxMjI4LDcgQEAgb3JpZ2luYWwgaW5zZXJ0aW9uIHBv c2l0aW9uIGlzIGNoYW5nZWQgYW5kIG1vdmVkIHRvIHRoZSBlbmQ6Og0KICAgICAgICAgICAgIHNl bGYubW92ZV90b19lbmQoa2V5KQ0KIA0KIEFuIDpjbGFzczpgT3JkZXJlZERpY3RgIHdvdWxkIGFs c28gYmUgdXNlZnVsIGZvciBpbXBsZW1lbnRpbmcNCi12YXJpYW50cyBvZiA6ZnVuYzpgZnVuY3Rv b2xzLmxydV9jYWNoZWA6DQordmFyaWFudHMgb2YgOmRlY286YGZ1bmN0b29scy5scnVfY2FjaGVg Og0KIA0KIC4uIHRlc3Rjb2RlOjoNCiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb250ZXh0 bGliLnJzdCBiL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0DQppbmRleCAwMmJlMDBmNTc1ZTcy NWIuLjY2NmY4NTk5NzQ0ODg4MSAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIu cnN0DQorKysgYi9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdA0KQEAgLTg4LDExICs4OCwxMSBA QCBGdW5jdGlvbnMgYW5kIGNsYXNzZXMgcHJvdmlkZWQ6DQogICAgdGhlIGV4Y2VwdGlvbiBoYXMg YmVlbiBoYW5kbGVkLCBhbmQgZXhlY3V0aW9uIHdpbGwgcmVzdW1lIHdpdGggdGhlIHN0YXRlbWVu dA0KICAgIGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGUgOmtleXdvcmQ6YCF3aXRoYCBzdGF0ZW1l bnQuDQogDQotICAgOmZ1bmM6YGNvbnRleHRtYW5hZ2VyYCB1c2VzIDpjbGFzczpgQ29udGV4dERl Y29yYXRvcmAgc28gdGhlIGNvbnRleHQgbWFuYWdlcnMNCisgICA6ZGVjbzpgY29udGV4dG1hbmFn ZXJgIHVzZXMgOmNsYXNzOmBDb250ZXh0RGVjb3JhdG9yYCBzbyB0aGUgY29udGV4dCBtYW5hZ2Vy cw0KICAgIGl0IGNyZWF0ZXMgY2FuIGJlIHVzZWQgYXMgZGVjb3JhdG9ycyBhcyB3ZWxsIGFzIGlu IDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnRzLg0KICAgIFdoZW4gdXNlZCBhcyBhIGRlY29yYXRv ciwgYSBuZXcgZ2VuZXJhdG9yIGluc3RhbmNlIGlzIGltcGxpY2l0bHkgY3JlYXRlZCBvbg0KICAg IGVhY2ggZnVuY3Rpb24gY2FsbCAodGhpcyBhbGxvd3MgdGhlIG90aGVyd2lzZSAib25lLXNob3Qi IGNvbnRleHQgbWFuYWdlcnMNCi0gICBjcmVhdGVkIGJ5IDpmdW5jOmBjb250ZXh0bWFuYWdlcmAg dG8gbWVldCB0aGUgcmVxdWlyZW1lbnQgdGhhdCBjb250ZXh0DQorICAgY3JlYXRlZCBieSA6ZGVj bzpgY29udGV4dG1hbmFnZXJgIHRvIG1lZXQgdGhlIHJlcXVpcmVtZW50IHRoYXQgY29udGV4dA0K ICAgIG1hbmFnZXJzIHN1cHBvcnQgbXVsdGlwbGUgaW52b2NhdGlvbnMgaW4gb3JkZXIgdG8gYmUg dXNlZCBhcyBkZWNvcmF0b3JzKS4NCiANCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMg0KQEAg LTEwMSw3ICsxMDEsNyBAQCBGdW5jdGlvbnMgYW5kIGNsYXNzZXMgcHJvdmlkZWQ6DQogDQogLi4g ZGVjb3JhdG9yOjogYXN5bmNjb250ZXh0bWFuYWdlcg0KIA0KLSAgIFNpbWlsYXIgdG8gOmZ1bmM6 YH5jb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyYCwgYnV0IGNyZWF0ZXMgYW4NCisgICBTaW1pbGFy IHRvIDpkZWNvOmB+Y29udGV4dGxpYi5jb250ZXh0bWFuYWdlcmAsIGJ1dCBjcmVhdGVzIGFuDQog ICAgOnJlZjpgYXN5bmNocm9ub3VzIGNvbnRleHQgbWFuYWdlciA8YXN5bmMtY29udGV4dC1tYW5h Z2Vycz5gLg0KIA0KICAgIFRoaXMgZnVuY3Rpb24gaXMgYSA6dGVybTpgZGVjb3JhdG9yYCB0aGF0 IGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhIGZhY3RvcnkNCkBAIC0xMjgsNyArMTI4LDcgQEAgRnVu Y3Rpb25zIGFuZCBjbGFzc2VzIHByb3ZpZGVkOg0KIA0KICAgIC4uIHZlcnNpb25hZGRlZDo6IDMu Nw0KIA0KLSAgIENvbnRleHQgbWFuYWdlcnMgZGVmaW5lZCB3aXRoIDpmdW5jOmBhc3luY2NvbnRl eHRtYW5hZ2VyYCBjYW4gYmUgdXNlZA0KKyAgIENvbnRleHQgbWFuYWdlcnMgZGVmaW5lZCB3aXRo IDpkZWNvOmBhc3luY2NvbnRleHRtYW5hZ2VyYCBjYW4gYmUgdXNlZA0KICAgIGVpdGhlciBhcyBk ZWNvcmF0b3JzIG9yIHdpdGggOmtleXdvcmQ6YGFzeW5jIHdpdGhgIHN0YXRlbWVudHM6Og0KIA0K ICAgICAgaW1wb3J0IHRpbWUNCkBAIC0xNDgsMTEgKzE0OCwxMSBAQCBGdW5jdGlvbnMgYW5kIGNs YXNzZXMgcHJvdmlkZWQ6DQogDQogICAgV2hlbiB1c2VkIGFzIGEgZGVjb3JhdG9yLCBhIG5ldyBn ZW5lcmF0b3IgaW5zdGFuY2UgaXMgaW1wbGljaXRseSBjcmVhdGVkIG9uDQogICAgZWFjaCBmdW5j dGlvbiBjYWxsLiBUaGlzIGFsbG93cyB0aGUgb3RoZXJ3aXNlICJvbmUtc2hvdCIgY29udGV4dCBt YW5hZ2Vycw0KLSAgIGNyZWF0ZWQgYnkgOmZ1bmM6YGFzeW5jY29udGV4dG1hbmFnZXJgIHRvIG1l ZXQgdGhlIHJlcXVpcmVtZW50IHRoYXQgY29udGV4dA0KKyAgIGNyZWF0ZWQgYnkgOmRlY286YGFz eW5jY29udGV4dG1hbmFnZXJgIHRvIG1lZXQgdGhlIHJlcXVpcmVtZW50IHRoYXQgY29udGV4dA0K ICAgIG1hbmFnZXJzIHN1cHBvcnQgbXVsdGlwbGUgaW52b2NhdGlvbnMgaW4gb3JkZXIgdG8gYmUg dXNlZCBhcyBkZWNvcmF0b3JzLg0KIA0KICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xMA0KLSAg ICAgIEFzeW5jIGNvbnRleHQgbWFuYWdlcnMgY3JlYXRlZCB3aXRoIDpmdW5jOmBhc3luY2NvbnRl eHRtYW5hZ2VyYCBjYW4NCisgICAgICBBc3luYyBjb250ZXh0IG1hbmFnZXJzIGNyZWF0ZWQgd2l0 aCA6ZGVjbzpgYXN5bmNjb250ZXh0bWFuYWdlcmAgY2FuDQogICAgICAgYmUgdXNlZCBhcyBkZWNv cmF0b3JzLg0KIA0KIA0KQEAgLTQwMCw3ICs0MDAsNyBAQCBGdW5jdGlvbnMgYW5kIGNsYXNzZXMg cHJvdmlkZWQ6DQogICAgYGBfX2V4aXRfX2BgIHJldGFpbnMgaXRzIG9wdGlvbmFsDQogICAgZXhj ZXB0aW9uIGhhbmRsaW5nIGV2ZW4gd2hlbiB1c2VkIGFzIGEgZGVjb3JhdG9yLg0KIA0KLSAgIGBg Q29udGV4dERlY29yYXRvcmBgIGlzIHVzZWQgYnkgOmZ1bmM6YGNvbnRleHRtYW5hZ2VyYCwgc28g eW91IGdldCB0aGlzDQorICAgYGBDb250ZXh0RGVjb3JhdG9yYGAgaXMgdXNlZCBieSA6ZGVjbzpg Y29udGV4dG1hbmFnZXJgLCBzbyB5b3UgZ2V0IHRoaXMNCiAgICBmdW5jdGlvbmFsaXR5IGF1dG9t YXRpY2FsbHkuDQogDQogICAgRXhhbXBsZSBvZiBgYENvbnRleHREZWNvcmF0b3JgYDo6DQpAQCAt NzAyLDcgKzcwMiw3IEBAIEZ1bmN0aW9ucyBhbmQgY2xhc3NlcyBwcm92aWRlZDoNCiANCiAgICAg ICBTaW1pbGFyIHRvIDptZXRoOmBFeGl0U3RhY2suY2xvc2VgIGJ1dCBwcm9wZXJseSBoYW5kbGVz IGF3YWl0YWJsZXMuDQogDQotICAgQ29udGludWluZyB0aGUgZXhhbXBsZSBmb3IgOmZ1bmM6YGFz eW5jY29udGV4dG1hbmFnZXJgOjoNCisgICBDb250aW51aW5nIHRoZSBleGFtcGxlIGZvciA6ZGVj bzpgYXN5bmNjb250ZXh0bWFuYWdlcmA6Og0KIA0KICAgICAgIGFzeW5jIHdpdGggQXN5bmNFeGl0 U3RhY2soKSBhcyBzdGFjazoNCiAgICAgICAgICAgY29ubmVjdGlvbnMgPSBbYXdhaXQgc3RhY2su ZW50ZXJfYXN5bmNfY29udGV4dChnZXRfY29ubmVjdGlvbigpKQ0KQEAgLTk2MCw3ICs5NjAsNyBA QCBGaWxlcyBhcmUgYW4gZXhhbXBsZSBvZiBlZmZlY3RpdmVseSBzaW5nbGUgdXNlIGNvbnRleHQg bWFuYWdlcnMsIHNpbmNlDQogdGhlIGZpcnN0IDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQgd2ls bCBjbG9zZSB0aGUgZmlsZSwgcHJldmVudGluZyBhbnkNCiBmdXJ0aGVyIElPIG9wZXJhdGlvbnMg dXNpbmcgdGhhdCBmaWxlIG9iamVjdC4NCiANCi1Db250ZXh0IG1hbmFnZXJzIGNyZWF0ZWQgdXNp bmcgOmZ1bmM6YGNvbnRleHRtYW5hZ2VyYCBhcmUgYWxzbyBzaW5nbGUgdXNlDQorQ29udGV4dCBt YW5hZ2VycyBjcmVhdGVkIHVzaW5nIDpkZWNvOmBjb250ZXh0bWFuYWdlcmAgYXJlIGFsc28gc2lu Z2xlIHVzZQ0KIGNvbnRleHQgbWFuYWdlcnMsIGFuZCB3aWxsIGNvbXBsYWluIGFib3V0IHRoZSB1 bmRlcmx5aW5nIGdlbmVyYXRvciBmYWlsaW5nDQogdG8geWllbGQgaWYgYW4gYXR0ZW1wdCBpcyBt YWRlIHRvIHVzZSB0aGVtIGEgc2Vjb25kIHRpbWU6Og0KIA0KZGlmZiAtLWdpdCBhL0RvYy9saWJy YXJ5L2N0eXBlcy5yc3QgYi9Eb2MvbGlicmFyeS9jdHlwZXMucnN0DQppbmRleCA0NmI4ZGQ4ZWYx ODgxNDkuLmRhMWFhYTg5ZmVmN2M3NCAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2N0eXBlcy5y c3QNCisrKyBiL0RvYy9saWJyYXJ5L2N0eXBlcy5yc3QNCkBAIC01NTEsNyArNTUxLDcgQEAgb2Jq ZWN0IHdpdGggYW4gOmF0dHI6YCFfYXNfcGFyYW1ldGVyX2AgYXR0cmlidXRlOjoNCiAgICA+Pj4N CiANCiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzdG9yZSB0aGUgaW5zdGFuY2UncyBkYXRhIGluIHRo ZSA6YXR0cjpgIV9hc19wYXJhbWV0ZXJfYA0KLWluc3RhbmNlIHZhcmlhYmxlLCB5b3UgY291bGQg ZGVmaW5lIGEgOmNsYXNzOmBwcm9wZXJ0eWAgd2hpY2ggbWFrZXMgdGhlDQoraW5zdGFuY2UgdmFy aWFibGUsIHlvdSBjb3VsZCBkZWZpbmUgYSA6ZGVjbzpgcHJvcGVydHlgIHdoaWNoIG1ha2VzIHRo ZQ0KIGF0dHJpYnV0ZSBhdmFpbGFibGUgb24gcmVxdWVzdC4NCiANCiANCmRpZmYgLS1naXQgYS9E b2MvbGlicmFyeS9lbnVtLnJzdCBiL0RvYy9saWJyYXJ5L2VudW0ucnN0DQppbmRleCBkMmViYmU0 NjhlODJkYzcuLmY3Yzg5ZGJkMzAxN2NjOCAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2VudW0u cnN0DQorKysgYi9Eb2MvbGlicmFyeS9lbnVtLnJzdA0KQEAgLTExNSwzMCArMTE1LDMwIEBAIE1v ZHVsZSBjb250ZW50cw0KICAgICAgIDpjbGFzczpgU3RyRW51bWAgZGVmYXVsdHMgdG8gdGhlIGxv d2VyLWNhc2VkIHZlcnNpb24gb2YgdGhlIG1lbWJlciBuYW1lLA0KICAgICAgIHdoaWxlIG90aGVy IEVudW1zIGRlZmF1bHQgdG8gMSBhbmQgaW5jcmVhc2UgZnJvbSB0aGVyZS4NCiANCi0gICA6ZnVu YzpgfmVudW0ucHJvcGVydHlgDQorICAgOmRlY286YH5lbnVtLnByb3BlcnR5YA0KIA0KICAgICAg IEFsbG93cyA6Y2xhc3M6YEVudW1gIG1lbWJlcnMgdG8gaGF2ZSBhdHRyaWJ1dGVzIHdpdGhvdXQg Y29uZmxpY3Rpbmcgd2l0aA0KICAgICAgIG1lbWJlciBuYW1lcy4gIFRoZSBgYHZhbHVlYGAgYW5k IGBgbmFtZWBgIGF0dHJpYnV0ZXMgYXJlIGltcGxlbWVudGVkIHRoaXMNCiAgICAgICB3YXkuDQog DQotICAgOmZ1bmM6YHVuaXF1ZWANCisgICA6ZGVjbzpgdW5pcXVlYA0KIA0KICAgICAgIEVudW0g Y2xhc3MgZGVjb3JhdG9yIHRoYXQgZW5zdXJlcyBvbmx5IG9uZSBuYW1lIGlzIGJvdW5kIHRvIGFu eSBvbmUgdmFsdWUuDQogDQotICAgOmZ1bmM6YHZlcmlmeWANCisgICA6ZGVjbzpgdmVyaWZ5YA0K IA0KICAgICAgIEVudW0gY2xhc3MgZGVjb3JhdG9yIHRoYXQgY2hlY2tzIHVzZXItc2VsZWN0YWJs ZSBjb25zdHJhaW50cyBvbiBhbg0KICAgICAgIGVudW1lcmF0aW9uLg0KIA0KLSAgIDpmdW5jOmBt ZW1iZXJgDQorICAgOmRlY286YG1lbWJlcmANCiANCiAgICAgICBNYWtlIGBgb2JqYGAgYSBtZW1i ZXIuICBDYW4gYmUgdXNlZCBhcyBhIGRlY29yYXRvci4NCiANCi0gICA6ZnVuYzpgbm9ubWVtYmVy YA0KKyAgIDpkZWNvOmBub25tZW1iZXJgDQogDQogICAgICAgRG8gbm90IG1ha2UgYGBvYmpgYCBh IG1lbWJlci4gIENhbiBiZSB1c2VkIGFzIGEgZGVjb3JhdG9yLg0KIA0KLSAgIDpmdW5jOmBnbG9i YWxfZW51bWANCisgICA6ZGVjbzpgZ2xvYmFsX2VudW1gDQogDQogICAgICAgTW9kaWZ5IHRoZSA6 Y2xhc3M6YHN0cigpIDxzdHI+YCBhbmQgOmZ1bmM6YHJlcHJgIG9mIGFuIGVudW0NCiAgICAgICB0 byBzaG93IGl0cyBtZW1iZXJzIGFzIGJlbG9uZ2luZyB0byB0aGUgbW9kdWxlIGluc3RlYWQgb2Yg aXRzIGNsYXNzLA0KQEAgLTEwMDYsNyArMTAwNiw3IEBAIFV0aWxpdGllcyBhbmQgZGVjb3JhdG9y cw0KIA0KIC4uIGRlY29yYXRvcjo6IHByb3BlcnR5DQogDQotICAgQSBkZWNvcmF0b3Igc2ltaWxh ciB0byB0aGUgYnVpbHQtaW4gKnByb3BlcnR5KiwgYnV0IHNwZWNpZmljYWxseSBmb3INCisgICBB IGRlY29yYXRvciBzaW1pbGFyIHRvIHRoZSBidWlsdC1pbiA6ZGVjbzpgcHJvcGVydHlgLCBidXQg c3BlY2lmaWNhbGx5IGZvcg0KICAgIGVudW1lcmF0aW9ucy4gIEl0IGFsbG93cyBtZW1iZXIgYXR0 cmlidXRlcyB0byBoYXZlIHRoZSBzYW1lIG5hbWVzIGFzIG1lbWJlcnMNCiAgICB0aGVtc2VsdmVz Lg0KIA0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ZubWF0Y2gucnN0IGIvRG9jL2xpYnJhcnkv Zm5tYXRjaC5yc3QNCmluZGV4IGEyMTM2NzllNGUyZGQ3Ni4uZmM5OWI3ZmQxZTc1MjNhIDEwMDY0 NA0KLS0tIGEvRG9jL2xpYnJhcnkvZm5tYXRjaC5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2ZubWF0 Y2gucnN0DQpAQCAtNTEsNyArNTEsNyBAQCBVbmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgImZpbGVu YW1lIHN0cmluZyIgYW5kICJwYXR0ZXJuIHN0cmluZyIgZWl0aGVyIHJlZmVyIHRvDQogZnVuY3Rp b25zIGRvY3VtZW50ZWQgYmVsb3cgZG8gbm90IGFsbG93IHRvIG1peCBhIDpjbGFzczpgIWJ5dGVz YCBwYXR0ZXJuIHdpdGgNCiBhIDpjbGFzczpgIXN0cmAgZmlsZW5hbWUsIGFuZCB2aWNlLXZlcnNh Lg0KIA0KLUZpbmFsbHksIG5vdGUgdGhhdCA6ZnVuYzpgZnVuY3Rvb2xzLmxydV9jYWNoZWAgd2l0 aCBhICptYXhzaXplKiBvZiAzMjc2OA0KK0ZpbmFsbHksIG5vdGUgdGhhdCA6ZGVjbzpgZnVuY3Rv b2xzLmxydV9jYWNoZWAgd2l0aCBhICptYXhzaXplKiBvZiAzMjc2OA0KIGlzIHVzZWQgdG8gY2Fj aGUgdGhlICh0eXBlZCkgY29tcGlsZWQgcmVnZXggcGF0dGVybnMgaW4gdGhlIGZvbGxvd2luZw0K IGZ1bmN0aW9uczogOmZ1bmM6YGZubWF0Y2hgLCA6ZnVuYzpgZm5tYXRjaGNhc2VgLCA6ZnVuYzpg LmZpbHRlcmAsIDpmdW5jOmAuZmlsdGVyZmFsc2VgLg0KIA0KZGlmZiAtLWdpdCBhL0RvYy9saWJy YXJ5L2Z1bmN0aW9ucy5yc3QgYi9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0DQppbmRleCBkOTAx ZTMwN2M5YTZhNmIuLmY0NWFiMzk3ZTkzNjkzOCAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2Z1 bmN0aW9ucy5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QNCkBAIC0xNjg0LDcg KzE2ODQsNyBAQCBhcmUgYWx3YXlzIGF2YWlsYWJsZS4gIFRoZXkgYXJlIGxpc3RlZCBoZXJlIGlu IGFscGhhYmV0aWNhbCBvcmRlci4NCiANCiAgICBJZiBnaXZlbiwgKmRvYyogd2lsbCBiZSB0aGUg ZG9jc3RyaW5nIG9mIHRoZSBwcm9wZXJ0eSBhdHRyaWJ1dGUuIE90aGVyd2lzZSwgdGhlDQogICAg cHJvcGVydHkgd2lsbCBjb3B5ICpmZ2V0KidzIGRvY3N0cmluZyAoaWYgaXQgZXhpc3RzKS4gIFRo aXMgbWFrZXMgaXQgcG9zc2libGUgdG8NCi0gICBjcmVhdGUgcmVhZC1vbmx5IHByb3BlcnRpZXMg ZWFzaWx5IHVzaW5nIDpmdW5jOmBwcm9wZXJ0eWAgYXMgYSA6dGVybTpgZGVjb3JhdG9yYDo6DQor ICAgY3JlYXRlIHJlYWQtb25seSBwcm9wZXJ0aWVzIGVhc2lseSB1c2luZyA6ZGVjbzpgcHJvcGVy dHlgIGFzIGEgOnRlcm06YGRlY29yYXRvcmA6Og0KIA0KICAgICAgIGNsYXNzIFBhcnJvdDoNCiAg ICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOg0KQEAgLTE5ODgsNyArMTk4OCw3IEBAIGFyZSBh bHdheXMgYXZhaWxhYmxlLiAgVGhleSBhcmUgbGlzdGVkIGhlcmUgaW4gYWxwaGFiZXRpY2FsIG9y ZGVyLg0KICAgIGJlIHVzZWQgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24gKHN1Y2ggYXMgYGBmKClg YCkuDQogDQogICAgU3RhdGljIG1ldGhvZHMgaW4gUHl0aG9uIGFyZSBzaW1pbGFyIHRvIHRob3Nl IGZvdW5kIGluIEphdmEgb3IgQysrLiBBbHNvLCBzZWUNCi0gICA6ZnVuYzpgY2xhc3NtZXRob2Rg IGZvciBhIHZhcmlhbnQgdGhhdCBpcyB1c2VmdWwgZm9yIGNyZWF0aW5nIGFsdGVybmF0ZSBjbGFz cw0KKyAgIDpkZWNvOmBjbGFzc21ldGhvZGAgZm9yIGEgdmFyaWFudCB0aGF0IGlzIHVzZWZ1bCBm b3IgY3JlYXRpbmcgYWx0ZXJuYXRlIGNsYXNzDQogICAgY29uc3RydWN0b3JzLg0KIA0KICAgIExp a2UgYWxsIGRlY29yYXRvcnMsIGl0IGlzIGFsc28gcG9zc2libGUgdG8gY2FsbCBgYHN0YXRpY21l dGhvZGBgIGFzDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZnVuY3Rvb2xzLnJzdCBiL0RvYy9s aWJyYXJ5L2Z1bmN0b29scy5yc3QNCmluZGV4IDdkYTU5Y2JhNTE3MGIzNS4uMmI0Njk3OGYwNTgx MDJiIDEwMDY0NA0KLS0tIGEvRG9jL2xpYnJhcnkvZnVuY3Rvb2xzLnJzdA0KKysrIGIvRG9jL2xp YnJhcnkvZnVuY3Rvb2xzLnJzdA0KQEAgLTI3LDcgKzI3LDcgQEAgVGhlIDptb2Q6YCFmdW5jdG9v bHNgIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOg0KICAgIFJldHVybnMg dGhlIHNhbWUgYXMgYGBscnVfY2FjaGUobWF4c2l6ZT1Ob25lKWBgLCBjcmVhdGluZyBhIHRoaW4N CiAgICB3cmFwcGVyIGFyb3VuZCBhIGRpY3Rpb25hcnkgbG9va3VwIGZvciB0aGUgZnVuY3Rpb24g YXJndW1lbnRzLiAgQmVjYXVzZSBpdA0KICAgIG5ldmVyIG5lZWRzIHRvIGV2aWN0IG9sZCB2YWx1 ZXMsIHRoaXMgaXMgc21hbGxlciBhbmQgZmFzdGVyIHRoYW4NCi0gICA6ZnVuYzpgbHJ1X2NhY2hl YCB3aXRoIGEgc2l6ZSBsaW1pdC4NCisgICA6ZGVjbzpgbHJ1X2NhY2hlYCB3aXRoIGEgc2l6ZSBs aW1pdC4NCiANCiAgICBGb3IgZXhhbXBsZTo6DQogDQpAQCAtNjEsNyArNjEsNyBAQCBUaGUgOm1v ZDpgIWZ1bmN0b29sc2AgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnM6DQog DQogICAgVHJhbnNmb3JtIGEgbWV0aG9kIG9mIGEgY2xhc3MgaW50byBhIHByb3BlcnR5IHdob3Nl IHZhbHVlIGlzIGNvbXB1dGVkIG9uY2UNCiAgICBhbmQgdGhlbiBjYWNoZWQgYXMgYSBub3JtYWwg YXR0cmlidXRlIGZvciB0aGUgbGlmZSBvZiB0aGUgaW5zdGFuY2UuIFNpbWlsYXINCi0gICB0byA6 ZnVuYzpgcHJvcGVydHlgLCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBjYWNoaW5nLiBVc2VmdWwgZm9y IGV4cGVuc2l2ZQ0KKyAgIHRvIDpkZWNvOmBwcm9wZXJ0eWAsIHdpdGggdGhlIGFkZGl0aW9uIG9m IGNhY2hpbmcuIFVzZWZ1bCBmb3IgZXhwZW5zaXZlDQogICAgY29tcHV0ZWQgcHJvcGVydGllcyBv ZiBpbnN0YW5jZXMgdGhhdCBhcmUgb3RoZXJ3aXNlIGVmZmVjdGl2ZWx5IGltbXV0YWJsZS4NCiAN CiAgICBFeGFtcGxlOjoNCkBAIC03NSw4ICs3NSw4IEBAIFRoZSA6bW9kOmAhZnVuY3Rvb2xzYCBt b2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoNCiAgICAgICAgICAgIGRlZiBz dGRldihzZWxmKToNCiAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGlzdGljcy5zdGRldihzZWxm Ll9kYXRhKQ0KIA0KLSAgIFRoZSBtZWNoYW5pY3Mgb2YgOmZ1bmM6YGNhY2hlZF9wcm9wZXJ0eWAg YXJlIHNvbWV3aGF0IGRpZmZlcmVudCBmcm9tDQotICAgOmZ1bmM6YHByb3BlcnR5YC4gIEEgcmVn dWxhciBwcm9wZXJ0eSBibG9ja3MgYXR0cmlidXRlIHdyaXRlcyB1bmxlc3MgYQ0KKyAgIFRoZSBt ZWNoYW5pY3Mgb2YgOmRlY286YGNhY2hlZF9wcm9wZXJ0eWAgYXJlIHNvbWV3aGF0IGRpZmZlcmVu dCBmcm9tDQorICAgOmRlY286YHByb3BlcnR5YC4gIEEgcmVndWxhciBwcm9wZXJ0eSBibG9ja3Mg YXR0cmlidXRlIHdyaXRlcyB1bmxlc3MgYQ0KICAgIHNldHRlciBpcyBkZWZpbmVkLiBJbiBjb250 cmFzdCwgYSAqY2FjaGVkX3Byb3BlcnR5KiBhbGxvd3Mgd3JpdGVzLg0KIA0KICAgIFRoZSAqY2Fj aGVkX3Byb3BlcnR5KiBkZWNvcmF0b3Igb25seSBydW5zIG9uIGxvb2t1cHMgYW5kIG9ubHkgd2hl biBhbg0KQEAgLTEwOCwxNCArMTA4LDE0IEBAIFRoZSA6bW9kOmAhZnVuY3Rvb2xzYCBtb2R1bGUg ZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoNCiAgICAoYXMgc3VjaCBjbGFzc2VzIGRv bid0IHByb3ZpZGUgYSBgYF9fZGljdF9fYGAgYXR0cmlidXRlIGF0IGFsbCkuDQogDQogICAgSWYg YSBtdXRhYmxlIG1hcHBpbmcgaXMgbm90IGF2YWlsYWJsZSBvciBpZiBzcGFjZS1lZmZpY2llbnQg a2V5IHNoYXJpbmcgaXMNCi0gICBkZXNpcmVkLCBhbiBlZmZlY3Qgc2ltaWxhciB0byA6ZnVuYzpg Y2FjaGVkX3Byb3BlcnR5YCBjYW4gYWxzbyBiZSBhY2hpZXZlZCBieQ0KLSAgIHN0YWNraW5nIDpm dW5jOmBwcm9wZXJ0eWAgb24gdG9wIG9mIDpmdW5jOmBscnVfY2FjaGVgLiBTZWUNCi0gICA6cmVm OmBmYXEtY2FjaGUtbWV0aG9kLWNhbGxzYCBmb3IgbW9yZSBkZXRhaWxzIG9uIGhvdyB0aGlzIGRp ZmZlcnMgZnJvbSA6ZnVuYzpgY2FjaGVkX3Byb3BlcnR5YC4NCisgICBkZXNpcmVkLCBhbiBlZmZl Y3Qgc2ltaWxhciB0byA6ZGVjbzpgY2FjaGVkX3Byb3BlcnR5YCBjYW4gYWxzbyBiZSBhY2hpZXZl ZCBieQ0KKyAgIHN0YWNraW5nIDpkZWNvOmBwcm9wZXJ0eWAgb24gdG9wIG9mIDpkZWNvOmBscnVf Y2FjaGVgLiBTZWUNCisgICA6cmVmOmBmYXEtY2FjaGUtbWV0aG9kLWNhbGxzYCBmb3IgbW9yZSBk ZXRhaWxzIG9uIGhvdyB0aGlzIGRpZmZlcnMgZnJvbSA6ZGVjbzpgY2FjaGVkX3Byb3BlcnR5YC4N CiANCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjgNCiANCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6 IDMuMTINCi0gICAgICBQcmlvciB0byBQeXRob24gMy4xMiwgYGBjYWNoZWRfcHJvcGVydHlgYCBp bmNsdWRlZCBhbiB1bmRvY3VtZW50ZWQgbG9jayB0bw0KKyAgICAgIFByaW9yIHRvIFB5dGhvbiAz LjEyLCA6ZGVjbzpgIWNhY2hlZF9wcm9wZXJ0eWAgaW5jbHVkZWQgYW4gdW5kb2N1bWVudGVkIGxv Y2sgdG8NCiAgICAgICBlbnN1cmUgdGhhdCBpbiBtdWx0aS10aHJlYWRlZCB1c2FnZSB0aGUgZ2V0 dGVyIGZ1bmN0aW9uIHdhcyBndWFyYW50ZWVkIHRvDQogICAgICAgcnVuIG9ubHkgb25jZSBwZXIg aW5zdGFuY2UuIEhvd2V2ZXIsIHRoZSBsb2NrIHdhcyBwZXItcHJvcGVydHksIG5vdA0KICAgICAg IHBlci1pbnN0YW5jZSwgd2hpY2ggY291bGQgcmVzdWx0IGluIHVuYWNjZXB0YWJseSBoaWdoIGxv Y2sgY29udGVudGlvbi4gSW4NCkBAIC03MzIsNyArNzMyLDcgQEAgVGhlIDptb2Q6YCFmdW5jdG9v bHNgIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOg0KICAgIGZ1bmN0aW9u J3MgOmF0dHI6YH5mdW5jdGlvbi5fX2RpY3RfX2AsIGkuZS4gdGhlIGluc3RhbmNlIGRpY3Rpb25h cnkpLg0KIA0KICAgIFRvIGFsbG93IGFjY2VzcyB0byB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gZm9y IGludHJvc3BlY3Rpb24gYW5kIG90aGVyIHB1cnBvc2VzDQotICAgKGUuZy4gYnlwYXNzaW5nIGEg Y2FjaGluZyBkZWNvcmF0b3Igc3VjaCBhcyA6ZnVuYzpgbHJ1X2NhY2hlYCksIHRoaXMgZnVuY3Rp b24NCisgICAoZS5nLiBieXBhc3NpbmcgYSBjYWNoaW5nIGRlY29yYXRvciBzdWNoIGFzIDpkZWNv OmBscnVfY2FjaGVgKSwgdGhpcyBmdW5jdGlvbg0KICAgIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGBg X193cmFwcGVkX19gYCBhdHRyaWJ1dGUgdG8gdGhlIHdyYXBwZXIgdGhhdCByZWZlcnMgdG8NCiAg ICB0aGUgZnVuY3Rpb24gYmVpbmcgd3JhcHBlZC4NCiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFy eS90YXJmaWxlLnJzdCBiL0RvYy9saWJyYXJ5L3RhcmZpbGUucnN0DQppbmRleCA5Yjk3ODNkOGU1 ODAxM2YuLjI5YTMyOWZkZmVhYjE1YiAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L3RhcmZpbGUu cnN0DQorKysgYi9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdA0KQEAgLTY3MCw3ICs2NzAsNyBAQCBi ZSBmaW5hbGl6ZWQ7IG9ubHkgdGhlIGludGVybmFsbHkgdXNlZCBmaWxlIG9iamVjdCB3aWxsIGJl IGNsb3NlZC4gU2VlIHRoZQ0KICAgIGl0IGlzIGJlc3QgcHJhY3RpY2UgdG8gb25seSBkbyBzbyBp biB0b3AtbGV2ZWwgYXBwbGljYXRpb25zIG9yDQogICAgOm1vZDpgc2l0ZSBjb25maWd1cmF0aW9u IDxzaXRlPmAuDQogICAgVG8gc2V0IGEgZ2xvYmFsIGRlZmF1bHQgdGhpcyB3YXksIGEgZmlsdGVy IGZ1bmN0aW9uIG5lZWRzIHRvIGJlIHdyYXBwZWQgaW4NCi0gICA6ZnVuYzpgc3RhdGljbWV0aG9k YCB0byBwcmV2ZW50IGluamVjdGlvbiBvZiBhIGBgc2VsZmBgIGFyZ3VtZW50Lg0KKyAgIDpkZWNv OmBzdGF0aWNtZXRob2RgIHRvIHByZXZlbnQgaW5qZWN0aW9uIG9mIGEgYGBzZWxmYGAgYXJndW1l bnQuDQogDQogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjE0DQogDQpkaWZmIC0tZ2l0IGEvRG9j L2xpYnJhcnkvdGVzdC5yc3QgYi9Eb2MvbGlicmFyeS90ZXN0LnJzdA0KaW5kZXggNWZhMWRkMjVh Njg5YWYxLi42NjA4NDdhZTNmZTNjODUgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS90ZXN0LnJz dA0KKysrIGIvRG9jL2xpYnJhcnkvdGVzdC5yc3QNCkBAIC03MTgsNyArNzE4LDcgQEAgVGhlIDpt b2Q6YCF0ZXN0LnN1cHBvcnRgIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25z Og0KIC4uIGRlY29yYXRvcjo6IGFudGljaXBhdGVfZmFpbHVyZShjb25kaXRpb24pDQogDQogICAg QSBkZWNvcmF0b3IgdG8gY29uZGl0aW9uYWxseSBtYXJrIHRlc3RzIHdpdGgNCi0gICA6ZnVuYzpg dW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlYC4gQW55IHVzZSBvZiB0aGlzIGRlY29yYXRvciBzaG91 bGQNCisgICA6ZGVjbzpgdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlYC4gQW55IHVzZSBvZiB0aGlz IGRlY29yYXRvciBzaG91bGQNCiAgICBoYXZlIGFuIGFzc29jaWF0ZWQgY29tbWVudCBpZGVudGlm eWluZyB0aGUgcmVsZXZhbnQgdHJhY2tlciBpc3N1ZS4NCiANCiANCmRpZmYgLS1naXQgYS9Eb2Mv bGlicmFyeS90eXBpbmcucnN0IGIvRG9jL2xpYnJhcnkvdHlwaW5nLnJzdA0KaW5kZXggZWY2MDE2 ZDQ1YzFmOGJjLi5jOTA5YjhiYWQ2ZDcyNmMgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS90eXBp bmcucnN0DQorKysgYi9Eb2MvbGlicmFyeS90eXBpbmcucnN0DQpAQCAtMjU4Myw3ICsyNTgzLDcg QEAgdHlwZXMuDQogICAgICAgZnVuYyhDKCkpICAjIFBhc3NlcyBzdGF0aWMgdHlwZSBjaGVjaw0K IA0KICAgIFNlZSA6cGVwOmA1NDRgIGZvciBtb3JlIGRldGFpbHMuIFByb3RvY29sIGNsYXNzZXMg ZGVjb3JhdGVkIHdpdGgNCi0gICA6ZnVuYzpgcnVudGltZV9jaGVja2FibGVgIChkZXNjcmliZWQg bGF0ZXIpIGFjdCBhcyBzaW1wbGUtbWluZGVkIHJ1bnRpbWUNCisgICA6ZGVjbzpgcnVudGltZV9j aGVja2FibGVgIChkZXNjcmliZWQgbGF0ZXIpIGFjdCBhcyBzaW1wbGUtbWluZGVkIHJ1bnRpbWUN CiAgICBwcm90b2NvbHMgdGhhdCBjaGVjayBvbmx5IHRoZSBwcmVzZW5jZSBvZiBnaXZlbiBhdHRy aWJ1dGVzLCBpZ25vcmluZyB0aGVpcg0KICAgIHR5cGUgc2lnbmF0dXJlcy4gUHJvdG9jb2wgY2xh c3NlcyB3aXRob3V0IHRoaXMgZGVjb3JhdG9yIGNhbm5vdCBiZSB1c2VkDQogICAgYXMgdGhlIHNl Y29uZCBhcmd1bWVudCB0byA6ZnVuYzpgaXNpbnN0YW5jZWAgb3IgOmZ1bmM6YGlzc3ViY2xhc3Ng Lg0KQEAgLTI2NDgsNyArMjY0OCw3IEBAIHR5cGVzLg0KIA0KICAgIC4uIG5vdGU6Og0KIA0KLSAg ICAgICAgOmZ1bmM6YCFydW50aW1lX2NoZWNrYWJsZWAgd2lsbCBjaGVjayBvbmx5IHRoZSBwcmVz ZW5jZSBvZiB0aGUgcmVxdWlyZWQNCisgICAgICAgIDpkZWNvOmAhcnVudGltZV9jaGVja2FibGVg IHdpbGwgY2hlY2sgb25seSB0aGUgcHJlc2VuY2Ugb2YgdGhlIHJlcXVpcmVkDQogICAgICAgICBt ZXRob2RzIG9yIGF0dHJpYnV0ZXMsIG5vdCB0aGVpciB0eXBlIHNpZ25hdHVyZXMgb3IgdHlwZXMu DQogICAgICAgICBGb3IgZXhhbXBsZSwgOmNsYXNzOmBzc2wuU1NMT2JqZWN0YA0KICAgICAgICAg aXMgYSBjbGFzcywgdGhlcmVmb3JlIGl0IHBhc3NlcyBhbiA6ZnVuYzpgaXNzdWJjbGFzc2ANCkBA IC0zMTU0LDcgKzMxNTQsNyBAQCBGdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMNCiAgICBEZWNvcmF0 b3IgdG8gbWFyayBhbiBvYmplY3QgYXMgcHJvdmlkaW5nDQogICAgOmZ1bmM6YGRhdGFjbGFzcyA8 ZGF0YWNsYXNzZXMuZGF0YWNsYXNzPmAtbGlrZSBiZWhhdmlvci4NCiANCi0gICBgYGRhdGFjbGFz c190cmFuc2Zvcm1gYCBtYXkgYmUgdXNlZCB0bw0KKyAgIGBgQGRhdGFjbGFzc190cmFuc2Zvcm1g YCBtYXkgYmUgdXNlZCB0bw0KICAgIGRlY29yYXRlIGEgY2xhc3MsIG1ldGFjbGFzcywgb3IgYSBm dW5jdGlvbiB0aGF0IGlzIGl0c2VsZiBhIGRlY29yYXRvci4NCiAgICBUaGUgcHJlc2VuY2Ugb2Yg YGBAZGF0YWNsYXNzX3RyYW5zZm9ybSgpYGAgdGVsbHMgYSBzdGF0aWMgdHlwZSBjaGVja2VyIHRo YXQgdGhlDQogICAgZGVjb3JhdGVkIG9iamVjdCBwZXJmb3JtcyBydW50aW1lICJtYWdpYyIgdGhh dA0KQEAgLTMyMDksNyArMzIwOSw3IEBAIEZ1bmN0aW9ucyBhbmQgZGVjb3JhdG9ycw0KICAgIGBg a3dfb25seWBgLCBhbmQgYGBzbG90c2BgLiBJdCBtdXN0IGJlIHBvc3NpYmxlIGZvciB0aGUgdmFs dWUgb2YgdGhlc2UNCiAgICBhcmd1bWVudHMgKGBgVHJ1ZWBgIG9yIGBgRmFsc2VgYCkgdG8gYmUg c3RhdGljYWxseSBldmFsdWF0ZWQuDQogDQotICAgVGhlIGFyZ3VtZW50cyB0byB0aGUgYGBkYXRh Y2xhc3NfdHJhbnNmb3JtYGAgZGVjb3JhdG9yIGNhbiBiZSB1c2VkIHRvDQorICAgVGhlIGFyZ3Vt ZW50cyB0byB0aGUgYGBAZGF0YWNsYXNzX3RyYW5zZm9ybWBgIGRlY29yYXRvciBjYW4gYmUgdXNl ZCB0bw0KICAgIGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCBiZWhhdmlvcnMgb2YgdGhlIGRlY29yYXRl ZCBjbGFzcywgbWV0YWNsYXNzLCBvcg0KICAgIGZ1bmN0aW9uOg0KIA0KQEAgLTMyNzMsOCArMzI3 Myw4IEBAIEZ1bmN0aW9ucyBhbmQgZGVjb3JhdG9ycw0KICAgICAgICAgICBrZXl3b3JkLW9ubHku IElmIGBgVHJ1ZWBgLCB0aGUgZmllbGQgd2lsbCBiZSBrZXl3b3JkLW9ubHkuIElmDQogICAgICAg ICAgIGBgRmFsc2VgYCwgaXQgd2lsbCBub3QgYmUga2V5d29yZC1vbmx5LiBJZiB1bnNwZWNpZmll ZCwgdGhlIHZhbHVlIG9mDQogICAgICAgICAgIHRoZSBgYGt3X29ubHlgYCBwYXJhbWV0ZXIgb24g dGhlIG9iamVjdCBkZWNvcmF0ZWQgd2l0aA0KLSAgICAgICAgICBgYGRhdGFjbGFzc190cmFuc2Zv cm1gYCB3aWxsIGJlIHVzZWQsIG9yIGlmIHRoYXQgaXMgdW5zcGVjaWZpZWQsIHRoZQ0KLSAgICAg ICAgICB2YWx1ZSBvZiBgYGt3X29ubHlfZGVmYXVsdGBgIG9uIGBgZGF0YWNsYXNzX3RyYW5zZm9y bWBgIHdpbGwgYmUgdXNlZC4NCisgICAgICAgICAgYGBAZGF0YWNsYXNzX3RyYW5zZm9ybWBgIHdp bGwgYmUgdXNlZCwgb3IgaWYgdGhhdCBpcyB1bnNwZWNpZmllZCwgdGhlDQorICAgICAgICAgIHZh bHVlIG9mIGBga3dfb25seV9kZWZhdWx0YGAgb24gYGBAZGF0YWNsYXNzX3RyYW5zZm9ybWBgIHdp bGwgYmUgdXNlZC4NCiAgICAgICAqIC0gYGBhbGlhc2BgDQogICAgICAgICAtIFByb3ZpZGVzIGFu IGFsdGVybmF0aXZlIG5hbWUgZm9yIHRoZSBmaWVsZC4gVGhpcyBhbHRlcm5hdGl2ZQ0KICAgICAg ICAgICBuYW1lIGlzIHVzZWQgaW4gdGhlIHN5bnRoZXNpemVkIGBgX19pbml0X19gYCBtZXRob2Qu DQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0IGIvRG9jL2xpYnJhcnkvdW5p dHRlc3QucnN0DQppbmRleCBmZjYxOWY5NzkyMzMyNTEuLjdhZmNkYjM2OGEzNTYyZSAxMDA2NDQN Ci0tLSBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvdW5pdHRl c3QucnN0DQpAQCAtNTMwLDcgKzUzMCw3IEBAIHRlc3RzLiAgSW4gYWRkaXRpb24sIGl0IHN1cHBv cnRzIG1hcmtpbmcgYSB0ZXN0IGFzIGFuICJleHBlY3RlZCBmYWlsdXJlLCIgYSB0ZXN0DQogdGhh dCBpcyBicm9rZW4gYW5kIHdpbGwgZmFpbCwgYnV0IHNob3VsZG4ndCBiZSBjb3VudGVkIGFzIGEg ZmFpbHVyZSBvbiBhDQogOmNsYXNzOmBUZXN0UmVzdWx0YC4NCiANCi1Ta2lwcGluZyBhIHRlc3Qg aXMgc2ltcGx5IGEgbWF0dGVyIG9mIHVzaW5nIHRoZSA6ZnVuYzpgc2tpcGAgOnRlcm06YGRlY29y YXRvcmANCitTa2lwcGluZyBhIHRlc3QgaXMgc2ltcGx5IGEgbWF0dGVyIG9mIHVzaW5nIHRoZSA6 ZGVjbzpgc2tpcGAgOnRlcm06YGRlY29yYXRvcmANCiBvciBvbmUgb2YgaXRzIGNvbmRpdGlvbmFs IHZhcmlhbnRzLCBjYWxsaW5nIDptZXRoOmBUZXN0Q2FzZS5za2lwVGVzdGAgd2l0aGluIGENCiA6 bWV0aDpgflRlc3RDYXNlLnNldFVwYCBvciB0ZXN0IG1ldGhvZCwgb3IgcmFpc2luZyA6ZXhjOmBT a2lwVGVzdGAgZGlyZWN0bHkuDQogDQpAQCAtNTgxLDcgKzU4MSw3IEBAIENsYXNzZXMgY2FuIGJl IHNraXBwZWQganVzdCBsaWtlIG1ldGhvZHM6Og0KIDptZXRoOmBUZXN0Q2FzZS5zZXRVcGAgY2Fu IGFsc28gc2tpcCB0aGUgdGVzdC4gIFRoaXMgaXMgdXNlZnVsIHdoZW4gYSByZXNvdXJjZQ0KIHRo YXQgbmVlZHMgdG8gYmUgc2V0IHVwIGlzIG5vdCBhdmFpbGFibGUuDQogDQotRXhwZWN0ZWQgZmFp bHVyZXMgdXNlIHRoZSA6ZnVuYzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3IuIDo6DQorRXhw ZWN0ZWQgZmFpbHVyZXMgdXNlIHRoZSA6ZGVjbzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3Iu IDo6DQogDQogICAgY2xhc3MgRXhwZWN0ZWRGYWlsdXJlVGVzdENhc2UodW5pdHRlc3QuVGVzdENh c2UpOg0KICAgICAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlDQpAQCAtNzYzLDcgKzc2Myw3 IEBAIFRlc3QgY2FzZXMNCiANCiAgICAgICBBIGNsYXNzIG1ldGhvZCBjYWxsZWQgYmVmb3JlIHRl c3RzIGluIGFuIGluZGl2aWR1YWwgY2xhc3MgYXJlIHJ1bi4NCiAgICAgICBgYHNldFVwQ2xhc3Ng YCBpcyBjYWxsZWQgd2l0aCB0aGUgY2xhc3MgYXMgdGhlIG9ubHkgYXJndW1lbnQNCi0gICAgICBh bmQgbXVzdCBiZSBkZWNvcmF0ZWQgYXMgYSA6ZnVuYzpgY2xhc3NtZXRob2RgOjoNCisgICAgICBh bmQgbXVzdCBiZSBkZWNvcmF0ZWQgYXMgYSA6ZGVjbzpgY2xhc3NtZXRob2RgOjoNCiANCiAgICAg ICAgIEBjbGFzc21ldGhvZA0KICAgICAgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToNCkBAIC03Nzgs NyArNzc4LDcgQEAgVGVzdCBjYXNlcw0KIA0KICAgICAgIEEgY2xhc3MgbWV0aG9kIGNhbGxlZCBh ZnRlciB0ZXN0cyBpbiBhbiBpbmRpdmlkdWFsIGNsYXNzIGhhdmUgcnVuLg0KICAgICAgIGBgdGVh ckRvd25DbGFzc2BgIGlzIGNhbGxlZCB3aXRoIHRoZSBjbGFzcyBhcyB0aGUgb25seSBhcmd1bWVu dA0KLSAgICAgIGFuZCBtdXN0IGJlIGRlY29yYXRlZCBhcyBhIDptZXRoOmBjbGFzc21ldGhvZGA6 Og0KKyAgICAgIGFuZCBtdXN0IGJlIGRlY29yYXRlZCBhcyBhIDpkZWNvOmBjbGFzc21ldGhvZGA6 Og0KIA0KICAgICAgICAgQGNsYXNzbWV0aG9kDQogICAgICAgICBkZWYgdGVhckRvd25DbGFzcyhj bHMpOg0KQEAgLTIxNTYsNyArMjE1Niw3IEBAIExvYWRpbmcgYW5kIHJ1bm5pbmcgdGVzdHMNCiAN CiAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNA0KICAgICAgICAgIFJldHVybnMgYGBGYWxz ZWBgIGlmIHRoZXJlIHdlcmUgYW55IDphdHRyOmB1bmV4cGVjdGVkU3VjY2Vzc2VzYA0KLSAgICAg ICAgIGZyb20gdGVzdHMgbWFya2VkIHdpdGggdGhlIDpmdW5jOmBleHBlY3RlZEZhaWx1cmVgIGRl Y29yYXRvci4NCisgICAgICAgICBmcm9tIHRlc3RzIG1hcmtlZCB3aXRoIHRoZSA6ZGVjbzpgZXhw ZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3IuDQogDQogICAgLi4gbWV0aG9kOjogc3RvcCgpDQogDQpA QCAtMjIzOSw3ICsyMjM5LDcgQEAgTG9hZGluZyBhbmQgcnVubmluZyB0ZXN0cw0KICAgIC4uIG1l dGhvZDo6IGFkZEV4cGVjdGVkRmFpbHVyZSh0ZXN0LCBlcnIpDQogDQogICAgICAgQ2FsbGVkIHdo ZW4gdGhlIHRlc3QgY2FzZSAqdGVzdCogZmFpbHMgb3IgZXJyb3JzLCBidXQgd2FzIG1hcmtlZCB3 aXRoDQotICAgICAgdGhlIDpmdW5jOmBleHBlY3RlZEZhaWx1cmVgIGRlY29yYXRvci4NCisgICAg ICB0aGUgOmRlY286YGV4cGVjdGVkRmFpbHVyZWAgZGVjb3JhdG9yLg0KIA0KICAgICAgIFRoZSBk ZWZhdWx0IGltcGxlbWVudGF0aW9uIGFwcGVuZHMgYSB0dXBsZSBgYCh0ZXN0LCBmb3JtYXR0ZWRf ZXJyKWBgIHRvDQogICAgICAgdGhlIGluc3RhbmNlJ3MgOmF0dHI6YGV4cGVjdGVkRmFpbHVyZXNg IGF0dHJpYnV0ZSwgd2hlcmUgKmZvcm1hdHRlZF9lcnIqDQpAQCAtMjI0OSw3ICsyMjQ5LDcgQEAg TG9hZGluZyBhbmQgcnVubmluZyB0ZXN0cw0KICAgIC4uIG1ldGhvZDo6IGFkZFVuZXhwZWN0ZWRT dWNjZXNzKHRlc3QpDQogDQogICAgICAgQ2FsbGVkIHdoZW4gdGhlIHRlc3QgY2FzZSAqdGVzdCog d2FzIG1hcmtlZCB3aXRoIHRoZQ0KLSAgICAgIDpmdW5jOmBleHBlY3RlZEZhaWx1cmVgIGRlY29y YXRvciwgYnV0IHN1Y2NlZWRlZC4NCisgICAgICA6ZGVjbzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNv cmF0b3IsIGJ1dCBzdWNjZWVkZWQuDQogDQogICAgICAgVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRp b24gYXBwZW5kcyB0aGUgdGVzdCB0byB0aGUgaW5zdGFuY2Uncw0KICAgICAgIDphdHRyOmB1bmV4 cGVjdGVkU3VjY2Vzc2VzYCBhdHRyaWJ1dGUuDQpkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9j b21wb3VuZF9zdG10cy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2NvbXBvdW5kX3N0bXRzLnJzdA0KaW5k ZXggNDk1MjZmMWU1ZTgzOTMzLi5lNzRmMzI2MmVkNTQwY2QgMTAwNjQ0DQotLS0gYS9Eb2MvcmVm ZXJlbmNlL2NvbXBvdW5kX3N0bXRzLnJzdA0KKysrIGIvRG9jL3JlZmVyZW5jZS9jb21wb3VuZF9z dG10cy5yc3QNCkBAIC0yMDExLDcgKzIwMTEsNyBAQCBBbm5vdGF0aW9ucyBhcmUgY29udmVudGlv bmFsbHkgdXNlZCBmb3IgOnRlcm06YHR5cGUgaGludHMgPHR5cGUgaGludD5gLCBidXQgdGhpcw0K IGlzIG5vdCBlbmZvcmNlZCBieSB0aGUgbGFuZ3VhZ2UsIGFuZCBpbiBnZW5lcmFsIGFubm90YXRp b25zIG1heSBjb250YWluIGFyYml0cmFyeQ0KIGV4cHJlc3Npb25zLiBUaGUgcHJlc2VuY2Ugb2Yg YW5ub3RhdGlvbnMgZG9lcyBub3QgY2hhbmdlIHRoZSBydW50aW1lIHNlbWFudGljcyBvZg0KIHRo ZSBjb2RlLCBleGNlcHQgaWYgc29tZSBtZWNoYW5pc20gaXMgdXNlZCB0aGF0IGludHJvc3BlY3Rz IGFuZCB1c2VzIHRoZSBhbm5vdGF0aW9ucw0KLShzdWNoIGFzIDptb2Q6YGRhdGFjbGFzc2VzYCBv ciA6ZnVuYzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCkuDQorKHN1Y2ggYXMgOm1vZDpgZGF0 YWNsYXNzZXNgIG9yIDpkZWNvOmBmdW5jdG9vbHMuc2luZ2xlZGlzcGF0Y2hgKS4NCiANCiBCeSBk ZWZhdWx0LCBhbm5vdGF0aW9ucyBhcmUgbGF6aWx5IGV2YWx1YXRlZCBpbiBhbiA6cmVmOmBhbm5v dGF0aW9uIHNjb3BlIDxhbm5vdGF0aW9uLXNjb3Blcz5gLg0KIFRoaXMgbWVhbnMgdGhhdCB0aGV5 IGFyZSBub3QgZXZhbHVhdGVkIHdoZW4gdGhlIGNvZGUgY29udGFpbmluZyB0aGUgYW5ub3RhdGlv biBpcyBldmFsdWF0ZWQuDQpkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0 IGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0DQppbmRleCA3ODBlMGUwZWNhM2MyMmEuLjE5 YmMyMjAzNzE3OWVhZSAxMDA2NDQNCi0tLSBhL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdA0K KysrIGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0DQpAQCAtMjE5Nyw3ICsyMTk3LDcgQEAg QmFzaWMgY3VzdG9taXphdGlvbg0KICAgIDpkYXRhOmAhTm90SW1wbGVtZW50ZWRgLiAgVGhlcmUg YXJlIG5vIG90aGVyIGltcGxpZWQgcmVsYXRpb25zaGlwcyBhbW9uZyB0aGUNCiAgICBjb21wYXJp c29uIG9wZXJhdG9ycyBvciBkZWZhdWx0IGltcGxlbWVudGF0aW9uczsgZm9yIGV4YW1wbGUsIHRo ZSB0cnV0aCBvZg0KICAgIGBgKHg8eSBvciB4PT15KWBgIGRvZXMgbm90IGltcGx5IGBgeDw9eWBg LiBUbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIG9yZGVyaW5nDQotICAgb3BlcmF0aW9ucyBmcm9t IGEgc2luZ2xlIHJvb3Qgb3BlcmF0aW9uLCBzZWUgOmZ1bmM6YGZ1bmN0b29scy50b3RhbF9vcmRl cmluZ2AuDQorICAgb3BlcmF0aW9ucyBmcm9tIGEgc2luZ2xlIHJvb3Qgb3BlcmF0aW9uLCBzZWUg OmRlY286YGZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2AuDQogDQogICAgQnkgZGVmYXVsdCwgdGhl IDpjbGFzczpgb2JqZWN0YCBjbGFzcyBwcm92aWRlcyBpbXBsZW1lbnRhdGlvbnMgY29uc2lzdGVu dA0KICAgIHdpdGggOnJlZjpgZXhwcmVzc2lvbnMtdmFsdWUtY29tcGFyaXNvbnNgOiBlcXVhbGl0 eSBjb21wYXJlcyBhY2NvcmRpbmcgdG8NCkBAIC0yNjIxLDcgKzI2MjEsNyBAQCBpbXBsZW1lbnRl ZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2FuIHJl ZGVmaW5lIGFuZA0KIG92ZXJyaWRlIG1ldGhvZHMuICBUaGlzIGFsbG93cyBpbmRpdmlkdWFsIGlu c3RhbmNlcyB0byBhY3F1aXJlIGJlaGF2aW9ycyB0aGF0DQogZGlmZmVyIGZyb20gb3RoZXIgaW5z dGFuY2VzIG9mIHRoZSBzYW1lIGNsYXNzLg0KIA0KLVRoZSA6ZnVuYzpgcHJvcGVydHlgIGZ1bmN0 aW9uIGlzIGltcGxlbWVudGVkIGFzIGEgZGF0YSBkZXNjcmlwdG9yLiBBY2NvcmRpbmdseSwNCitU aGUgOmRlY286YHByb3BlcnR5YCBkZWNvcmF0b3IgaXMgaW1wbGVtZW50ZWQgYXMgYSBkYXRhIGRl c2NyaXB0b3IuIEFjY29yZGluZ2x5LA0KIGluc3RhbmNlcyBjYW5ub3Qgb3ZlcnJpZGUgdGhlIGJl aGF2aW9yIG9mIGEgcHJvcGVydHkuDQogDQogDQpkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9l eHByZXNzaW9ucy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdA0KaW5kZXggOTNi MmNkYzFlMTcwMTBjLi5jM2YyMzIwOWM4NWIzMjQgMTAwNjQ0DQotLS0gYS9Eb2MvcmVmZXJlbmNl L2V4cHJlc3Npb25zLnJzdA0KKysrIGIvRG9jL3JlZmVyZW5jZS9leHByZXNzaW9ucy5yc3QNCkBA IC0yNDA3LDcgKzI0MDcsNyBAQCBzb21lIGNvbnNpc3RlbmN5IHJ1bGVzLCBpZiBwb3NzaWJsZToN CiANCiAgIFRoZSBsYXN0IHR3byBleHByZXNzaW9ucyBhcHBseSB0byB0b3RhbGx5IG9yZGVyZWQg Y29sbGVjdGlvbnMgKGUuZy4gdG8NCiAgIHNlcXVlbmNlcywgYnV0IG5vdCB0byBzZXRzIG9yIG1h cHBpbmdzKS4gU2VlIGFsc28gdGhlDQotICA6ZnVuYzpgfmZ1bmN0b29scy50b3RhbF9vcmRlcmlu Z2AgZGVjb3JhdG9yLg0KKyAgOmRlY286YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGRlY29y YXRvci4NCiANCiAqIFRoZSA6ZnVuYzpgaGFzaGAgcmVzdWx0IHNob3VsZCBiZSBjb25zaXN0ZW50 IHdpdGggZXF1YWxpdHkuDQogICBPYmplY3RzIHRoYXQgYXJlIGVxdWFsIHNob3VsZCBlaXRoZXIg aGF2ZSB0aGUgc2FtZSBoYXNoIHZhbHVlLA0KZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2Uvc2lt cGxlX3N0bXRzLnJzdCBiL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdA0KaW5kZXggMGYx MzQ2MDRiNWQ5MjJiLi5hOTY0YjQzZWJlZTE3NDYgMTAwNjQ0DQotLS0gYS9Eb2MvcmVmZXJlbmNl L3NpbXBsZV9zdG10cy5yc3QNCisrKyBiL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdA0K QEAgLTE4MSw3ICsxODEsNyBAQCBBc3NpZ25tZW50IG9mIGFuIG9iamVjdCB0byBhIHNpbmdsZSB0 YXJnZXQgaXMgcmVjdXJzaXZlbHkgZGVmaW5lZCBhcyBmb2xsb3dzLg0KICAgICAgaW5zdC54ID0g aW5zdC54ICsgMSAgICMgd3JpdGVzIGluc3QueCBhcyA0IGxlYXZpbmcgQ2xzLnggYXMgMw0KIA0K ICAgVGhpcyBkZXNjcmlwdGlvbiBkb2VzIG5vdCBuZWNlc3NhcmlseSBhcHBseSB0byBkZXNjcmlw dG9yIGF0dHJpYnV0ZXMsIHN1Y2ggYXMNCi0gIHByb3BlcnRpZXMgY3JlYXRlZCB3aXRoIDpmdW5j OmBwcm9wZXJ0eWAuDQorICBwcm9wZXJ0aWVzIGNyZWF0ZWQgd2l0aCA6ZGVjbzpgcHJvcGVydHlg Lg0KIA0KICAgLi4gaW5kZXg6Og0KICAgICAgcGFpcjogc3Vic2NyaXB0aW9uOyBhc3NpZ25tZW50 DQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzIuNi5yc3QgYi9Eb2Mvd2hhdHNuZXcvMi42LnJz dA0KaW5kZXggMTIxNTYwMWEwOWQ2ODFjLi5lMWY3MmI2YzRhNmM5MmMgMTAwNjQ0DQotLS0gYS9E b2Mvd2hhdHNuZXcvMi42LnJzdA0KKysrIGIvRG9jL3doYXRzbmV3LzIuNi5yc3QNCkBAIC00MzEs NyArNDMxLDcgQEAgVGhlIGNvbnRleHRsaWIgbW9kdWxlDQogVGhlIDptb2Q6YGNvbnRleHRsaWJg IG1vZHVsZSBwcm92aWRlcyBzb21lIGZ1bmN0aW9ucyBhbmQgYSBkZWNvcmF0b3IgdGhhdA0KIGFy ZSB1c2VmdWwgd2hlbiB3cml0aW5nIG9iamVjdHMgZm9yIHVzZSB3aXRoIHRoZSAnOmtleXdvcmQ6 YHdpdGhgJyBzdGF0ZW1lbnQuDQogDQotVGhlIGRlY29yYXRvciBpcyBjYWxsZWQgOmZ1bmM6YH5j b250ZXh0bGliLmNvbnRleHRtYW5hZ2VyYCwgYW5kIGxldHMgeW91IHdyaXRlDQorVGhlIGRlY29y YXRvciBpcyBjYWxsZWQgOmRlY286YH5jb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyYCwgYW5kIGxl dHMgeW91IHdyaXRlDQogYSBzaW5nbGUgZ2VuZXJhdG9yIGZ1bmN0aW9uIGluc3RlYWQgb2YgZGVm aW5pbmcgYSBuZXcgY2xhc3MuICBUaGUgZ2VuZXJhdG9yDQogc2hvdWxkIHlpZWxkIGV4YWN0bHkg b25lIHZhbHVlLiAgVGhlIGNvZGUgdXAgdG8gdGhlIDprZXl3b3JkOmB5aWVsZGAgd2lsbCBiZQ0K IGV4ZWN1dGVkIGFzIHRoZSA6bWV0aDpgfm9iamVjdC5fX2VudGVyX19gIG1ldGhvZCwgYW5kIHRo ZSB2YWx1ZSB5aWVsZGVkIHdpbGwNCkBAIC0xNTU3LDggKzE1NTcsOSBAQCBTb21lIHNtYWxsZXIg Y2hhbmdlcyBtYWRlIHRvIHRoZSBjb3JlIFB5dGhvbiBsYW5ndWFnZSBhcmU6DQogDQogICAuLiBS ZXZpc2lvbiA1NzYxOQ0KIA0KLSogUHJvcGVydGllcyBub3cgaGF2ZSB0aHJlZSBhdHRyaWJ1dGVz LCA6YXR0cjpgZ2V0dGVyYCwgOmF0dHI6YHNldHRlcmANCi0gIGFuZCA6YXR0cjpgZGVsZXRlcmAs IHRoYXQgYXJlIGRlY29yYXRvcnMgcHJvdmlkaW5nIHVzZWZ1bCBzaG9ydGN1dHMNCisqIFByb3Bl cnRpZXMgbm93IGhhdmUgdGhyZWUgZGVjb3JhdG9ycywgOmRlY286YH5wcm9wZXJ0eS5nZXR0ZXJg LA0KKyAgOmRlY286YH5wcm9wZXJ0eS5zZXR0ZXJgIGFuZCA6ZGVjbzpgfnByb3BlcnR5LmRlbGV0 ZXJgLCB0aGF0IGFyZQ0KKyAgZGVjb3JhdG9ycyBwcm92aWRpbmcgdXNlZnVsIHNob3J0Y3V0cw0K ICAgZm9yIGFkZGluZyBhIGdldHRlciwgc2V0dGVyIG9yIGRlbGV0ZXIgZnVuY3Rpb24gdG8gYW4g ZXhpc3RpbmcNCiAgIHByb3BlcnR5LiBZb3Ugd291bGQgdXNlIHRoZW0gbGlrZSB0aGlzOjoNCiAN CmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMi43LnJzdCBiL0RvYy93aGF0c25ldy8yLjcucnN0 DQppbmRleCA3Mjk2Mjk2ZDE0NDgwM2QuLmRlOTBjMzdhMzhkMzhmZiAxMDA2NDQNCi0tLSBhL0Rv Yy93aGF0c25ldy8yLjcucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMi43LnJzdA0KQEAgLTEyNjcs NyArMTI2Nyw3IEBAIGNoYW5nZXMsIG9yIGxvb2sgdGhyb3VnaCB0aGUgU3VidmVyc2lvbiBsb2dz IGZvciBhbGwgdGhlIGRldGFpbHMuDQogICB1cGxvYWRzIHRoYW5rcyB0byBhbiBhZGRlZCAqcmVz dCogcGFyYW1ldGVyIChwYXRjaCBieSBQYWJsbyBNb3V6bzsNCiAgIDppc3N1ZTpgNjg0NWAuKQ0K IA0KLSogTmV3IGNsYXNzIGRlY29yYXRvcjogOmZ1bmM6YH5mdW5jdG9vbHMudG90YWxfb3JkZXJp bmdgIGluIHRoZSA6bW9kOmBmdW5jdG9vbHNgDQorKiBOZXcgY2xhc3MgZGVjb3JhdG9yOiA6ZGVj bzpgfmZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2AgaW4gdGhlIDptb2Q6YGZ1bmN0b29sc2ANCiAg IG1vZHVsZSB0YWtlcyBhIGNsYXNzIHRoYXQgZGVmaW5lcyBhbiA6bWV0aDpgfm9iamVjdC5fX2Vx X19gIG1ldGhvZCBhbmQgb25lIG9mDQogICA6bWV0aDpgfm9iamVjdC5fX2x0X19gLCA6bWV0aDpg fm9iamVjdC5fX2xlX19gLCA6bWV0aDpgfm9iamVjdC5fX2d0X19gLCBvciA6bWV0aDpgfm9iamVj dC5fX2dlX19gLA0KICAgYW5kIGdlbmVyYXRlcyB0aGUgbWlzc2luZyBjb21wYXJpc29uIG1ldGhv ZHMuICBTaW5jZSB0aGUNCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy4xMC5yc3QgYi9Eb2Mv d2hhdHNuZXcvMy4xMC5yc3QNCmluZGV4IGY2ODdiNmM4NTU5MWZjOC4uMzkwYjgyZDVhMWZkYzFi IDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuMTAucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcv My4xMC5yc3QNCkBAIC05OTYsNyArOTk2LDcgQEAgZGF0YWNsYXNzZXMNCiBfX3Nsb3RzX18NCiB+ fn5+fn5+fn4NCiANCi1BZGRlZCBgYHNsb3RzYGAgcGFyYW1ldGVyIGluIDpmdW5jOmBkYXRhY2xh c3Nlcy5kYXRhY2xhc3NgIGRlY29yYXRvci4NCitBZGRlZCBgYHNsb3RzYGAgcGFyYW1ldGVyIGlu IDpkZWNvOmBkYXRhY2xhc3Nlcy5kYXRhY2xhc3NgIGRlY29yYXRvci4NCiAoQ29udHJpYnV0ZWQg YnkgWXVyaWkgS2FyYWJhcyBpbiA6aXNzdWU6YDQyMjY5YCkNCiANCiBLZXl3b3JkLW9ubHkgZmll bGRzDQpAQCAtMTQ4NSw5ICsxNDg1LDkgQEAgaXMgYSA6Y2xhc3M6YHR5cGluZy5UeXBlZERpY3Rg Lg0KIA0KIFN1YmNsYXNzZXMgb2YgYGB0eXBpbmcuUHJvdG9jb2xgYCB3aGljaCBvbmx5IGhhdmUg ZGF0YSB2YXJpYWJsZXMgZGVjbGFyZWQNCiB3aWxsIG5vdyByYWlzZSBhIGBgVHlwZUVycm9yYGAg d2hlbiBjaGVja2VkIHdpdGggYGBpc2luc3RhbmNlYGAgdW5sZXNzIHRoZXkNCi1hcmUgZGVjb3Jh dGVkIHdpdGggOmZ1bmM6YH50eXBpbmcucnVudGltZV9jaGVja2FibGVgLiAgUHJldmlvdXNseSwg dGhlc2UgY2hlY2tzDQorYXJlIGRlY29yYXRlZCB3aXRoIDpkZWNvOmB+dHlwaW5nLnJ1bnRpbWVf Y2hlY2thYmxlYC4gIFByZXZpb3VzbHksIHRoZXNlIGNoZWNrcw0KIHBhc3NlZCBzaWxlbnRseS4g IFVzZXJzIHNob3VsZCBkZWNvcmF0ZSB0aGVpcg0KLXN1YmNsYXNzZXMgd2l0aCB0aGUgOmZ1bmM6 YCFydW50aW1lX2NoZWNrYWJsZWAgZGVjb3JhdG9yDQorc3ViY2xhc3NlcyB3aXRoIHRoZSA6ZGVj bzpgIXJ1bnRpbWVfY2hlY2thYmxlYCBkZWNvcmF0b3INCiBpZiB0aGV5IHdhbnQgcnVudGltZSBw cm90b2NvbHMuDQogKENvbnRyaWJ1dGVkIGJ5IFl1cmlpIEthcmFiYXMgaW4gOmlzc3VlOmAzODkw OGAuKQ0KIA0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjExLnJzdCBiL0RvYy93aGF0c25l dy8zLjExLnJzdA0KaW5kZXggYTA5NWQ4ODczNTIxMjdhLi43YjM0NzU4ODIwNjM2MzUgMTAwNjQ0 DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy4xMS5yc3QNCisrKyBiL0RvYy93aGF0c25ldy8zLjExLnJz dA0KQEAgLTM4OCw3ICszODgsNyBAQCBLdW1hciBTcmluaXZhc2FuIGFuZCBHcmFoYW0gQmxlYW5l eS4pDQogUEVQIDY4MTogRGF0YSBjbGFzcyB0cmFuc2Zvcm1zDQogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQogDQotOmRhdGE6YH50eXBpbmcuZGF0YWNsYXNzX3RyYW5zZm9ybWAgbWF5 IGJlIHVzZWQgdG8NCis6ZGVjbzpgfnR5cGluZy5kYXRhY2xhc3NfdHJhbnNmb3JtYCBtYXkgYmUg dXNlZCB0bw0KIGRlY29yYXRlIGEgY2xhc3MsIG1ldGFjbGFzcywgb3IgYSBmdW5jdGlvbiB0aGF0 IGlzIGl0c2VsZiBhIGRlY29yYXRvci4NCiBUaGUgcHJlc2VuY2Ugb2YgYGBAZGF0YWNsYXNzX3Ry YW5zZm9ybSgpYGAgdGVsbHMgYSBzdGF0aWMgdHlwZSBjaGVja2VyIHRoYXQgdGhlDQogZGVjb3Jh dGVkIG9iamVjdCBwZXJmb3JtcyBydW50aW1lICJtYWdpYyIgdGhhdCB0cmFuc2Zvcm1zIGEgY2xh c3MsDQpAQCAtNjg2LDggKzY4Niw4IEBAIGVudW0NCiAqIEFkZGVkIHRoZSA6ZnVuYzpgfmVudW0u bWVtYmVyYCBhbmQgOmZ1bmM6YH5lbnVtLm5vbm1lbWJlcmAgZGVjb3JhdG9ycywNCiAgIHRvIGVu c3VyZSB0aGUgZGVjb3JhdGVkIG9iamVjdCBpcy9pcyBub3QgY29udmVydGVkIHRvIGFuIGVudW0g bWVtYmVyLg0KIA0KLSogQWRkZWQgdGhlIDpmdW5jOmB+ZW51bS5wcm9wZXJ0eWAgZGVjb3JhdG9y LA0KLSAgd2hpY2ggd29ya3MgbGlrZSA6ZnVuYzpgcHJvcGVydHlgIGV4Y2VwdCBmb3IgZW51bXMu DQorKiBBZGRlZCB0aGUgOmRlY286YH5lbnVtLnByb3BlcnR5YCBkZWNvcmF0b3IsDQorICB3aGlj aCB3b3JrcyBsaWtlIDpkZWNvOmBwcm9wZXJ0eWAgZXhjZXB0IGZvciBlbnVtcy4NCiAgIFVzZSB0 aGlzIGluc3RlYWQgb2YgOmZ1bmM6YHR5cGVzLkR5bmFtaWNDbGFzc0F0dHJpYnV0ZWAuDQogDQog KiBBZGRlZCB0aGUgOmZ1bmM6YH5lbnVtLmdsb2JhbF9lbnVtYCBlbnVtIGRlY29yYXRvciwNCkBA IC03NDAsNyArNzQwLDcgQEAgZnJhY3Rpb25zDQogZnVuY3Rvb2xzDQogLS0tLS0tLS0tDQogDQot KiA6ZnVuYzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBub3cgc3VwcG9ydHMgOmNsYXNzOmB0 eXBlcy5VbmlvblR5cGVgDQorKiA6ZGVjbzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBub3cg c3VwcG9ydHMgOmNsYXNzOmB0eXBlcy5VbmlvblR5cGVgDQogICBhbmQgOmNsYXNzOmB0eXBpbmcu VW5pb25gIGFzIGFubm90YXRpb25zIHRvIHRoZSBkaXNwYXRjaCBhcmd1bWVudC46Og0KIA0KICAg ICA+Pj4gZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHNpbmdsZWRpc3BhdGNoDQpAQCAtMTE2NCw3ICsx MTY0LDcgQEAgRm9yIG1ham9yIGNoYW5nZXMsIHNlZSA6cmVmOmBuZXctZmVhdC1yZWxhdGVkLXR5 cGUtaGludHMtMzExYC4NCiAgIHR5cGUgY2hlY2tlciBlcnJvcnMgcmVsYXRlZCB0byBoaWdobHkg ZHluYW1pYyBjbGFzcywgc3VjaCBhcyBtb2Nrcy4NCiAgIChDb250cmlidXRlZCBieSBTaGFudGFu dSBKYWluIGluIDpnaDpgOTExNTRgLikNCiANCi0qIFRoZSA6ZnVuYzpgdHlwaW5nLmZpbmFsYCBk ZWNvcmF0b3Igbm93IHNldHMgdGhlIGBgX19maW5hbF9fYGAgYXR0cmlidXRlZCBvbg0KKyogVGhl IDpkZWNvOmB0eXBpbmcuZmluYWxgIGRlY29yYXRvciBub3cgc2V0cyB0aGUgYGBfX2ZpbmFsX19g YCBhdHRyaWJ1dGVkIG9uDQogICB0aGUgZGVjb3JhdGVkIG9iamVjdC4NCiAgIChDb250cmlidXRl ZCBieSBKZWxsZSBaaWpsc3RyYSBpbiA6Z2g6YDkwNTAwYC4pDQogDQpAQCAtMTE5Nyw3ICsxMTk3 LDcgQEAgRm9yIG1ham9yIGNoYW5nZXMsIHNlZSA6cmVmOmBuZXctZmVhdC1yZWxhdGVkLXR5cGUt aGludHMtMzExYC4NCiAgIDpkYXRhOmB+dHlwaW5nLkNsYXNzVmFyYCBhbm5vdGF0aW9ucy4gKENv bnRyaWJ1dGVkIGJ5IEdyZWdvcnkgQmVhdXJlZ2FyZA0KICAgaW4gOmdoOmA5MDcxMWAuKQ0KIA0K LSogOmZ1bmM6YHR5cGluZy5ub190eXBlX2NoZWNrYCBubyBsb25nZXIgbW9kaWZpZXMgZXh0ZXJu YWwgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLg0KKyogOmRlY286YHR5cGluZy5ub190eXBlX2NoZWNr YCBubyBsb25nZXIgbW9kaWZpZXMgZXh0ZXJuYWwgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLg0KICAg SXQgYWxzbyBub3cgY29ycmVjdGx5IG1hcmtzIGNsYXNzbWV0aG9kcyBhcyBub3QgdG8gYmUgdHlw ZSBjaGVja2VkLiAoQ29udHJpYnV0ZWQNCiAgIGJ5IE5pa2l0YSBTb2JvbGV2IGluIDpnaDpgOTA3 MjlgLikNCiANCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy4xMi5yc3QgYi9Eb2Mvd2hhdHNu ZXcvMy4xMi5yc3QNCmluZGV4IGRmNmNjOThlYWYxYzkwYS4uNzFmZTM1NGIyYzA4ZjA3IDEwMDY0 NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuMTIucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy4xMi5y c3QNCkBAIC0xNDYsNyArMTQ2LDcgQEAgTmV3IHR5cGluZyBmZWF0dXJlczoNCiANCiAqIDpyZWY6 YFBFUCA2OTIgPHdoYXRzbmV3MzEyLXBlcDY5Mj5gLCB1c2luZyA6Y2xhc3M6YH50eXBpbmcuVHlw ZWREaWN0YCB0bw0KICAgYW5ub3RhdGUgOnRlcm06YCoqa3dhcmdzIDxhcmd1bWVudD5gDQotKiA6 cmVmOmBQRVAgNjk4IDx3aGF0c25ldzMxMi1wZXA2OTg+YCwgOmZ1bmM6YHR5cGluZy5vdmVycmlk ZWAgZGVjb3JhdG9yDQorKiA6cmVmOmBQRVAgNjk4IDx3aGF0c25ldzMxMi1wZXA2OTg+YCwgOmRl Y286YHR5cGluZy5vdmVycmlkZWAgZGVjb3JhdG9yDQogDQogSW1wb3J0YW50IGRlcHJlY2F0aW9u cywgcmVtb3ZhbHMgb3IgcmVzdHJpY3Rpb25zOg0KIA0KQEAgLTUxMSw3ICs1MTEsNyBAQCBTZWUg OnBlcDpgNjkyYCBmb3IgbW9yZSBkZXRhaWxzLg0KIFBFUCA2OTg6IE92ZXJyaWRlIERlY29yYXRv ciBmb3IgU3RhdGljIFR5cGluZw0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KIA0KLUEgbmV3IGRlY29yYXRvciA6ZnVuYzpgdHlwaW5nLm92ZXJyaWRlYCBo YXMgYmVlbiBhZGRlZCB0byB0aGUgOm1vZDpgdHlwaW5nYA0KK0EgbmV3IGRlY29yYXRvciA6ZGVj bzpgdHlwaW5nLm92ZXJyaWRlYCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgOm1vZDpgdHlwaW5nYA0K IG1vZHVsZS4gSXQgaW5kaWNhdGVzIHRvIHR5cGUgY2hlY2tlcnMgdGhhdCB0aGUgbWV0aG9kIGlz IGludGVuZGVkIHRvIG92ZXJyaWRlDQogYSBtZXRob2QgaW4gYSBzdXBlcmNsYXNzLiBUaGlzIGFs bG93cyB0eXBlIGNoZWNrZXJzIHRvIGNhdGNoIG1pc3Rha2VzIHdoZXJlDQogYSBtZXRob2QgdGhh dCBpcyBpbnRlbmRlZCB0byBvdmVycmlkZSBzb21ldGhpbmcgaW4gYSBiYXNlIGNsYXNzDQpAQCAt MTAyMSw3ICsxMDIxLDcgQEAgdHlwaW5nDQogICBgYF9fb3JpZ19iYXNlc19fYGAgYXR0cmlidXRl LiAoQ29udHJpYnV0ZWQgYnkgQWRyaWFuIEdhcmNpYSBCYWRhcmFjY28gaW4NCiAgIDpnaDpgMTAz Njk5YC4pDQogDQotKiBBZGQgYGBmcm96ZW5fZGVmYXVsdGBgIHBhcmFtZXRlciB0byA6ZnVuYzpg dHlwaW5nLmRhdGFjbGFzc190cmFuc2Zvcm1gLg0KKyogQWRkIGBgZnJvemVuX2RlZmF1bHRgYCBw YXJhbWV0ZXIgdG8gOmRlY286YHR5cGluZy5kYXRhY2xhc3NfdHJhbnNmb3JtYC4NCiAgIChDb250 cmlidXRlZCBieSBFcmlrIERlIEJvbnRlIGluIDpnaDpgOTk5NTdgLikNCiANCiB1bmljb2RlZGF0 YQ0KQEAgLTE3NDcsNyArMTc0Nyw3IEBAIENoYW5nZXMgaW4gdGhlIFB5dGhvbiBBUEkNCiAgIGFy b3VuZCBwcm9jZXNzLWdsb2JhbCByZXNvdXJjZXMsIHdoaWNoIGFyZSBiZXN0IG1hbmFnZWQgZnJv bSB0aGUgbWFpbiBpbnRlcnByZXRlci4NCiAgIChDb250cmlidXRlZCBieSBEb25naGVlIE5hIGlu IDpnaDpgOTkxMjdgLikNCiANCi0qIFRoZSB1bmRvY3VtZW50ZWQgbG9ja2luZyBiZWhhdmlvciBv ZiA6ZnVuYzpgfmZ1bmN0b29scy5jYWNoZWRfcHJvcGVydHlgDQorKiBUaGUgdW5kb2N1bWVudGVk IGxvY2tpbmcgYmVoYXZpb3Igb2YgOmRlY286YH5mdW5jdG9vbHMuY2FjaGVkX3Byb3BlcnR5YA0K ICAgaXMgcmVtb3ZlZCwgYmVjYXVzZSBpdCBsb2NrZWQgYWNyb3NzIGFsbCBpbnN0YW5jZXMgb2Yg dGhlIGNsYXNzLCBsZWFkaW5nIHRvIGhpZ2gNCiAgIGxvY2sgY29udGVudGlvbi4gVGhpcyBtZWFu cyB0aGF0IGEgY2FjaGVkIHByb3BlcnR5IGdldHRlciBmdW5jdGlvbiBjb3VsZCBub3cgcnVuDQog ICBtb3JlIHRoYW4gb25jZSBmb3IgYSBzaW5nbGUgaW5zdGFuY2UsIGlmIHR3byB0aHJlYWRzIHJh Y2UuIEZvciBtb3N0IHNpbXBsZQ0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjEzLnJzdCBi L0RvYy93aGF0c25ldy8zLjEzLnJzdA0KaW5kZXggZjQ0ODliZmExYjc0ZTg1Li40MzZiNjJkZmM2 MzM0MDYgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy4xMy5yc3QNCisrKyBiL0RvYy93aGF0 c25ldy8zLjEzLnJzdA0KQEAgLTE5OTQsNyArMTk5NCw3IEBAIE5ldyBEZXByZWNhdGlvbnMNCiAg ICAgdXNlIGBgY2xhc3MgVEQoVHlwZWREaWN0KTogcGFzc2BgIG9yIGBgVEQgPSBUeXBlZERpY3Qo IlREIiwge30pYGAuDQogICAgIChDb250cmlidXRlZCBieSBBbGV4IFdheWdvb2QgaW4gOmdoOmAx MDU1NjZgIGFuZCA6Z2g6YDEwNTU3MGAuKQ0KIA0KLSAgKiBEZXByZWNhdGUgdGhlIDpmdW5jOmAh dHlwaW5nLm5vX3R5cGVfY2hlY2tfZGVjb3JhdG9yYCBkZWNvcmF0b3IgZnVuY3Rpb24sDQorICAq IERlcHJlY2F0ZSB0aGUgOmRlY286YCF0eXBpbmcubm9fdHlwZV9jaGVja19kZWNvcmF0b3JgIGRl Y29yYXRvciBmdW5jdGlvbiwNCiAgICAgdG8gYmUgcmVtb3ZlZCBpbiBQeXRob24gMy4xNS4NCiAg ICAgQWZ0ZXIgZWlnaHQgeWVhcnMgaW4gdGhlIDptb2Q6YHR5cGluZ2AgbW9kdWxlLA0KICAgICBp dCBoYXMgeWV0IHRvIGJlIHN1cHBvcnRlZCBieSBhbnkgbWFqb3IgdHlwZSBjaGVja2VyLg0KZGlm ZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjE1LnJzdCBiL0RvYy93aGF0c25ldy8zLjE1LnJzdA0K aW5kZXggOTljYzE3MzcyMzJlMjg5Li4yM2JmOTM3MTM5NGY5NjEgMTAwNjQ0DQotLS0gYS9Eb2Mv d2hhdHNuZXcvMy4xNS5yc3QNCisrKyBiL0RvYy93aGF0c25ldy8zLjE1LnJzdA0KQEAgLTIxNjIs NyArMjE2Miw3IEBAIHR5cGluZw0KICAgb3IgYGBURCA9IFR5cGVkRGljdCgiVEQiLCB7fSlgYCBp bnN0ZWFkLg0KICAgKENvbnRyaWJ1dGVkIGJ5IELDqW7DqWRpa3QgVHJhbiBpbiA6Z2g6YDEzMzgy M2AuKQ0KIA0KLSogRGVwcmVjYXRlZCA6ZnVuYzpgIXR5cGluZy5ub190eXBlX2NoZWNrX2RlY29y YXRvcmAgaGFzIGJlZW4gcmVtb3ZlZC4NCisqIERlcHJlY2F0ZWQgOmRlY286YCF0eXBpbmcubm9f dHlwZV9jaGVja19kZWNvcmF0b3JgIGhhcyBiZWVuIHJlbW92ZWQuDQogICAoQ29udHJpYnV0ZWQg YnkgTmlraXRhIFNvYm9sZXYgaW4gOmdoOmAxMzM2MDFgLikNCiANCiANCmRpZmYgLS1naXQgYS9E b2Mvd2hhdHNuZXcvMy4yLnJzdCBiL0RvYy93aGF0c25ldy8zLjIucnN0DQppbmRleCA0OGM0NjFk ODkxZTg2MTQuLmM2MWViNjU5Y2NjMGY2MiAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjIu cnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy4yLnJzdA0KQEAgLTc1Niw3ICs3NTYsNyBAQCBmdW5j dG9vbHMNCiAtLS0tLS0tLS0NCiANCiAqIFRoZSA6bW9kOmBmdW5jdG9vbHNgIG1vZHVsZSBpbmNs dWRlcyBhIG5ldyBkZWNvcmF0b3IgZm9yIGNhY2hpbmcgZnVuY3Rpb24NCi0gIGNhbGxzLiAgOmZ1 bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIGNhbiBzYXZlIHJlcGVhdGVkIHF1ZXJpZXMgdG8gYW4g ZXh0ZXJuYWwNCisgIGNhbGxzLiAgOmRlY286YGZ1bmN0b29scy5scnVfY2FjaGVgIGNhbiBzYXZl IHJlcGVhdGVkIHF1ZXJpZXMgdG8gYW4gZXh0ZXJuYWwNCiAgIHJlc291cmNlIHdoZW5ldmVyIHRo ZSByZXN1bHRzIGFyZSBleHBlY3RlZCB0byBiZSB0aGUgc2FtZS4NCiANCiAgIEZvciBleGFtcGxl LCBhZGRpbmcgYSBjYWNoaW5nIGRlY29yYXRvciB0byBhIGRhdGFiYXNlIHF1ZXJ5IGZ1bmN0aW9u IGNhbiBzYXZlDQpAQCAtNzg5LDcgKzc4OSw3IEBAIGZ1bmN0b29scw0KICAgPGh0dHBzOi8vY29k ZS5hY3RpdmVzdGF0ZS5jb20vcmVjaXBlcy81Nzc0Nzktc2ltcGxlLWNhY2hpbmctZGVjb3JhdG9y Lz5gX1wsIDppc3N1ZTpgMTA1ODZgLCBhbmQNCiAgIDppc3N1ZTpgMTA1OTNgLikNCiANCi0qIFRo ZSA6ZnVuYzpgZnVuY3Rvb2xzLndyYXBzYCBkZWNvcmF0b3Igbm93IGFkZHMgYSA6YXR0cjpgX193 cmFwcGVkX19gIGF0dHJpYnV0ZQ0KKyogVGhlIDpkZWNvOmBmdW5jdG9vbHMud3JhcHNgIGRlY29y YXRvciBub3cgYWRkcyBhIDphdHRyOmBfX3dyYXBwZWRfX2AgYXR0cmlidXRlDQogICBwb2ludGlu ZyB0byB0aGUgb3JpZ2luYWwgY2FsbGFibGUgZnVuY3Rpb24uICBUaGlzIGFsbG93cyB3cmFwcGVk IGZ1bmN0aW9ucyB0bw0KICAgYmUgaW50cm9zcGVjdGVkLiAgSXQgYWxzbyBjb3BpZXMgOmF0dHI6 YH5mdW5jdGlvbi5fX2Fubm90YXRpb25zX19gIGlmDQogICBkZWZpbmVkLiAgQW5kIG5vdyBpdCBh bHNvIGdyYWNlZnVsbHkgc2tpcHMgb3ZlciBtaXNzaW5nIGF0dHJpYnV0ZXMgc3VjaCBhcw0KQEAg LTgwNSwxMSArODA1LDExIEBAIGZ1bmN0b29scw0KICAgOmlzc3VlOmA4ODE0YC4pDQogDQogKiBU byBoZWxwIHdyaXRlIGNsYXNzZXMgd2l0aCByaWNoIGNvbXBhcmlzb24gbWV0aG9kcywgYSBuZXcg ZGVjb3JhdG9yDQotICA6ZnVuYzpgZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nYCB3aWxsIHVzZSBl eGlzdGluZyBlcXVhbGl0eSBhbmQgaW5lcXVhbGl0eQ0KKyAgOmRlY286YGZ1bmN0b29scy50b3Rh bF9vcmRlcmluZ2Agd2lsbCB1c2UgZXhpc3RpbmcgZXF1YWxpdHkgYW5kIGluZXF1YWxpdHkNCiAg IG1ldGhvZHMgdG8gZmlsbCBpbiB0aGUgcmVtYWluaW5nIG1ldGhvZHMuDQogDQogICBGb3IgZXhh bXBsZSwgc3VwcGx5aW5nICpfX2VxX18qIGFuZCAqX19sdF9fKiB3aWxsIGVuYWJsZQ0KLSAgOmZ1 bmM6YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIHRvIGZpbGwtaW4gKl9fbGVfXyosICpfX2d0 X18qIGFuZCAqX19nZV9fKjo6DQorICA6ZGVjbzpgfmZ1bmN0b29scy50b3RhbF9vcmRlcmluZ2Ag dG8gZmlsbC1pbiAqX19sZV9fKiwgKl9fZ3RfXyogYW5kICpfX2dlX18qOjoNCiANCiAgICAgQHRv dGFsX29yZGVyaW5nDQogICAgIGNsYXNzIFN0dWRlbnQ6DQpAQCAtMTA5NywxMSArMTA5NywxMSBA QCBsb2dhcml0aG0gb2YgdGhlIGdhbW1hIGZ1bmN0aW9uOg0KIGFiYw0KIC0tLQ0KIA0KLVRoZSA6 bW9kOmBhYmNgIG1vZHVsZSBub3cgc3VwcG9ydHMgOmZ1bmM6YH5hYmMuYWJzdHJhY3RjbGFzc21l dGhvZGAgYW5kDQotOmZ1bmM6YH5hYmMuYWJzdHJhY3RzdGF0aWNtZXRob2RgLg0KK1RoZSA6bW9k OmBhYmNgIG1vZHVsZSBub3cgc3VwcG9ydHMgOmRlY286YH5hYmMuYWJzdHJhY3RjbGFzc21ldGhv ZGAgYW5kDQorOmRlY286YH5hYmMuYWJzdHJhY3RzdGF0aWNtZXRob2RgLg0KIA0KIFRoZXNlIHRv b2xzIG1ha2UgaXQgcG9zc2libGUgdG8gZGVmaW5lIGFuIDp0ZXJtOmBhYnN0cmFjdCBiYXNlIGNs YXNzYCB0aGF0DQotcmVxdWlyZXMgYSBwYXJ0aWN1bGFyIDpmdW5jOmBjbGFzc21ldGhvZGAgb3Ig OmZ1bmM6YHN0YXRpY21ldGhvZGAgdG8gYmUNCityZXF1aXJlcyBhIHBhcnRpY3VsYXIgOmRlY286 YGNsYXNzbWV0aG9kYCBvciA6ZGVjbzpgc3RhdGljbWV0aG9kYCB0byBiZQ0KIGltcGxlbWVudGVk OjoNCiANCiAgICAgY2xhc3MgVGVtcGVyYXR1cmUobWV0YWNsYXNzPWFiYy5BQkNNZXRhKToNCkBA IC0xMTU1LDcgKzExNTUsNyBAQCBzZWxmLXJlZmVyZW5jZSBieSBkaXNwbGF5aW5nICIuLi4iIGlu IHRoZSByZWN1cnNpdmUgcGFydCBvZiB0aGUgcmVwcmVzZW50YXRpb24NCiBzdHJpbmcuDQogDQog VG8gaGVscCB3cml0ZSBzdWNoIDptZXRoOmB+b2JqZWN0Ll9fcmVwcl9fYCBtZXRob2RzLCB0aGUg Om1vZDpgcmVwcmxpYmAgbW9kdWxlIGhhcyBhIG5ldw0KLWRlY29yYXRvciwgOmZ1bmM6YH5yZXBy bGliLnJlY3Vyc2l2ZV9yZXByYCwgZm9yIGRldGVjdGluZyByZWN1cnNpdmUgY2FsbHMgdG8NCitk ZWNvcmF0b3IsIDpkZWNvOmB+cmVwcmxpYi5yZWN1cnNpdmVfcmVwcmAsIGZvciBkZXRlY3Rpbmcg cmVjdXJzaXZlIGNhbGxzIHRvDQogOm1ldGg6YCFfX3JlcHJfX2AgYW5kIHN1YnN0aXR1dGluZyBh IHBsYWNlaG9sZGVyIHN0cmluZyBpbnN0ZWFkOjoNCiANCiAgICAgICAgID4+PiBjbGFzcyBNeUxp c3QobGlzdCk6DQpAQCAtMTI0MSw3ICsxMjQxLDcgQEAgVGhlcmUgaXMgYSBuZXcgYW5kIHNsaWdo dGx5IG1pbmQtYmxvd2luZyB0b29sDQogOnRlcm06YGNvbnRleHQgbWFuYWdlcmAgdGhhdCBkb2Vz IGRvdWJsZSBkdXR5IGFzIGEgZnVuY3Rpb24gZGVjb3JhdG9yLg0KIA0KIEFzIGEgY29udmVuaWVu Y2UsIHRoaXMgbmV3IGZ1bmN0aW9uYWxpdHkgaXMgdXNlZCBieQ0KLTpmdW5jOmB+Y29udGV4dGxp Yi5jb250ZXh0bWFuYWdlcmAgc28gdGhhdCBubyBleHRyYSBlZmZvcnQgaXMgbmVlZGVkIHRvIHN1 cHBvcnQNCis6ZGVjbzpgfmNvbnRleHRsaWIuY29udGV4dG1hbmFnZXJgIHNvIHRoYXQgbm8gZXh0 cmEgZWZmb3J0IGlzIG5lZWRlZCB0byBzdXBwb3J0DQogYm90aCByb2xlcy4NCiANCiBUaGUgYmFz aWMgaWRlYSBpcyB0aGF0IGJvdGggY29udGV4dCBtYW5hZ2VycyBhbmQgZnVuY3Rpb24gZGVjb3Jh dG9ycyBjYW4gYmUgdXNlZA0KQEAgLTEyNTMsNyArMTI1Myw3IEBAIHdyaXRlIGEgcHJlLWFjdGlv biBvciBwb3N0LWFjdGlvbiB3cmFwcGVyIHRoYXQgY2FuIGJlIHVzZWQgaW4gZWl0aGVyIHJvbGUu DQogRm9yIGV4YW1wbGUsIGl0IGlzIHNvbWV0aW1lcyB1c2VmdWwgdG8gd3JhcCBmdW5jdGlvbnMg b3IgZ3JvdXBzIG9mIHN0YXRlbWVudHMNCiB3aXRoIGEgbG9nZ2VyIHRoYXQgY2FuIHRyYWNrIHRo ZSB0aW1lIG9mIGVudHJ5IGFuZCB0aW1lIG9mIGV4aXQuICBSYXRoZXIgdGhhbg0KIHdyaXRpbmcg Ym90aCBhIGZ1bmN0aW9uIGRlY29yYXRvciBhbmQgYSBjb250ZXh0IG1hbmFnZXIgZm9yIHRoZSB0 YXNrLCB0aGUNCi06ZnVuYzpgfmNvbnRleHRsaWIuY29udGV4dG1hbmFnZXJgIHByb3ZpZGVzIGJv dGggY2FwYWJpbGl0aWVzIGluIGEgc2luZ2xlDQorOmRlY286YH5jb250ZXh0bGliLmNvbnRleHRt YW5hZ2VyYCBwcm92aWRlcyBib3RoIGNhcGFiaWxpdGllcyBpbiBhIHNpbmdsZQ0KIGRlZmluaXRp b246Og0KIA0KICAgICBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyDQpkaWZm IC0tZ2l0IGEvRG9jL3doYXRzbmV3LzMuMy5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy4zLnJzdA0KaW5k ZXggMWJiNzliY2UyYzNlOTcyLi4wMmZkMjY0ZTUzZTFiMDYgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hh dHNuZXcvMy4zLnJzdA0KKysrIGIvRG9jL3doYXRzbmV3LzMuMy5yc3QNCkBAIC05MTksMTIgKzkx OSwxMiBAQCBhYnN0cmFjdCBtZXRob2RzLiBUaGUgcmVjb21tZW5kZWQgYXBwcm9hY2ggdG8gZGVj bGFyaW5nIGFic3RyYWN0IGRlc2NyaXB0b3JzIGlzDQogbm93IHRvIHByb3ZpZGUgOmF0dHI6YCFf X2lzYWJzdHJhY3RtZXRob2RfX2AgYXMgYSBkeW5hbWljYWxseSB1cGRhdGVkDQogcHJvcGVydHku IFRoZSBidWlsdC1pbiBkZXNjcmlwdG9ycyBoYXZlIGJlZW4gdXBkYXRlZCBhY2NvcmRpbmdseS4N CiANCi0qIDpjbGFzczpgYWJjLmFic3RyYWN0cHJvcGVydHlgIGhhcyBiZWVuIGRlcHJlY2F0ZWQs IHVzZSA6Y2xhc3M6YHByb3BlcnR5YA0KLSAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9k YCBpbnN0ZWFkLg0KLSogOmNsYXNzOmBhYmMuYWJzdHJhY3RjbGFzc21ldGhvZGAgaGFzIGJlZW4g ZGVwcmVjYXRlZCwgdXNlDQotICA6Y2xhc3M6YGNsYXNzbWV0aG9kYCB3aXRoIDpmdW5jOmBhYmMu YWJzdHJhY3RtZXRob2RgIGluc3RlYWQuDQotKiA6Y2xhc3M6YGFiYy5hYnN0cmFjdHN0YXRpY21l dGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlDQotICA6Y2xhc3M6YHN0YXRpY21ldGhvZGAg d2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KKyogOmRlY286YGFiYy5h YnN0cmFjdHByb3BlcnR5YCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UgOmRlY286YHByb3BlcnR5 YA0KKyAgd2l0aCA6ZGVjbzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KKyogOmRlY286 YGFiYy5hYnN0cmFjdGNsYXNzbWV0aG9kYCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UNCisgIDpk ZWNvOmBjbGFzc21ldGhvZGAgd2l0aCA6ZGVjbzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFk Lg0KKyogOmRlY286YGFiYy5hYnN0cmFjdHN0YXRpY21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRl ZCwgdXNlDQorICA6ZGVjbzpgc3RhdGljbWV0aG9kYCB3aXRoIDpkZWNvOmBhYmMuYWJzdHJhY3Rt ZXRob2RgIGluc3RlYWQuDQogDQogKENvbnRyaWJ1dGVkIGJ5IERhcnJlbiBEYWxlIGluIDppc3N1 ZTpgMTE2MTBgLikNCiANCkBAIC0xMzkwLDcgKzEzOTAsNyBAQCBmdHBsaWINCiBmdW5jdG9vbHMN CiAtLS0tLS0tLS0NCiANCi1UaGUgOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIGRlY29yYXRv ciBub3cgYWNjZXB0cyBhIGBgdHlwZWRgYCBrZXl3b3JkDQorVGhlIDpkZWNvOmBmdW5jdG9vbHMu bHJ1X2NhY2hlYCBkZWNvcmF0b3Igbm93IGFjY2VwdHMgYSBgYHR5cGVkYGAga2V5d29yZA0KIGFy Z3VtZW50ICh0aGF0IGRlZmF1bHRzIHRvIGBgRmFsc2VgYCB0byBlbnN1cmUgdGhhdCBpdCBjYWNo ZXMgdmFsdWVzIG9mDQogZGlmZmVyZW50IHR5cGVzIHRoYXQgY29tcGFyZSBlcXVhbCBpbiBzZXBh cmF0ZSBjYWNoZSBzbG90cy4gIChDb250cmlidXRlZA0KIGJ5IFJheW1vbmQgSGV0dGluZ2VyIGlu IDppc3N1ZTpgMTMyMjdgLikNCkBAIC0yMjQ0LDEyICsyMjQ0LDEyIEBAIERlcHJlY2F0ZWQgUHl0 aG9uIG1vZHVsZXMsIGZ1bmN0aW9ucyBhbmQgbWV0aG9kcw0KICogVGhlIDpmdW5jOmAhb3Muc3Rh dF9mbG9hdF90aW1lc2AgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZC4NCiAqIDptb2Q6YGFiY2AgbW9k dWxlOg0KIA0KLSAgKiA6Y2xhc3M6YGFiYy5hYnN0cmFjdHByb3BlcnR5YCBoYXMgYmVlbiBkZXBy ZWNhdGVkLCB1c2UgOmNsYXNzOmBwcm9wZXJ0eWANCi0gICAgd2l0aCA6ZnVuYzpgYWJjLmFic3Ry YWN0bWV0aG9kYCBpbnN0ZWFkLg0KLSAgKiA6Y2xhc3M6YGFiYy5hYnN0cmFjdGNsYXNzbWV0aG9k YCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UNCi0gICAgOmNsYXNzOmBjbGFzc21ldGhvZGAgd2l0 aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KLSAgKiA6Y2xhc3M6YGFiYy5h YnN0cmFjdHN0YXRpY21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlDQotICAgIDpjbGFz czpgc3RhdGljbWV0aG9kYCB3aXRoIDpmdW5jOmBhYmMuYWJzdHJhY3RtZXRob2RgIGluc3RlYWQu DQorICAqIDpkZWNvOmBhYmMuYWJzdHJhY3Rwcm9wZXJ0eWAgaGFzIGJlZW4gZGVwcmVjYXRlZCwg dXNlIDpkZWNvOmBwcm9wZXJ0eWANCisgICAgd2l0aCA6ZGVjbzpgYWJjLmFic3RyYWN0bWV0aG9k YCBpbnN0ZWFkLg0KKyAgKiA6ZGVjbzpgYWJjLmFic3RyYWN0Y2xhc3NtZXRob2RgIGhhcyBiZWVu IGRlcHJlY2F0ZWQsIHVzZQ0KKyAgICA6ZGVjbzpgY2xhc3NtZXRob2RgIHdpdGggOmRlY286YGFi Yy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCisgICogOmRlY286YGFiYy5hYnN0cmFjdHN0YXRp Y21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlDQorICAgIDpkZWNvOmBzdGF0aWNtZXRo b2RgIHdpdGggOmRlY286YGFiYy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCiANCiAqIDptb2Q6 YGltcG9ydGxpYmAgcGFja2FnZToNCiANCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy40LnJz dCBiL0RvYy93aGF0c25ldy8zLjQucnN0DQppbmRleCBhMzkwMjExZGRiNTAyMTUuLjAwNjc0OTFj NTY5Y2MwNSAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjQucnN0DQorKysgYi9Eb2Mvd2hh dHNuZXcvMy40LnJzdA0KQEAgLTg1OCw3ICs4NTgsNyBAQCB0byBiZWhhdmUgbGlrZSBub3JtYWwg aW5zdGFuY2UgbWV0aG9kcyB3aGVuIGluY2x1ZGVkIGluIGEgY2xhc3MgZGVmaW5pdGlvbi4NCiAN CiAuLiBfd2hhdHNuZXctc2luZ2xlZGlzcGF0Y2g6DQogDQotVGhlIG5ldyA6ZnVuYzpgfmZ1bmN0 b29scy5zaW5nbGVkaXNwYXRjaGAgZGVjb3JhdG9yIGJyaW5ncyBzdXBwb3J0IGZvcg0KK1RoZSBu ZXcgOmRlY286YH5mdW5jdG9vbHMuc2luZ2xlZGlzcGF0Y2hgIGRlY29yYXRvciBicmluZ3Mgc3Vw cG9ydCBmb3INCiBzaW5nbGUtZGlzcGF0Y2ggZ2VuZXJpYyBmdW5jdGlvbnMgdG8gdGhlIFB5dGhv biBzdGFuZGFyZCBsaWJyYXJ5LiBXaGVyZQ0KIG9iamVjdCBvcmllbnRlZCBwcm9ncmFtbWluZyBm b2N1c2VzIG9uIGdyb3VwaW5nIG11bHRpcGxlIG9wZXJhdGlvbnMgb24gYQ0KIGNvbW1vbiBzZXQg b2YgZGF0YSBpbnRvIGEgY2xhc3MsIGEgZ2VuZXJpYyBmdW5jdGlvbiBmb2N1c2VzIG9uIGdyb3Vw aW5nDQpAQCAtODcwLDcgKzg3MCw3IEBAIG11bHRpcGxlIGltcGxlbWVudGF0aW9ucyBvZiBhbiBv cGVyYXRpb24gdGhhdCBhbGxvd3MgaXQgdG8gd29yayB3aXRoDQogICAgOnBlcDpgNDQzYCAtLSBT aW5nbGUtZGlzcGF0Y2ggZ2VuZXJpYyBmdW5jdGlvbnMNCiAgICAgICBQRVAgd3JpdHRlbiBhbmQg aW1wbGVtZW50ZWQgYnkgxYF1a2FzeiBMYW5nYS4NCiANCi06ZnVuYzpgfmZ1bmN0b29scy50b3Rh bF9vcmRlcmluZ2Agbm93IHN1cHBvcnRzIGEgcmV0dXJuIHZhbHVlIG9mDQorOmRlY286YH5mdW5j dG9vbHMudG90YWxfb3JkZXJpbmdgIG5vdyBzdXBwb3J0cyBhIHJldHVybiB2YWx1ZSBvZg0KIDpk YXRhOmBOb3RJbXBsZW1lbnRlZGAgZnJvbSB0aGUgdW5kZXJseWluZyBjb21wYXJpc29uIGZ1bmN0 aW9uLiAgKENvbnRyaWJ1dGVkDQogYnkgS2F0aWUgTWlsbGVyIGluIDppc3N1ZTpgMTAwNDJgLikN CiANCkBAIC0xMDI5LDcgKzEwMjksNyBAQCBpbmZvcm1hdGlvbiBmb3IgbW9kdWxlcywgY2xhc3Nl cyBhbmQgZnVuY3Rpb25zLiAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYQ0KIGFuZCBOaWNr IENvZ2hsYW4gaW4gOmlzc3VlOmAxODYyNmAuKQ0KIA0KIDpmdW5jOmB+aW5zcGVjdC51bndyYXBg IG1ha2VzIGl0IGVhc3kgdG8gdW5yYXZlbCB3cmFwcGVyIGZ1bmN0aW9uIGNoYWlucw0KLWNyZWF0 ZWQgYnkgOmZ1bmM6YGZ1bmN0b29scy53cmFwc2AgKGFuZCBhbnkgb3RoZXIgQVBJIHRoYXQgc2V0 cyB0aGUNCitjcmVhdGVkIGJ5IDpkZWNvOmBmdW5jdG9vbHMud3JhcHNgIChhbmQgYW55IG90aGVy IEFQSSB0aGF0IHNldHMgdGhlDQogYGBfX3dyYXBwZWRfX2BgIGF0dHJpYnV0ZSBvbiBhIHdyYXBw ZXIgZnVuY3Rpb24pLiAgKENvbnRyaWJ1dGVkIGJ5DQogRGFuaWVsIFVyYmFuLCBBYXJvbiBJbGVz IGFuZCBOaWNrIENvZ2hsYW4gaW4gOmlzc3VlOmAxMzI2NmAuKQ0KIA0KQEAgLTIzMTcsNyArMjMx Nyw3IEBAIENoYW5nZXMgaW4gdGhlIFB5dGhvbiBBUEkNCiAgIHdpc2ggdG8gY29udGludWUgdG8g aWdub3JlIHN5bnRheCBvciBkZWNvZGluZyBpc3N1ZXMsIGNhdGNoIGFsbCB0aHJlZQ0KICAgZXhj ZXB0aW9ucyBub3cuDQogDQotKiA6ZnVuYzpgZnVuY3Rvb2xzLnVwZGF0ZV93cmFwcGVyYCBhbmQg OmZ1bmM6YGZ1bmN0b29scy53cmFwc2Agbm93IGNvcnJlY3RseQ0KKyogOmZ1bmM6YGZ1bmN0b29s cy51cGRhdGVfd3JhcHBlcmAgYW5kIDpkZWNvOmBmdW5jdG9vbHMud3JhcHNgIG5vdyBjb3JyZWN0 bHkNCiAgIHNldCB0aGUgYGBfX3dyYXBwZWRfX2BgIGF0dHJpYnV0ZSB0byB0aGUgZnVuY3Rpb24g YmVpbmcgd3JhcHBlZCwgZXZlbiBpZg0KICAgdGhhdCBmdW5jdGlvbiBhbHNvIGhhZCBpdHMgYGBf X3dyYXBwZWRfX2BgIGF0dHJpYnV0ZSBzZXQuIFRoaXMgbWVhbnMNCiAgIGBgX193cmFwcGVkX19g YCBhdHRyaWJ1dGVzIG5vdyBjb3JyZWN0bHkgbGluayBhIHN0YWNrIG9mIGRlY29yYXRlZA0KZGlm ZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjUucnN0IGIvRG9jL3doYXRzbmV3LzMuNS5yc3QNCmlu ZGV4IDYwMDlkZDhhNzFlZWE1Mi4uMjRhMmZmYmVmZDBjZmJhIDEwMDY0NA0KLS0tIGEvRG9jL3do YXRzbmV3LzMuNS5yc3QNCisrKyBiL0RvYy93aGF0c25ldy8zLjUucnN0DQpAQCAtMTIxLDcgKzEy MSw3IEBAIFNpZ25pZmljYW50IGltcHJvdmVtZW50cyBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeToN CiAgIDpyZWY6YGJldHRlciBhbmQgc2lnbmlmaWNhbnRseSBmYXN0ZXIgd2F5IDx3aGF0c25ldy1w ZXAtNDcxPmANCiAgIG9mIGRpcmVjdG9yeSB0cmF2ZXJzYWwuDQogDQotKiA6ZnVuYzpgZnVuY3Rv b2xzLmxydV9jYWNoZWAgaGFzIGJlZW4gbW9zdGx5DQorKiA6ZGVjbzpgZnVuY3Rvb2xzLmxydV9j YWNoZWAgaGFzIGJlZW4gbW9zdGx5DQogICA6cmVmOmByZWltcGxlbWVudGVkIGluIEMgPHdoYXRz bmV3LWxydWNhY2hlPmAsIHlpZWxkaW5nIG11Y2ggYmV0dGVyDQogICBwZXJmb3JtYW5jZS4NCiAN CkBAIC0xMTQ4LDcgKzExNDgsNyBAQCBmdW5jdG9vbHMNCiANCiAuLiBfd2hhdHNuZXctbHJ1Y2Fj aGU6DQogDQotTW9zdCBvZiB0aGUgOmZ1bmM6YH5mdW5jdG9vbHMubHJ1X2NhY2hlYCBtYWNoaW5l cnkgaXMgbm93IGltcGxlbWVudGVkIGluIEMsIG1ha2luZw0KK01vc3Qgb2YgdGhlIDpkZWNvOmB+ ZnVuY3Rvb2xzLmxydV9jYWNoZWAgbWFjaGluZXJ5IGlzIG5vdyBpbXBsZW1lbnRlZCBpbiBDLCBt YWtpbmcNCiBpdCBzaWduaWZpY2FudGx5IGZhc3Rlci4gIChDb250cmlidXRlZCBieSBNYXR0IEpv aW5lciwgQWxleGV5IEthY2hheWV2LCBhbmQNCiBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpg MTQzNzNgLikNCiANCkBAIC0yMTU4LDcgKzIxNTgsNyBAQCBpbXByb3ZlbWVudCBpbiBzb21lIGJl bmNobWFya3MuDQogT2JqZWN0cyBmcm9tIHRoZSA6bW9kOmByYW5kb21gIG1vZHVsZSBub3cgdXNl IDUwJSBsZXNzIG1lbW9yeSBvbiA2NC1iaXQNCiBidWlsZHMuICAoQ29udHJpYnV0ZWQgYnkgU2Vy aGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDIzNDg4YC4pDQogDQotVGhlIDpmdW5jOmBwcm9wZXJ0 eWAgZ2V0dGVyIGNhbGxzIGFyZSB1cCB0byAyNSUgZmFzdGVyLg0KK1RoZSA6ZGVjbzpgcHJvcGVy dHlgIGdldHRlciBjYWxscyBhcmUgdXAgdG8gMjUlIGZhc3Rlci4NCiAoQ29udHJpYnV0ZWQgYnkg Sm9lIEpldm5payBpbiA6aXNzdWU6YDIzOTEwYC4pDQogDQogSW5zdGFudGlhdGlvbiBvZiA6Y2xh c3M6YGZyYWN0aW9ucy5GcmFjdGlvbmAgaXMgbm93IHVwIHRvIDMwJSBmYXN0ZXIuDQpkaWZmIC0t Z2l0IGEvRG9jL3doYXRzbmV3LzMuNy5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy43LnJzdA0KaW5kZXgg NWRkNDdjZGFjOTZhNWMwLi4zYWYzZTZlYzljYWMwOGYgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNu ZXcvMy43LnJzdA0KKysrIGIvRG9jL3doYXRzbmV3LzMuNy5yc3QNCkBAIC01NzEsNyArNTcxLDcg QEAgZGVjaW1hbCBvcGVyYXRpb25zIHRvIHdvcmsgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0IGlu IGFzeW5jaHJvbm91cyBjb2RlLg0KIGRhdGFjbGFzc2VzDQogLS0tLS0tLS0tLS0NCiANCi1UaGUg bmV3IDpmdW5jOmB+ZGF0YWNsYXNzZXMuZGF0YWNsYXNzYCBkZWNvcmF0b3IgcHJvdmlkZXMgYSB3 YXkgdG8gZGVjbGFyZQ0KK1RoZSBuZXcgOmRlY286YH5kYXRhY2xhc3Nlcy5kYXRhY2xhc3NgIGRl Y29yYXRvciBwcm92aWRlcyBhIHdheSB0byBkZWNsYXJlDQogKmRhdGEgY2xhc3NlcyouICBBIGRh dGEgY2xhc3MgZGVzY3JpYmVzIGl0cyBhdHRyaWJ1dGVzIHVzaW5nIGNsYXNzIHZhcmlhYmxlDQog YW5ub3RhdGlvbnMuICBJdHMgY29uc3RydWN0b3IgYW5kIG90aGVyIG1hZ2ljIG1ldGhvZHMsIHN1 Y2ggYXMNCiA6bWV0aDpgfm9iamVjdC5fX3JlcHJfX2AsIDptZXRoOmB+b2JqZWN0Ll9fZXFfX2As IGFuZA0KQEAgLTgzMCw3ICs4MzAsNyBAQCBUaGUgbmV3IDpmdW5jOmB+Y29udGV4dGxpYi5udWxs Y29udGV4dGAgaXMgYSBzaW1wbGVyIGFuZCBmYXN0ZXIgbm8tb3ANCiBjb250ZXh0IG1hbmFnZXIg dGhhbiA6Y2xhc3M6YH5jb250ZXh0bGliLkV4aXRTdGFja2AuDQogKENvbnRyaWJ1dGVkIGJ5IEpl c3NlLUJha2tlciBpbiA6aXNzdWU6YDEwMDQ5YC4pDQogDQotVGhlIG5ldyA6ZnVuYzpgfmNvbnRl eHRsaWIuYXN5bmNjb250ZXh0bWFuYWdlcmAsDQorVGhlIG5ldyA6ZGVjbzpgfmNvbnRleHRsaWIu YXN5bmNjb250ZXh0bWFuYWdlcmAsDQogOmNsYXNzOmB+Y29udGV4dGxpYi5BYnN0cmFjdEFzeW5j Q29udGV4dE1hbmFnZXJgLCBhbmQNCiA6Y2xhc3M6YH5jb250ZXh0bGliLkFzeW5jRXhpdFN0YWNr YCBoYXZlIGJlZW4gYWRkZWQgdG8NCiBjb21wbGVtZW50IHRoZWlyIHN5bmNocm9ub3VzIGNvdW50 ZXJwYXJ0cy4gIChDb250cmlidXRlZA0KQEAgLTkyMSw3ICs5MjEsNyBAQCByZXR1cm4gOmNvbnN0 OmBGYWxzZWAgaW5zdGVhZCBhbmQgYXJlIGRlcHJlY2F0ZWQuDQogZnVuY3Rvb2xzDQogLS0tLS0t LS0tDQogDQotOmZ1bmM6YGZ1bmN0b29scy5zaW5nbGVkaXNwYXRjaGAgbm93IHN1cHBvcnRzIHJl Z2lzdGVyaW5nIGltcGxlbWVudGF0aW9ucw0KKzpkZWNvOmBmdW5jdG9vbHMuc2luZ2xlZGlzcGF0 Y2hgIG5vdyBzdXBwb3J0cyByZWdpc3RlcmluZyBpbXBsZW1lbnRhdGlvbnMNCiB1c2luZyB0eXBl IGFubm90YXRpb25zLg0KIChDb250cmlidXRlZCBieSDFgXVrYXN6IExhbmdhIGluIDppc3N1ZTpg MzIyMjdgLikNCiANCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy44LnJzdCBiL0RvYy93aGF0 c25ldy8zLjgucnN0DQppbmRleCA1MDc4ZmMzMGFjMTExZTQuLjQyZDk4ZmY5NGVjMGQxYiAxMDA2 NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjgucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy44LnJz dA0KQEAgLTc2NCw3ICs3NjQsNyBAQCB0aGVzZSBhcmUgdGhlIGludmVyc2Ugb2YgZWFjaCBjbGFz cydzIGBgaXNvY2FsZW5kYXJgYCBtZXRob2QuDQogZnVuY3Rvb2xzDQogLS0tLS0tLS0tDQogDQot OmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIGNhbiBub3cgYmUgdXNlZCBhcyBhIHN0cmFpZ2h0 IGRlY29yYXRvciByYXRoZXINCis6ZGVjbzpgZnVuY3Rvb2xzLmxydV9jYWNoZWAgY2FuIG5vdyBi ZSB1c2VkIGFzIGEgc3RyYWlnaHQgZGVjb3JhdG9yIHJhdGhlcg0KIHRoYW4gYXMgYSBmdW5jdGlv biByZXR1cm5pbmcgYSBkZWNvcmF0b3IuICBTbyBib3RoIG9mIHRoZXNlIGFyZSBub3cgc3VwcG9y dGVkOjoNCiANCiAgICAgQGxydV9jYWNoZQ0KQEAgLTc3Nyw3ICs3NzcsNyBAQCB0aGFuIGFzIGEg ZnVuY3Rpb24gcmV0dXJuaW5nIGEgZGVjb3JhdG9yLiAgU28gYm90aCBvZiB0aGVzZSBhcmUgbm93 IHN1cHBvcnRlZDo6DQogDQogKENvbnRyaWJ1dGVkIGJ5IFJheW1vbmQgSGV0dGluZ2VyIGluIDpp c3N1ZTpgMzY3NzJgLikNCiANCi1BZGRlZCBhIG5ldyA6ZnVuYzpgZnVuY3Rvb2xzLmNhY2hlZF9w cm9wZXJ0eWAgZGVjb3JhdG9yLCBmb3IgY29tcHV0ZWQgcHJvcGVydGllcw0KK0FkZGVkIGEgbmV3 IDpkZWNvOmBmdW5jdG9vbHMuY2FjaGVkX3Byb3BlcnR5YCBkZWNvcmF0b3IsIGZvciBjb21wdXRl ZCBwcm9wZXJ0aWVzDQogY2FjaGVkIGZvciB0aGUgbGlmZSBvZiB0aGUgaW5zdGFuY2UuIDo6DQog DQogICAgaW1wb3J0IGZ1bmN0b29scw0KQEAgLTg5Myw3ICs4OTMsNyBAQCBpbnNwZWN0DQogVGhl IDpmdW5jOmBpbnNwZWN0LmdldGRvY2AgZnVuY3Rpb24gY2FuIG5vdyBmaW5kIGRvY3N0cmluZ3Mg Zm9yIGBgX19zbG90c19fYGANCiBpZiB0aGF0IGF0dHJpYnV0ZSBpcyBhIDpjbGFzczpgZGljdGAg d2hlcmUgdGhlIHZhbHVlcyBhcmUgZG9jc3RyaW5ncy4NCiBUaGlzIHByb3ZpZGVzIGRvY3VtZW50 YXRpb24gb3B0aW9ucyBzaW1pbGFyIHRvIHdoYXQgd2UgYWxyZWFkeSBoYXZlDQotZm9yIDpmdW5j OmBwcm9wZXJ0eWAsIDpmdW5jOmBjbGFzc21ldGhvZGAsIGFuZCA6ZnVuYzpgc3RhdGljbWV0aG9k YDo6DQorZm9yIDpkZWNvOmBwcm9wZXJ0eWAsIDpkZWNvOmBjbGFzc21ldGhvZGAsIGFuZCA6ZGVj bzpgc3RhdGljbWV0aG9kYDo6DQogDQogICBjbGFzcyBBdWRpb0NsaXA6DQogICAgICAgX19zbG90 c19fID0geydiaXRfcmF0ZSc6ICdleHByZXNzZWQgaW4ga2lsb2hlcnR6IHRvIG9uZSBkZWNpbWFs IHBsYWNlJywNCkBAIC0xMzMzLDE0ICsxMzMzLDE0IEBAIFRoZSA6bW9kOmB0eXBpbmdgIG1vZHVs ZSBpbmNvcnBvcmF0ZXMgc2V2ZXJhbCBuZXcgZmVhdHVyZXM6DQogICAgICAgICAgIC4uLg0KIA0K ICogIkZpbmFsIiB2YXJpYWJsZXMsIGZ1bmN0aW9ucywgbWV0aG9kcyBhbmQgY2xhc3Nlcy4gIFNl ZSA6cGVwOmA1OTFgLA0KLSAgOmNsYXNzOmB0eXBpbmcuRmluYWxgIGFuZCA6ZnVuYzpgdHlwaW5n LmZpbmFsYC4NCisgIDpjbGFzczpgdHlwaW5nLkZpbmFsYCBhbmQgOmRlY286YHR5cGluZy5maW5h bGAuDQogICBUaGUgZmluYWwgcXVhbGlmaWVyIGluc3RydWN0cyBhIHN0YXRpYyB0eXBlIGNoZWNr ZXIgdG8gcmVzdHJpY3QNCiAgIHN1YmNsYXNzaW5nLCBvdmVycmlkaW5nLCBvciByZWFzc2lnbm1l bnQ6Og0KIA0KICAgICAgIHBpOiBGaW5hbFtmbG9hdF0gPSAzLjE0MTU5MjY1MzYNCiANCiAqIFBy b3RvY29sIGRlZmluaXRpb25zLiAgU2VlIDpwZXA6YDU0NGAsIDpjbGFzczpgdHlwaW5nLlByb3Rv Y29sYCBhbmQNCi0gIDpmdW5jOmB0eXBpbmcucnVudGltZV9jaGVja2FibGVgLiAgU2ltcGxlIEFC Q3MgbGlrZQ0KKyAgOmRlY286YHR5cGluZy5ydW50aW1lX2NoZWNrYWJsZWAuICBTaW1wbGUgQUJD cyBsaWtlDQogICA6Y2xhc3M6YHR5cGluZy5TdXBwb3J0c0ludGAgYXJlIG5vdyBgYFByb3RvY29s YGAgc3ViY2xhc3Nlcy4NCiANCiAqIE5ldyBwcm90b2NvbCBjbGFzcyA6Y2xhc3M6YHR5cGluZy5T dXBwb3J0c0luZGV4YC4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KUHl0aG9uLWNoZWNraW5zIG1haWxpbmcgbGlzdCAtLSBweXRob24tY2hlY2tpbnNA cHl0aG9uLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHB5dGhvbi1jaGVja2lu cy1sZWF2ZUBweXRob24ub3JnCmh0dHBzOi8vbWFpbC5weXRob24ub3JnL21haWxtYW4zLy9saXN0 cy9weXRob24tY2hlY2tpbnMucHl0aG9uLm9yZwpNZW1iZXIgYWRkcmVzczogcHl0aG9uLXB5dGhv bi1jaGVja2luc0BtLmdtYW5lLW14Lm9yZwo=