ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcHQvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL3B0L21haW4uYWFwCmluZGV4IDc1MWZiOTUuLjQzYTNiZTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvcHQvbWFpbi5hYXAKKysrIGIvcnVudGltZS9zcGVsbC9wdC9tYWluLmFhcApAQCAtMTQsMTUgKzE0LDE1IEBACiAjCiAjIEZldGNoaW5nIHRoZSBwdF9QVCBmaWxlcyBmcm9tIHRoZSBOYXR1cmEgcHJvamVjdC4KICMKLVBUX0RJUiA9IGh0dHA6Ly9uYXR1cmEuZGkudW1pbmhvLnB0L2Rvd25sb2FkL3NvdXJjZXMvRGljdGlvbmFyaWVzL215c3BlbGwKLVBUX0ZOQU1FID0gbXlzcGVsbC5wdC1sYXRlc3QuemlwCi06YXR0ciB7ZmV0Y2ggPSAkUFRfRElSLyVmaWxlJX0gJFBUX0ZOQU1FCitQVF9GTkFNRSA9IG9vM3gtcHQtUFQub3h0CitQVF9ESVIgPSBodHRwOi8vZXh0ZW5zaW9ucy5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy9lLWZpbGVzLzExOTYvNS8kKFBUX0ZOQU1FKQorOmF0dHIge2ZldGNoID0gJFBUX0RJUn0gJFBUX0ZOQU1FCiAKICMKICMgRmV0Y2hpbmcgdGhlIHB0X0JSIGZpbGVzIGZyb20gQnJPZmZpY2Uub3JnIChCcmF6aWxpYW4gT09vKS4KICMKLUJSX0ZOQU1FID0gcHRfQlItVi56aXAKLUJSX0RJUiA9IGh0dHA6Ly93d3cuZGVzby1zZS5jb20uYnIvZG93bmxvYWRzL2Jyb2ZmaWNlLm9yZy8kKEJSX0ZOQU1FKQorQlJfRk5BTUUgPSBWZXJvX3B0X0JSX1YyMDdBT0Mub3h0CitCUl9ESVIgPSBodHRwOi8vd3d3LmJyb2ZmaWNlLm9yZy9maWxlcy8kKEJSX0ZOQU1FKQogOmF0dHIge2ZldGNoID0gJEJSX0RJUn0gJEJSX0ZOQU1FCiAKIGFsbDogJFNQRUxMRElSL3B0LmxhdGluMS5zcGwgJFNQRUxMRElSL3B0LnV0Zi04LnNwbCBcCkBAIC01MCwxMSArNTAsMTcgQEAKICAgICAgICAgOmZldGNoICRQVF9GTkFNRQogICAgICAgICA6c3lzICRVTlpJUCAkUFRfRk5BTUUKICAgICAgICAgOmRlbGV0ZSAkUFRfRk5BTUUKLSAgICAgICAgOm1vdmUgbXlzcGVsbC5wdC0qL3B0X1BULmRpYyAuCi0gICAgICAgIDptb3ZlIG15c3BlbGwucHQtKi9wdF9QVC5hZmYgLgotICAgICAgICA6bW92ZSBteXNwZWxsLnB0LSovUkVBRE1FX3B0X1BULnR4dCAuCi0gICAgICAgIDptb3ZlIG15c3BlbGwucHQtKi9DT1BZSU5HIENPUFlJTkdfcHRfUFQudHh0Ci0gICAgICAgIDpkZWxkaXIgbXlzcGVsbC5wdC0qCisgICAgICAgIDptb3ZlIGRpY3Rpb25hcmllcy9wdF9QVC5kaWMgLgorICAgICAgICA6bW92ZSBkaWN0aW9uYXJpZXMvcHRfUFQuYWZmIC4KKyAgICAgICAgOm1vdmUgZGljdGlvbmFyaWVzL1JFQURNRV9wdF9QVC50eHQgLgorICAgICAgICA6bW92ZSBkaWN0aW9uYXJpZXMvQ09QWUlORyBDT1BZSU5HX3B0X1BULnR4dAorICAgICAgICA6ZGVsZXRlIHtyfXtmfSBkaWN0aW9uYXJpZXMKKyAgICAgICAgOmRlbGV0ZSB7cn17Zn0gTUVUQS1JTkYKKyAgICAgICAgOmRlbGV0ZSB7Zn0gZGVzY3JpcHRpb24ueG1sCisgICAgICAgIDpkZWxldGUge2Z9IGRpY3Rpb25hcmllcy54Y3UKKyAgICAgICAgOmRlbGV0ZSB7Zn0gTElDRU5TRVMudHh0CisgICAgICAgIDpzeXMgJFZJTSBwdF9QVC5kaWMgLXUgTk9ORSAtZSAtYyAiJXMvXHQuKi8vIiAtYyB1cGRhdGUgLWMgcQorICAgICAgICA6c3lzICRWSU0gcHRfUFQuYWZmIC11IE5PTkUgLWUgLWMgIiVzL1xTXCs9XFNcKyQkLy8iIC1jIHVwZGF0ZSAtYyBxCiAgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3B0X1BULm9yaWcuYWZmJyk6CiAgICAgICAgICAgICA6Y29weSBwdF9QVC5hZmYgcHRfUFQub3JpZy5hZmYKICAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygncHRfUFQub3JpZy5kaWMnKToKQEAgLTY3LDEzICs3MywxMSBAQAogICAgICAgICA6ZmV0Y2ggJEJSX0ZOQU1FCiAgICAgICAgIDpzeXMgJFVOWklQICRCUl9GTkFNRQogICAgICAgICA6ZGVsZXRlICRCUl9GTkFNRQotICAgICAgICA6c3lzICRWSU0gUkVBRE1FX3B0X0JSLlRYVCAtdSBOT05FIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKKyAgICAgICAgOnN5cyAkVklNIFJFQURNRV9wdF9CUi5UWFQgLXUgTk9ORSAtTiAtZSAtYyAic2V0IGZmPXVuaXgiIC1jIHVwZGF0ZSAtYyBxCiAgICAgICAgIDptb3ZlIFJFQURNRV9wdF9CUi5UWFQgUkVBRE1FX3B0X0JSLnR4dAogCi0jIFZpbSBzZWVtcyB0byBpZ25vcmUgdGhlIGRvdHMgZnJvbSB0aGUgd29yZCBsaXN0LgotIyBSZW1vdmluZyB3b3JkcyB3aXRoIGRvdCB0byBhdm9pZCBtaXNiZWhhdmlvdXIuCi0gICAgICAgIDpzeXMgJFZJTSBwdF9CUi5kaWMgLXUgTk9ORSAtZSAtYyAic2V0IGZmPXVuaXgiIC1jICIvXC4vZCIgLWMgdXBkYXRlIC1jIHEKLSAgICAgICAgOnN5cyAkVklNIHB0X0JSLmFmZiAtdSBOT05FIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKKyAgICAgICAgOnN5cyAkVklNIHB0X0JSLmRpYyAtdSBOT05FIC1OIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKKyAgICAgICAgOnN5cyAkVklNIHB0X0JSLmFmZiAtdSBOT05FIC1OIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKICAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygncHRfQlIub3JpZy5hZmYnKToKICAgICAgICAgICAgIDpjb3B5IHB0X0JSLmFmZiBwdF9CUi5vcmlnLmFmZgogICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdwdF9CUi5vcmlnLmRpYycpOgpAQCAtOTIsNiArOTYsMjMgQEAKICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLWEgLUMgMSBwdF9CUi5vcmlnLmFmZiBwdF9CUi5hZmYgPnB0X0JSLmRpZmYKIAk6c3lzIHtmb3JjZX0gZGlmZiAtYSAtQyAxIHB0X0JSLm9yaWcuZGljIHB0X0JSLmRpYyA+PnB0X0JSLmRpZmYKIAorIyBEZWxldGUgYWxsIGRvd25sb2FkZWQgYW5kIGdlbmVyYXRlZCBmaWxlcy4KK2NsZWFuOiBjbGVhbl9wdF9CUiBjbGVhbl9wdF9QVAorCitjbGVhbl9wdF9CUjoKKyAgICAgICAgOmRlbGV0ZSB7Zn0gcHRfQlIuYWZmCisgICAgICAgIDpkZWxldGUge2Z9IHB0X0JSLmRpYworICAgICAgICA6ZGVsZXRlIHtmfSBwdF9CUi5vcmlnLmFmZgorICAgICAgICA6ZGVsZXRlIHtmfSBwdF9CUi5vcmlnLmRpYworICAgICAgICA6ZGVsZXRlIHtmfSBSRUFETUVfcHRfQlIudHh0CisKK2NsZWFuX3B0X1BUOgorICAgICAgICA6ZGVsZXRlIHtmfSBwdF9QVC5hZmYKKyAgICAgICAgOmRlbGV0ZSB7Zn0gcHRfUFQuZGljCisgICAgICAgIDpkZWxldGUge2Z9IHB0X1BULm9yaWcuYWZmCisgICAgICAgIDpkZWxldGUge2Z9IHB0X1BULm9yaWcuZGljCisgICAgICAgIDpkZWxldGUge2Z9IFJFQURNRV9wdF9QVC50eHQKKyAgICAgICAgOmRlbGV0ZSB7Zn0gQ09QWUlOR19wdF9QVC50eHQKIAogIyBDaGVjayBmb3IgdXBkYXRlZCBPcGVuT2ZmaWNlIHNwZWxsIGZpbGVzLiAgV2hlbiB0aGVyZSBhcmUgY2hhbmdlcyB0aGUKICMgIi5uZXcuYWZmIiBhbmQgIi5uZXcuZGljIiBmaWxlcyBhcmUgbGVmdCBiZWhpbmQgZm9yIG1hbnVhbCBpbnNwZWN0aW9uLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9wdC9wdF9CUi5kaWZmIGIvcnVudGltZS9zcGVsbC9wdC9wdF9CUi5kaWZmCmluZGV4IGY0ODE0YWYuLjI2OWJkZDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvcHQvcHRfQlIuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL3B0L3B0X0JSLmRpZmYKQEAgLTEsNSArMSw1IEBACi0qKiogcHRfQlIub3JpZy5hZmYJMjAwOC0wMi0yMSAxOTo0MTowNC4wMDAwMDAwMDAgLTAzMDAKLS0tLSBwdF9CUi5hZmYJMjAwOC0wMi0yNCAxMTowODoxNS4wMDAwMDAwMDAgLTAzMDAKKyoqKiBwdF9CUi5vcmlnLmFmZgkyMDEwLTA1LTE1IDEzOjAzOjQ1LjAwMDAwMDAwMCArMDIwMAorLS0tIHB0X0JSLmFmZgkyMDEwLTA1LTE1IDEzOjAzOjQ1LjAwMDAwMDAwMCArMDIwMAogKioqKioqKioqKioqKioqCiAqKiogMSwzICoqKioKICAgU0VUIElTTzg4NTktMQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9wdC9wdF9QVC5kaWZmIGIvcnVudGltZS9zcGVsbC9wdC9wdF9QVC5kaWZmCmluZGV4IDM2YTEyYWMuLmJhMzIxNmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvcHQvcHRfUFQuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL3B0L3B0X1BULmRpZmYKQEAgLTEsNTggKzEsNDUgQEAKLSoqKiBwdF9QVC5vcmlnLmFmZgkyMDA4LTAyLTIxIDE5OjQwOjQ5LjAwMDAwMDAwMCAtMDMwMAotLS0tIHB0X1BULmFmZgkyMDA4LTAyLTI0IDExOjE0OjM5LjAwMDAwMDAwMCAtMDMwMAorKioqIHB0X1BULm9yaWcuYWZmCTIwMTAtMDgtMTAgMjI6MzY6NTYuMDAwMDAwMDAwICswMjAwCistLS0gcHRfUFQuYWZmCTIwMTAtMDgtMTAgMjI6NDM6NTYuMDAwMDAwMDAwICswMjAwCiAqKioqKioqKioqKioqKioKLSoqKiAxLDQgKioqKgotICBTRVQgSVNPODg1OS0xCi0tIFRSWSBhZXJpc29udGNkbWx1cHZnYmZ64WjncWrteOPz6eri+vVBQ01QU0JURUxHUklGVkRrSEpPTvR5d1VLWFpXUcFZzcng0+jC2gorKioqIDEsNiAqKioqCisgIFNFVCBVVEYtOAorISBMQU5HIHB0X1BUCishIFRSWSBhZXJpc29udGNkbWx1cHZnYmZ6w6Fow6dxasOteMOjw7PDqcOqw6LDusO1QUNNUFNCVEVMR1JJRlZEa0hKT07DtHl3VUtYWldRw4FZw43DicOgw5PDqMOCw5oKKyEgS0VZIHF3ZXJ0eXVpb3B8YXNkZmdoamtsfHp4Y3Zibm0KKyEgV09SRENIQVJTIC0KICAgCi0gIAotLS0tIDEsMTcgLS0tLQotICBTRVQgSVNPODg1OS0xCi0gIAotKyBOQU1FIEV1cm9wZWFuIFBvcnR1Z3Vlc2UKLSsgVkVSU0lPTiAyMDA4LTA3LTA1Ci0rIEhPTUUgaHR0cDovL25hdHVyYS5kaS51bWluaG8ucHQvCi0rIEFVVEhPUiBSdWkgVmlsZWxhCi0rIEVNQUlMIHJ1aXZpbGVsYSBBVCBkaSBET1QgdW1pbmhvIERPVCBwdAotKyBBVVRIT1IgSm9z6SBKb+NvIGRlIEFsbWVpcmEKLSsgRU1BSUwgamogQVQgZGkgRE9UIHVtaW5obyBET1QgcHQKLSsgQVVUSE9SIEFsYmVydG8gU2lt9WVzCi0rIEVNQUlMIGFtYnMgQVQgZGkgRE9UIHVtaW5obyBET1QgcHQKLSsgQ09QWVJJR0hUIEdQTCwgTEdQTCwgTVBMCi0rIAotKyBGT0wgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/Ci0rIExPVyAg3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/v8KLSsgVVBQICDfwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e/worLS0tIDEsMTAgLS0tLQorICBTRVQgVVRGLTgKKyEgI0xBTkcgcHRfUFQKKyEgI1RSWSBhZXJpc29udGNkbWx1cHZnYmZ6w6Fow6dxasOteMOjw7PDqcOqw6LDusO1QUNNUFNCVEVMR1JJRlZEa0hKT07DtHl3VUtYWldRw4FZw43DicOgw5PDqMOCw5oKKyEgI0tFWSBxd2VydHl1aW9wfGFzZGZnaGprbHx6eGN2Ym5tCishICNXT1JEQ0hBUlMgLQorISAKKyEgRk9MICDDn8Ogw6HDosOjw6TDpcOmw6fDqMOpw6rDq8Osw63DrsOvw7DDscOyw7PDtMO1w7bDuMO5w7rDu8O8w73DvsO/CishIExPVyAgw5/DoMOhw6LDo8Okw6XDpsOnw6jDqcOqw6vDrMOtw67Dr8Oww7HDssOzw7TDtcO2w7jDucO6w7vDvMO9w77DvworISBVUFAgIMOfw4DDgcOCw4PDhMOFw4bDh8OIw4nDisOLw4zDjcOOw4/DkMORw5LDk8OUw5XDlsOYw5nDmsObw5zDncOew78KICAgCiAqKioqKioqKioqKioqKioKLSoqKiAxMDQ3LDEwNDggKioqKgotLS0tIDEwNjAsMTA2MyAtLS0tCi0gIFNGWCBKICAgZSAgICAgICAgICAgICAg82Ryb21vICAgICAgICAgZQotKyAKLSsgCi0gIFJFUCAyNAotKioqKioqKioqKioqKioqCi0qKiogMTA3MywxMDg2ICoqKioKKyoqKiAxMzAwLDEzMTIgKioqKgogICAKICEgTUFQIDExCi0hIE1BUCBh4QotISBNQVAgYeMKLSEgTUFQIGHiCi0hIE1BUCBl6QotISBNQVAgZeoKLSEgTUFQIGntCi0gIE1BUCBj5wotISBNQVAgb/MKLSEgTUFQIG/0Ci0hIE1BUCBv9QotISBNQVAgdfoKLSEgCi0tLS0gMTA4OCwxMDk1IC0tLS0KKyEgTUFQIGHDoQorISBNQVAgYcOjCishIE1BUCBhw6IKKyEgTUFQIGXDqQorISBNQVAgZcOqCishIE1BUCBpw60KKyAgTUFQIGPDpworISBNQVAgb8OzCishIE1BUCBvw7QKKyEgTUFQIG/DtQorISBNQVAgdcO6CistLS0gMTMwNCwxMzExIC0tLS0KICAgCiAhIE1BUCA2Ci0hIE1BUCBh4ePiQcHDwgotISBNQVAgZenqRcnKCi0hIE1BUCBp7UnNCi0gIE1BUCBj5wotISBNQVAgb/P19E/T1dQKLSEgTUFQIHX6/FXa3AorISBNQVAgYcOhw6PDokHDgcODw4IKKyEgTUFQIGXDqcOqRcOJw4oKKyEgTUFQIGnDrUnDjQorICBNQVAgY8OnCishIE1BUCBvw7PDtcO0T8OTw5XDlAorISBNQVAgdcO6w7xVw5rDnAo=