ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvdG4vbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL3RuL21haW4uYWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxYWYxNjEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL3RuL21haW4uYWFwCkBAIC0wLDAgKzEsODIgQEAKKyMgQWFwIHJlY2lwZSBmb3IgU2V0c3dhbmEgVmltIHNwZWxsIGZpbGVzLgorCisjIFVzZSBhIGZyZXNobHkgY29tcGlsZWQgVmltIGlmIGl0IGV4aXN0cy4KK0BpZiBvcy5wYXRoLmV4aXN0cygnLi4vLi4vLi4vc3JjL3ZpbScpOgorICAgIFZJTSA9IC4uLy4uLy4uL3NyYy92aW0KK0BlbHNlOgorICAgIDpwcm9nc2VhcmNoIFZJTSB2aW0KKworU1BFTExESVIgPSAuLgorRklMRVMgICAgPSB0bl9aQS5hZmYgdG5fWkEuZGljCisKKyMgSSBkb24ndCBoYXZlIGEgU2V0c3dhbmEgbG9jYWxlLCB1c2UgUm9tYW5pYW4gaW5zdGVhZC4KK2FsbDogJFNQRUxMRElSL3RuLmlzby04ODU5LTIuc3BsICRTUEVMTERJUi90bi51dGYtOC5zcGwgXAorICAgICAgICAkU1BFTExESVIvdG4uY3AxMjUwLnNwbCAuLi9SRUFETUVfdG4udHh0CisKKyRTUEVMTERJUi90bi5pc28tODg1OS0yLnNwbCA6ICRGSUxFUworICAgICAgICA6c3lzIGVudiBMQU5HPXJvX1JPLklTTzg4NTktMiAkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi90biB0bl9aQSIgLWMgcQorCiskU1BFTExESVIvdG4udXRmLTguc3BsIDogJEZJTEVTCisgICAgICAgIDpzeXMgZW52IExBTkc9cm9fUk8uVVRGLTggJFZJTSAtdSBOT05FIC1lIC1jICJta3NwZWxsISAkU1BFTExESVIvdG4gdG5fWkEiIC1jIHEKKworJFNQRUxMRElSL3RuLmNwMTI1MC5zcGwgOiAkRklMRVMKKyAgICAgICAgOnN5cyAkVklNIC11IE5PTkUgLWUgLWMgInNldCBlbmM9Y3AxMjUwIiAtYyAibWtzcGVsbCEgJFNQRUxMRElSL3RuIHRuX1pBIiAtYyBxCisKKy4uL1JFQURNRV90bi50eHQ6IFJFQURNRV90bl9aQS50eHQKKyAgICAgICAgOmNvcHkgJHNvdXJjZSAkdGFyZ2V0CisKKyMKKyMgRmV0Y2hpbmcgdGhlIGZpbGVzIGZyb20gT3Blbk9mZmljZS5vcmcuCisjCitPT0RJUiA9IGh0dHA6Ly9mdHAuc2VydmljZXMub3Blbm9mZmljZS5vcmcvcHViL09wZW5PZmZpY2Uub3JnL2NvbnRyaWIvZGljdGlvbmFyaWVzCis6YXR0ciB7ZmV0Y2ggPSAkT09ESVIvJWZpbGUlfSB0bl9aQS56aXAKKworIyBUaGUgZmlsZXMgZG9uJ3QgZGVwZW5kIG9uIHRoZSAuemlwIGZpbGUgc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGl0LgorIyBPbmx5IGRvd25sb2FkIHRoZSB6aXAgZmlsZSBpZiB0aGUgdGFyZ2V0cyBkb24ndCBleGlzdC4KKyMgVGhpcyBpcyBhIGJpdCB0cmlja3ksIHNpbmNlIHRoZSBmaWxlIG5hbWUgaW5jbHVkZXMgdGhlIGRhdGUuCit0bl9aQS5hZmYgdG5fWkEuZGljOiB7YnVpbGRjaGVjaz19CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAgcGF0Y2gKKyAgICAgICAgOmZldGNoIHRuX1pBLnppcAorICAgICAgICA6c3lzICRVTlpJUCB0bl9aQS56aXAKKyAgICAgICAgOmRlbGV0ZSB0bl9aQS56aXAKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygndG5fWkEub3JpZy5hZmYnKToKKyAgICAgICAgICAgIDpjb3B5IHRuX1pBLmFmZiB0bl9aQS5vcmlnLmFmZgorICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCd0bl9aQS5vcmlnLmRpYycpOgorICAgICAgICAgICAgOmNvcHkgdG5fWkEuZGljIHRuX1pBLm9yaWcuZGljCisgICAgICAgIEBpZiBvcy5wYXRoLmV4aXN0cygndG5fWkEuZGlmZicpOgorICAgICAgICAgICAgOnN5cyBwYXRjaCA8dG5fWkEuZGlmZgorCisKKyMgR2VuZXJhdGUgZGlmZiBmaWxlcywgc28gdGhhdCBvdGhlcnMgY2FuIGdldCB0aGUgT3Blbk9mZmljZSBmaWxlcyBhbmQgYXBwbHkKKyMgdGhlIGRpZmZzIHRvIGdldCB0aGUgVmltIHZlcnNpb25zLgorCitkaWZmOgorICAgICAgICA6YXNzZXJ0cGtnIGRpZmYKKyAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSB0bl9aQS5vcmlnLmFmZiB0bl9aQS5hZmYgPnRuX1pBLmRpZmYKKyAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSB0bl9aQS5vcmlnLmRpYyB0bl9aQS5kaWMgPj50bl9aQS5kaWZmCisKKworIyBDaGVjayBmb3IgdXBkYXRlZCBzcGVsbCBmaWxlcy4gIFdoZW4gdGhlcmUgYXJlIGNoYW5nZXMgdGhlCisjICIubmV3LmFmZiIgYW5kICIubmV3LmRpYyIgZmlsZXMgYXJlIGxlZnQgYmVoaW5kIGZvciBtYW51YWwgaW5zcGVjdGlvbi4KKworY2hlY2s6CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAgZGlmZgorICAgICAgICA6ZmV0Y2ggdG5fWkEuemlwCisgICAgICAgIDpta2RpciB0bXAKKyAgICAgICAgOmNkIHRtcAorICAgICAgICBAdHJ5OgorICAgICAgICAgICAgQGltcG9ydCBzdGF0CisgICAgICAgICAgICA6c3lzICRVTlpJUCAuLi90bl9aQS56aXAKKyAgICAgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC4uL3RuX1pBLm9yaWcuYWZmIHRuX1pBLmFmZiA+ZAorICAgICAgICAgICAgQGlmIG9zLnN0YXQoJ2QnKVtzdGF0LlNUX1NJWkVdID4gMDoKKyAgICAgICAgICAgICAgICA6Y29weSB0bl9aQS5hZmYgLi4vdG5fWkEubmV3LmFmZgorICAgICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLi4vdG5fWkEub3JpZy5kaWMgdG5fWkEuZGljID5kCisgICAgICAgICAgICBAaWYgb3Muc3RhdCgnZCcpW3N0YXQuU1RfU0laRV0gPiAwOgorICAgICAgICAgICAgICAgIDpjb3B5IHRuX1pBLmRpYyAuLi90bl9aQS5uZXcuZGljCisgICAgICAgIEBmaW5hbGx5OgorICAgICAgICAgICAgOmNkIC4uCisgICAgICAgICAgICA6ZGVsZXRlIHtyfXtmfXtxfSB0bXAKKyAgICAgICAgICAgIDpkZWxldGUgdG5fWkEuemlwCisKKworIyB2aW06IHNldCBzdHM9NCBzdz00IDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvdG4vdG5fWkEuZGlmZiBiL3J1bnRpbWUvc3BlbGwvdG4vdG5fWkEuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWNlMGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zcGVsbC90bi90bl9aQS5kaWZmCkBAIC0wLDAgKzEsMTAgQEAKKyoqKiB0bl9aQS5vcmlnLmFmZglXZWQgQXVnIDMxIDIwOjQ2OjI0IDIwMDUKKy0tLSB0bl9aQS5hZmYJV2VkIEF1ZyAzMSAyMDo0NzowMSAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiAyMSAqKioqCistLS0gMjEsMjUgLS0tLQorICBUUlkgYWVvbHRpbnNnaGttYmR3cnB1ZnlNalNEQktQVEwtQUpSRUdOY0l2RkNVV1nDoXoKKysgCisrIEZPTCCxorO1tqi5uru8vr+xsrO0tba3uLm6u7y9vr/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/worKyBMT1cgsaKztbaoubq7vL6/sbKztLW2t7i5uru8vb6/4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KKysgVVBQIKGio6WmqKmqq6yur7Gys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3t//Cg==