ZGlmZiAtLWdpdCBhL0RldGFpbGVkX1Rlc3RpbmdfTWV0aG9kb2xvZ3kudHh0IGIvRGV0YWlsZWRfVGVzdGluZ19NZXRob2RvbG9neS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ViNzIzYQotLS0gL2Rldi9udWxsCisrKyBiL0RldGFpbGVkX1Rlc3RpbmdfTWV0aG9kb2xvZ3kudHh0CkBAIC0wLDAgKzEsODA0IEBACisqKioqKipDb25mb3JtYW5jZSBUZXN0LXN1aXRlKioqKioqKioqKioqKioqKioqKioqKioqKioKK09GLVN3aXRjaC0xLjAuMC1UZXN0Q2FzZXMgZGV0YWlsZWQgdGVzdGluZyBtZXRob2RvbG9neQorCisKKyMjIyMjIE9wZW5mbG93IHByb3RvY29sIG1lc3NhZ2VzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworMS4gRmVhdHVyZXMgUmVxdWVzdAorCitUZXN0IERlc2NyaXB0aW9uOiBDaGVjayBmZWF0dXJlcyByZXF1ZXN0IGlzIGltcGxlbWVudGVkCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogZmVhdHVyZXNfcmVxdWVzdAorUG9ydHM6IEkgKENvbnRyb2wgUGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdCBOb3RlczogCithKSBTZW5kIE9GUFRfRkVBVFVSRVNfUkVRVUVTVCBmcm9tIGNvbnRyb2xsZXIuCitjKSBWZXJpZnkgT0ZQVF9GRUFUVVJFU19SRVBMWSBpcyByZWNlaXZlZCB3aXRob3V0IGVycm9ycworCisKKzIuIENvbmZpZ3VyYXRpb24gcmVxdWVzdAorCitUZXN0IERlc2NyaXB0aW9uOiBDaGVjayBiYXNpYyBnZXQgY29uZmlndXJhdGlvbiByZXF1ZXN0IGlzIGltcGxlbWVudGVkCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogY29uZmlndXJhdGlvbl9yZXF1ZXN0CitQb3J0czogSSAoQ29udHJvbCBQbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorYSkgU2VuZCBPRlBUX0dFVF9DT05GSUdfUkVRVUVTVAorYykgVmVyaWZ5IE9GUFRfR0VUX0NPTkZJR19SRVBMWSBpcyByZWNlaXZlZCB3aXRob3V0IGVycm9ycy4KKworCiszLiBNb2RpZnkgU3RhdGUgKEFERCkKKworVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgYmFzaWMgRmxvdyBBREQgcmVxdWVzdCBpcyBpbXBsZW1lbnRlZAorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1Rlc3QgVGl0bGU6IG1vZGlmeV9zdGF0ZV9hZGQKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBkYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdCBOb3RlczoKK2EpIFNlbmQgT0ZQVF9GTE9XX01PRCwgY29tbWFuZCA9IE9GUEZDX0FERCAKK2IpIFNlbmQgb2ZwX3RhYmxlX3N0YXRzIHJlcXVlc3QgCitjKSBWZXJpZnkgdGhhdCBhY3RpdmVfY291bnQ9MSBpbiB0aGUgcmVwbHkKKworNC4gTW9kaWZ5IFN0YXRlIChERUxFVEUpCisKK1Rlc3QgRGVzY3JpcHRpb246IENoZWNrIGJhc2ljIEZsb3cgRGVsZXRlIHJlcXVlc3QgaXMgaW1wbGVtZW50ZWQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiBtb2RpZnlfc3RhdGVfZGVsZXRlCitQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgZGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBTZXR1cAorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6CithKSBTZW5kIE9GUFRfRkxPV19NT0QsIGNvbW1hbmQgPSBPRlBGQ19BREQgCitiKSBTZW5kIG9mcF90YWJsZV9zdGF0cyByZXF1ZXN0CitjKSBWZXJpZnkgdGhhdCBhY3RpdmVfY291bnQ9MSBpbiB0aGUgcmVwbHkKK2QpIFNlbmQgT0ZQVF9GTE9XX01PRCwgY29tbWFuZCA9IE9GUEZDX0RFTEVURQorZSkgU2VuZCBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdAorZikgIFZlcmlmeSBhY3RpdmUgX2NvdW50PTAgaW4gdGhlIHJlcGx5CisKKzUuIE1vZGlmeSBTdGF0ZSAoTU9ESUZZKQorCitUZXN0IERlc2NyaXB0aW9uOiBDaGVjayBiYXNpYyBGbG93IE1vZGlmeSByZXF1ZXN0IGlzIGltcGxlbWVudGVkCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogbW9kaWZ5X3N0YXRlX21vZGlmeQorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSBhbmQgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdCBOb3RlczoKK2EpIFNlbmQgIE9GUFRfRkxPV19NT0QgLCBjb21tYW5kID0gT0ZQRkNfQURELCBhY3Rpb24gQQorYikgU2VuZCBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCwgVmVyaWZ5ICBhY3RpdmVfY291bnQ9MQorYykgU2VuZCBPRlBUX0ZMT1dfTU9EICwgY29tbWFuZCA9IE9GUEZDX01PRElGWSwgYWN0aW9uIEGSCitkKSBTZW5kIFRlc3QgUGFja2V0ICBtYXRjaGluZyB0aGUgZmxvdworZSkgVmVyaWZ5IHBhY2tldCBpbXBsZW1lbnRzIGFjdGlvbiBBkgorCisKKworNi4gUmVhZCBTdGF0ZQorCitUZXN0IERlc2NyaXB0aW9uOiBDaGVjayBiYXNpYyBSZWFkIFN0YXRlIGlzIGltcGxlbWVudGVkCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogcmVhZF9zdGF0ZQorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSwgMiBkYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdCBOb3RlczoKK2EpIFNlbmQgIE9GUFRfRkxPV19NT0QsIGNvbW1hbmQgPSBPRlBGQ19BREQKK2IpIENyZWF0ZSBhIE9GUENfRkxPV19TVEFUUyBtZXNzYWdlIGFuZCBzZW5kIGl0CitjKSBWZXJpZnkgc3dpdGNoIHJlcGxpZXMgd2l0aG91dCBlcnJvcnMKKworNy4gU2VuZCBwYWNrZXQKKworVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgYmFzaWMgU2VuZC1QYWNrZXQgaXMgaW1wbGVtZW50ZWQuIAorU2VuZC1QYWNrZXQ6IFRoZXNlIGFyZSB1c2VkIGJ5IHRoZSBjb250cm9sbGVyIHRvIHNlbmQgcGFja2V0cyBvdXQgb2YgYSBzcGVjaWZpZWQgcG9ydCBvbiB0aGUgc3dpdGNoLgorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1Rlc3QgVGl0bGU6ICBzZW5kX3BhY2tldAorUG9ydHM6IDUgKDEgQ29udHJvbCBQbGFuZSwgNCBEYXRhcGxhbmUpIAorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBTZXR1cAorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKKworVGVzdCBOb3RlczoKK2EpIFNlbmQgT0ZQVF9QQUNLRVRfT1VUIG91dCBtZXNzYWdlIGZyb20gY29udHJvbGxlciB0byBzd2l0Y2ggZm9yIGV2ZXJ5IGRhdGFwbGFuZSBwb3J0LgorYikgVmVyaWZ5IHRoZSBwYWNrZXQgYXBwZWFycyBvbiB0aGUgZWFjaCBkYXRhcGxhbmUgcG9ydAorYykgVmVyaWZ5IHNlbnQgcGFja2V0IG1hdGNoZXMgdGhlIHJlY2VpdmVkIHBhY2tldAorICAgIAorOC4gQmFycmllciBSZXF1ZXN0IAorCitUZXN0IERlc2NyaXB0aW9uOiBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSBiYXNpYyBiYXJyaWVyIHJlcXVlc3QgZG9lcyBub3QgZ2VuZXJhdGUgYW4gZXJyb3IuCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogYmFycmllcl9yZXF1ZXN0X3JlcGx5CitQb3J0czogSSAoQ29udHJvbCBQbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorCithKSBTZW5kIE9GUFRfQkFSUklFUl9SRVFVRVNUCitjKSBWZXJpZnkgT0ZQVF9CQVJSSUVSX1JFUExZIGlzIHJlY2VpdmVkIG9uIHRoZSBjb250cm9sIHBsYW5lLgorCisKKzkuIFBhY2tldCBJbgorCitUZXN0IERlc2NyaXB0aW9uOiBDaGVjayBwYWNrZXRfaW4gaXMgaW1wbGVtZW50ZWQuIFRoaXMgdGVzdCBqdXN0IGNoZWNrcyB0aGF0IG5vbiBtYXRjaGVkIGRhdGFwbGFuZSBwYWNrZXRzIGdlbmVyYXRlIGEgcGFja2V0X2luCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogcGFja2V0X0luCitQb3J0czogMiAoMSBDb250cm9sIFBsYW5lIGFuZCAxIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorYSkgU2VuZCBhIHBhY2tldCB0byBkYXRhcGxhbmUgcG9ydCAsIHdpdGhvdXQgaW5zZXJ0aW5nIGEgZmxvdyBlbnRyeQorYikgVmVyaWZ5IGEgT0ZQVF9QQUNLRVRfSU4gaXMgZ2VuZXJhdGVkIG9uIHRoZSBjb250cm9sIHBsYW5lCisKKworMTAuIEhlbGxvCisKK1Rlc3QgRGVzY3JpcHRpb246IFRoaXMgdGVzdCBjaGVja3MgZm9yIGJhc2ljIEhlbGxvIG1lc3NhZ2UgZ2VuZXJhdGlvbiB3aXRoIGNvcnJlY3QgdmVyc2lvbiBmaWVsZC4KK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiAgaGVsbG8KK1BvcnRzOiAxIChDb250cm9sIFBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBTZXR1cAorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6CithKSBTZW5kICBPRlBUX0hFTExPIGZyb20gY29udHJvbGxlciB0byBzd2l0Y2gKK2IpIFZlcmlmeSBzd2l0Y2ggYWxzbyBzZW5kcyBPRlBUX0hFTExPIG1lc3NhZ2UgaW4gcmVzcG9uc2UgCitjKSBWZXJpZnkgdmVyc2lvbiBmaWVsZCBpbiB0aGUgaGVsbG8gbWVzc2FnZSBpcyBzZXQgdG8gT3BlbmZsb3cgdmVyc2lvbiAxLjAuMAorCisxMS4gRWNobworCitUZXN0IERlc2NyaXB0aW9uOiBUaGlzIHRlc3QgY2hlY2tzIGZvciBiYXNpYyBFY2hvIFJlcGx5IG1lc3NhZ2UgZ2VuZXJhdGlvbiB3aXRoIGNvcnJlY3QgdmVyc2lvbiBmaWVsZCB3aXRoIHNhbWUgdHJhbnNhY3Rpb24gaWQuCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGVjaG9fd2l0aG91dF9ib2R5CitQb3J0czogMSAoQ29udHJvbCBQbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorYSkgU2VuZCBPRlBUX0VDSE9fUkVRVUVTVCBmcm9tIHRoZSBjb250cm9sbGVyIHNpZGUuCitiKSBWZXJpZnkgc3dpdGNoIHJlc3BvbmRzIGJhY2sgd2l0aCBPRlBUX0VDSE9fUkVQTFkgd2l0aCBzYW1lIHhpZC4KK2MpIFZlcmlmeSBPcGVuZmxvdyB2ZXJzaW9uIGluIGhlYWRlciBpcyBzZXQgdG8gT3BlbmZsb3cgdmVyc2lvbiAxLjAuMC4KKworCisKKyMjIyMjIyMjIyMjIyMgIERldGFpbGVkIGNvbnRyb2xsZXIgdG8gc3dpdGNoIG1lc3NhZ2VzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworMS4gT3ZlcmxhcCBjaGVja2luZworCitUZXN0IERlc2NyaXB0aW9uOiBWZXJpZnkgdGhhdCBpZiBvdmVybGFwIGNoZWNrIGZsYWcgaXMgc2V0IGluIHRoZSBmbG93IGVudHJ5IGFuZCBhbiBvdmVybGFwcGluZyBmbG93IGlzIGluc2VydGVkIHRoZW4gYW4gZXJyb3IgaXMgZ2VuZXJhdGVkIGFuZCBzd2l0Y2ggcmVmdXNlcyBmbG93IGVudHJ5CitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG92ZXJsYXBfY2hlY2tpbmcKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBkYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdC1Ob3RlczoKKworYSkgR2VuZXJhdGUgRmxvdyBGMS0tPiBXaWxkY2FyZCBBbGwgCitiKSBTZW5kIG9mcF90YWJsZV9zdGF0cyByZXF1ZXN0ICwgdmVyaWZ5IGFjdGl2ZV9jb3VudD0xCitjKSBHZW5lcmF0ZSBvdmVybGFwcGluZyBmbG93IEYyIC0tPiBXaWxkY2FyZCBBbGwgRXhjZXB0IEluZ3Jlc3MgUG9ydCAoIHdpdGggZmxhZyBPRlBGRl9DSEVDS19PVkVSTEFQIHNldCkKK2QpIFZlcmlmeSB0aGF0IHN3aXRjaCBnZW5lcmF0ZXMgT0ZQVF9FUlJPUiBtc2cuICAKK1R5cGU6IE9GUEVUX0ZMT1dfTU9EX0ZBSUxFRCBjb2RlIDogT0ZQRk1GQ19PVkVSTEFQIAorCisyLiBObyBvdmVybGFwIGNoZWNraW5nCisKK1Rlc3QgRGVzY3JpcHRpb246IFZlcmlmeSB0aGF0IHdpdGhvdXQgb3ZlcmxhcCBjaGVjayBmbGFnIHNldCwgb3ZlcmxhcHBpbmcgZmxvd3MgY2FuIGJlIGNyZWF0ZWQuCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG5vX292ZXJsYXBfY2hlY2tpbmcKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUsIDIgRGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6CisKK2EpIEdlbmVyYXRlIEZsb3cgRjEtLT4gV2lsZGNhcmQgQWxsLgorYikgU2VuZCBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCAsIHZlcmlmeSBhY3RpdmVfY291bnQ9MQorZSkgR2VuZXJhdGUgb3ZlcmxhcHBpbmcgZmxvdyBGMiAtLT4gV2lsZGNhcmQgQWxsIEV4Y2VwdCBJbmdyZXNzIFBvcnQgKCB3aXRob3V0IGZsYWcgT0ZQRkZfQ0hFQ0tfT1ZFUkxBUCBzZXQpCitjKSBTZW5kIGEgb2ZwX3RhYmxlX3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBhY3RpdmVfY291bnQ9MgorCiszLiBJZGVudGljYWwgZmxvd3MgCisKK1Rlc3QgRGVzY3JpcHRpb246IFZlcmlmeSB0aGF0IGFkZGluZyB0d28gaWRlbnRpY2FsIGZsb3dzIG92ZXJ3cml0ZXMgdGhlIGV4aXN0aW5nIG9uZSBhbmQgY2xlYXJzIGNvdW50ZXJzCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGlkZW50aWNhbF9mbG93cworUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSksICgyIGRhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorCithKSBHZW5lcmF0ZSBGbG93IEYxLgorYikgU2VuZCBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCAsIHZlcmlmeSBhY3RpdmVfY291bnQ9MQorYikgICBJbmNyZW1lbnQgY291bnRlcnMgKHBhY2tldF9jb3VudCwgYnl0ZV9jb3VudCkgYnkgc2VuZGluZyBhIHBhY2tldCBtYXRjaGluZyBmbG93IEYxLgorQykgICBTZW5kIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QuIFZlcmlmeSBmbG93IGNvdW50ZXJzOiBieXRlX2NvdW50IGFuZCBwYWNrZXRfY291bnQgCitjKSAgIENyZWF0ZSBpZGVudGljYWwgZmxvdyBGMgorZCkgICBTZW5kIGEgb2ZwX3RhYmxlX3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBhY3RpdmVfY291bnQ9MQorZSkgICBTZW5kIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QuIFZlcmlmeSBmbG93IGNvdW50ZXJzOiBieXRlX2NvdW50IGFuZCBwYWNrZXRfY291bnQgYXJlIHJlc2V0CisKKworCis0LiBObyB0YWJsZSB0byBhZGQgKFdyaXR0ZW4gaW4gb2Z0ZXN0l05lZWQgdG8gYWRkIHRvIGNvbmZvcm1hbmNlIFRlc3QtU3VpdGVzKQorCis1LiBOZXZlciB2YWxpZCBwb3J0IChUQkQpCisKKzYuIEN1cnJlbnRseSBub3QgZXhpc3RpbmcgcG9ydCBWZXJzaW9uIEEgYW5kIEIgKFRCRCkKKworNy4gRW1lcmdlbmN5IGZsb3cgd2l0aCB0aW1lb3V0IHZhbHVlcyAKKworVGVzdCBEZXNjcmlwdGlvbjogVGltZW91dCB2YWx1ZXMgYXJlIG5vdCBhbGxvd2VkIGZvciBlbWVyZ2VuY3kgZmxvd3MKK1Rlc3QgVGl0bGU6IGVtZXJfZmxvd193aXRoX3RpbWVvdXQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogMyAoMSBjb250cm9sIHBsYW5lLCAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAgCisKK1Rlc3QgTm90ZXM6CisKK2EpICBHZW5lcmF0ZSBhIGZsb3cgRiB3aXRoIE9GUEZGX0VNRVJHIHNldCBpbiBmbGFnIGFuZCB0aW1lb3V0IHZhbHVlcyBhc3NpZ25lZC4KK2IpICBWZXJpZnkgc3dpdGNoIGdlbmVyYXRlcyBhbiBPRlBUX0VSUk9SIG1zZywgVHlwZTogT0ZQRVRfRkxPV19NT0RfRkFJTEVELCBDb2RlIE9GUEZNRkNfQkFEX0VNRVJHX1RJTUVPVVQKKworCis4LiBNaXNzaW5nIG1vZGlmeSBhZGRzCisKK1Rlc3QgRGVzY3JpcHRpb246IElmIGEgbW9kaWZ5IGRvZXMgbm90IG1hdGNoIGFuIGV4aXN0aW5nIGZsb3csIHRoZSBmbG93IGdldHMgYWRkZWQuCitUaXRsZTogbWlzc2luZ19tb2RpZnlfYWRkCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorUG9ydHM6MyAoMSBjb250cm9sIHBsYW5lLDIgRGF0YSBQbGFuZSkKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6CisKK2EpIEdlbmVyYXRlIGEgZmxvdy1tb2QgLCBjb21tYW5kIE9GUENfTU9ESUZZIChOb3RlOiBUaGVyZSBzaG91bGQgYmUgbm8gZmxvd3MgbWF0Y2hpbmcgdGhpcyBmbG93X21vZCBtb2RpZnkgY29tbWFuZCkKK2IpIFNlbmQgYSBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCwgdmVyaWZ5IGFjdGl2ZV9jb3VudD0xCisKKzkuIE1vZGlmeSBjaGFuZ2VzIGFjdGlvbiwgcHJlc2VydmVzIGNvdW50ZXJzCisKK1Rlc3QgRGVzY3JpcHRpb246IEEgbW9kaWZpZWQgZmxvdyBwcmVzZXJ2ZXMgY291bnRlcnMKK1RpdGxlOiBtb2RpZnlfYWN0aW9uCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorUG9ydHM6IDQoMSBjb250cm9sIHBsYW5lLCAzIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6CisKK2EpIENyZWF0ZSBhIGZsb3dfbW9kIEYtMSB3aXRoIGNvbW1hbmQgT0ZQQ19BREQsIGFjdGlvbiBBCitiKSBTZW5kIGEgdGVzdCBQYWNrZXQgbWF0Y2hpbmcgdGhlIGZsb3cKK2MpIFNlbmQgYW4gb2ZwX2Zsb3dfc3RhdHMgcmVxdWVzdCwgdmVyaWZ5IGJ5dGVfY291bnQgYW5kIHBhY2tldF9jb3VudAorZSkgQ3JlYXRlIGZsb3dfbW9kIHdpdGggY29tbWFuZCBPRlBDX01PRElGWSAsYWN0aW9uIEGSIGFuZCBtb2RpZnkgYWN0aW9uIG9mIGZsb3cgRi0xCitmKSAgU2VuZCBhIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBmbG93IGNvdW50ZXJzIGFyZSBwcmVzZXJ2ZWQKK2cpIFNlbmQgdGVzdCBwYWNrZXQsIHZlcmlmeSBpdCBpbXBsZW1lbnRzIGFjdGlvbiBBkgorCisgCisxMC4gU3RyaWN0IE1vZGlmeSBjaGFuZ2VzIGFjdGlvbiwgcHJlc2VydmVzIGNvdW50ZXJzCisKK1Rlc3QgRGVzY3JpcHRpb246IFN0cmljdCBNb2RpZnkgRmxvdyBhbHNvIGNoYW5nZXMgYWN0aW9uIHByZXNlcnZlcyBjb3VudGVycworVGl0bGU6IHN0cmljdF9tb2RpZnlfYWN0aW9uCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorUG9ydHM6IDQoMSBjb250cm9sIHBsYW5lLCAzIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6CisKK2EpIENyZWF0ZSB0d28gb3ZlcmxhcHBpbmcgZmxvd3M6IEYgLS0+IE1hdGNoIG9uIGFsbCwgZXhjZXB0IG9uZSB3aWxkY2FyZGVkIChzcmMgYWRkcmVzcykuICBBY3Rpb24gQS4gUHJpb3JpdHk9MTAwIAorRpIgLS0+IE1hdGNoIG9uIGluZ3Jlc3NfcG9ydCA9IHBvcnQgWzBdLCB3aWxkY2FyZGVkIHJlc3QuIEFjdGlvbiBBLiBQcmlvcml0eT0xMAorYikgU2VuZCBhIG9mcF90YWJsZV9zdGF0cyByZXF1ZXN0LCB2ZXJpZnkgYWN0aXZlX2NvdW50PTIKK2MpIFNlbmQgUGFja2V0IChpdCB3b3VsZCBoYXZlIG1hdGNoZWQgYm90aCB0aGUgZmxvd3MsIHNpbmNlIHRoZXkgYXJlIG92ZXJsYXBwaW5nIGZsb3dzIGJ1dCBpdCB3b3VsZCBtYXRjaCBGbG93LUYxIGFzIGl0IGhhcyBoaWdoZXIgcHJpb3JpdHkuKQorZCkgU2VuZCBvZnBfZmxvd19zdGF0cyByZXF1ZXN0IGZvciBGbG93LTEgYW5kIHZlcmlmeSBjb3VudGVycyBwYWNrZXRfY291bnQgYW5kIGJ5dGVfY291bnQgCitlKSBDcmVhdGUgZmxvd19tb2QgLGNvbW1hbmQgT0ZQQ19TVFJJQ1RfTU9ESUZZLG1hdGNoIG9uIGFsbCBleGNlcHQgc3JjIGFkZHJlc3MgLHByaW9yaXR5IDEwMCBhY3Rpb24gQZIKK2YpIFNlbmQgdGVzdCBwYWNrZXQgLCB2ZXJpZnkgYWN0aW9uIGlzIG1vZGlmaWVkCitnKSBTZW5kIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBjb3VudGVycyBhcmUgcHJlc2VydmVkLgorCisxMS4gRGVsZXRlIG5vbiBleGlzdGluZyBmbG93IAorCitUZXN0IERlc2NyaXB0aW9uOiBSZXF1ZXN0IGRlbGV0aW9uIG9mIG5vbi1leGlzdGluZyBmbG93CitUaXRsZTogZGVsZXRlX25vbmV4aXN0aW5nX2Zsb3cKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogMSgxIGNvbnRyb2wgcGxhbmUpCitJbml0aWFsIFN0YXRlOiBDb25uZWN0aW9uIHNldHVwLCBDbGVhciBTd2l0Y2ggU3RhdGUKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorCithKSBJc3N1ZSBhIGRlbGV0ZSBjb21tYW5kLCB3aXRoIG5vIGZsb3dzIGluc2VydGVkCitiKSBNYWtlIHN1cmUgbm8gZXJyb3IgaXMgZ2VuZXJhdGVkIG9uIHRoZSBjb250cm9sIHBsYW5lCisKKzEyLiBEZWxldGUgZmxvd3Mgd2l0aCBhbmQgd2l0aG91dCByZW1vdmVkIG1lc3NhZ2UKKworVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgZGVsZXRpb24gb2YgZmxvd3MgaGFwcGVucyBhbmQgZ2VuZXJhdGVzIG1lc3NhZ2VzIGFzIGNvbmZpZ3VyZWQuCitJLmUuIGlmIJFTZW5kIEZsb3cgcmVtb3ZlZCBtZXNzYWdlkiBGbGFnIGlzIHNldCBpbiB0aGUgZmxvdyBlbnRyeSwgdGhlIGZsb3cgZGVsZXRpb24gb2YgdGhhdCByZXNwZWN0aXZlIGZsb3cgc2hvdWxkIGdlbmVyYXRlIHRoZSBmbG93IHJlbW92ZWQgbWVzc2FnZSwgdmljZSB2ZXJzYSBhbHNvIGV4aXN0cyAKK1Rlc3QgVGl0bGU6IFNlbmRfRmxvd19SZW0KK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogMyAoMSBjb250cm9sIHBsYW5lLCAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIERlZmF1bHQgKGNsZWFyIHN3aXRjaCBzdGF0ZSkKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorCithKSBHZW5lcmF0ZSBhIGZsb3cgRiB3aXRob3V0IE9GUEZGX1NFTkRfRkxPV19SRU0gZmxhZyBzZXQKK2IpIElzc3VlIGEgZGVsZXRlIGNvbW1hbmQgT0ZQRkNfREVMRVRFCitjKSBWZXJpZnkgdGhhdCBPRlBUX0ZMT1dfUkVNT1ZFRCBtZXNzYWdlIGlzIG5vdCBnZW5lcmF0ZWQuCitjKSBHZW5lcmF0ZSBhIGZsb3cgRpIgd2l0aCBPRlBGRl9TRU5EX0ZMT1dfUkVNIGZsYWcgc2V0CitkKSBJc3N1ZSBhIGRlbGV0ZSBjb21tYW5kIE9GUEZDX0RFTEVURQorZSkgVmVyaWZ5IHRoYXQgT0ZQVF9GTE9XX1JFTU9WRUQgbWVzc2FnZSBpcyBnZW5lcmF0ZWQKKworCisKKzEzLiBEZWxldGUgZW1lcmdlbmN5IGZsb3cgCisKK1Rlc3QgRGVzY3JpcHRpb246IERlbGV0ZSBlbWVyZ2VuY3kgZmxvdyBhbmQgdmVyaWZ5IG5vIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkLgorQW4gZW1lcmdlbmN5IGZsb3cgZGVsZXRpb24gd2lsbCBub3QgZ2VuZXJhdGUgZmxvdy1yZW1vdmVkIG1lc3NhZ2VzIGV2ZW4gaWYgkVNlbmQgRmxvdyByZW1vdmVkIG1lc3NhZ2WSIGZsYWcgd2FzIHNldCBkdXJpbmcgdGhlIGVtZXJnZW5jeSBmbG93IGVudHJ5LgorVGl0bGU6IGRlbGV0ZV9lbWVyX2Zsb3cKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogMyAoMSBjb250cm9sIHBsYW5lLCAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZSAoZGVmYXVsdCkgCisKK1Rlc3QtTm90ZXM6CisKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBPRlBGRl9FTUVSRyBmbGFnIHNldC4KK2IpIERlbGV0ZSB0aGUgYWRkZWQgZmxvdyB3aXRoIE9GUEZGX1NFTkRfRkxPV19SRU0gZmxhZyBzZXQKK2MpIFRlc3Qgc3VjY2Vzc2Z1bCBpZiBubyBmbG93IHJlbW92ZWQgbWVzc2FnZSBpcyBnZW5lcmF0ZWQuCisgICAgCisKKzE0LiBEZWxldGUgYW5kIHZlcmlmeSBzdHJpY3QgYW5kIG5vbi1zdHJpY3QgCisKK1Rlc3QgRGVzY3JpcHRpb246IERlbGV0ZSBhbmQgdmVyaWZ5IHN0cmljdCBhbmQgbm9uLXN0cmljdCBiZWhhdmlvcnMKK1RoaXMgdGVzdCBjb21wYXJlcyB0aGUgYmVoYXZpb3Igb2YgZGVsZXRlIHN0cmljdCBhbmQgbm9uLXN0cmljdC4KK1RpdGxlOiBkZWxldGVfc3RyaWN0X25vbnN0cmljdAorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1BvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgZGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlCisKK1Rlc3QtTm90ZXM6CisKK2EpIEluc2VydCBGbG93IEYgd2l0aCBhbiBleGFjdCBtYXRjaC4gCitiKSAgSXNzdWUgTm9uLXN0cmljdCBEZWxldGUgY29tbWFuZCwgdmVyaWZ5IEYgZ2V0cyBkZWxldGVkLiAKK2MpICBJbnNlcnQgRiB3aXRoIGFuIGV4YWN0IE1hdGNoIAorZCkgIElzc3VlIFN0cmljdCBEZWxldGUgQ29tbWFuZCwgdmVyaWZ5IEYgZ2V0cyBkZWxldGVkLgorZSkgIEluc2VydCBGbG93IFQgd2l0aCBtYXRjaCBvbiBhbGwsIGV4Y2VwdCBvbmUgd2lsZGNhcmRlZCAoc2F5IHNyYyBhZGRyZXNzKS4gIAorZikgIEluc2VydCBhbm90aGVyIGZsb3cgVCcgd2l0aCBtYXRjaCBvbiBpbmdyZXNzX3BvcnQsIHdpbGRjYXJkZWQgcmVzdC4gIAorZykgIElzc3VlIE5vbi1zdHJpY3QgRGVsZXRlICggbWF0Y2ggb24gaW5ncmVzc19wb3J0KS4gVmVyaWZ5IFQrVCcgZ2V0cyBkZWxldGVkLiAKK2gpICBJbnNlcnQgVCBhbmQgVCcgYWdhaW4uIElzc3VlIFN0cmljdCBEZWxldGUgKG1hdGNoIG9uIGluZ3Jlc3MgcG9ydCksIHZlcmlmeSBvbmx5IFQnIGdldHMgZGVsZXRlZAoraSkgICBJbnNlcnQgVCwgYWRkIFByaW9yaXR5IFAgKHNheSAxMDApIAoraikgIEluc2VydCBUJyBhZGQgcHJpb3JpdHkgKDIwMCkuIAoraykgSW5zZXJ0IFQnIGFnYWluIGFkZCBwcmlvcml0eSAzMDAgLS0+IFSUCitsKSAgSXNzdWUgTm9uLVN0cmljdCBEZWxldGUgKG1hdGNoIG9uIGluZ3Jlc3MgcG9ydCkuIFZlcmlmeSBUK1SSK1SSkiBnZXRzIGRlbGV0ZWQuIAorbSkgSW5zZXJ0IFQsIFSSLCBUkpIgYWdhaW4sIElzc3VlIFN0cmljdCBEZWxldGUgKG1hdGNoIG9uIGluZ3Jlc3NfcG9ydCkgd2l0aCBwcmlvcml0eSA9IDIwMC4gVmVyaWZ5IG9ubHkgVJIgZ2V0cyBkZWxldGVkCisKKworMTUuIERlbGV0ZSBmbG93cyB3aXRoIGNvbnN0cmFpbnQgb3V0X3BvcnQKKworVGVzdCBEZXNjcmlwdGlvbjogRGVsZXRlIGZsb3dzIGZpbHRlcmVkIGJ5IGFjdGlvbiBvdXRwdXQKK0RFTEVURSBhbmQgREVMRVRFIFNUUklDVCBjb21tYW5kcyBjYW4gYmUgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBvdXRwdXQgcG9ydC4gSWYgdGhlIG91dF9wb3J0IGZpZWxkIGNvbnRhaW5zIGEgdmFsdWUgb3RoZXIgdGhhbiBPRlBQX05PTkUsIGl0IGludHJvZHVjZXMgYSBjb25zdHJhaW50IHdoZW4gbWF0Y2hpbmcuIFRoaXMgY29uc3RyYWludCBpcyB0aGF0IHRoZSBydWxlIG11c3QgY29udGFpbiBhbiBvdXRwdXQgYWN0aW9uIGRpcmVjdGVkIGF0IHRoYXQgcG9ydC4KKworVGl0bGU6IGRlbGV0ZV93aXRoX291dHBvcnQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogMyAoMSBjb250cm9sIHBsYW5lLCAyIERhdGFwbGFuZXMpCitJbml0aWFsIFN0YXRlOiBDb25uZWN0aW9uIHNldHVwLCBDbGVhciBTd2l0Y2ggU3RhdGUKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0LU5vdGVzOgorCithKSBJbnNlcnQgYSBmbG93IEYgIHdpdGggb3V0cHV0IGFjdGlvbiA9IHBvcnQgeCAKK2IpIFNlbmQgYSBkZWxldGUgY29tbWFuZCBtYXRjaGluZyBmbG93IEYgLGJ1dCAgb3V0X3BvcnQgPXBvcnQgeQorYykgU2VuZCBhIHRhYmxlX3N0YXRzIHJlcXVlc3QgLCB2ZXJpZnkgbm8gZmxvdyBnZXRzIGRlbGV0ZWQgaS5lLiBhY3RpdmVfY291bnQ9MQorZCkgU2VuZCBhIGRlbGV0ZSBjb21tYW5kIG1hdGNoaW5nIGZsb3cgRiAsb3V0cG9ydCA9IHBvcnQgeAorZSkgU2VuZCBhIHRhYmxlX3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBmbG93IEYgZ2V0cyBkZWxldGVkLgorCisKKzE2LiBBZGQsIG1vZGlmeSBmbG93cyB3aXRoIGNvbnN0cmFpbnQgb3V0cHV0CisKK1Rlc3QgRGVzY3JpcHRpb246IEFkZCwgbW9kaWZ5IGZsb3dzIHdpdGggb3V0cG9ydCBzZXQuIFRoaXMgZmllbGQgaXMgaWdub3JlZCBieSBBREQsIE1PRElGWSwgYW5kIE1PRElGWSBTVFJJQ1QgbWVzc2FnZXMuCitUaXRsZTogYWRkX21vZGlmeV93aXRoX291dHBvcnQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogNCAoMSBjb250cm9sIHBsYW5lLCAzIERhdGEgcGxhbmVzKQorSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdC1Ob3RlczoKKworYSkgSW5zZXJ0IGEgZmxvdyBGIHdpdGggYWN0aW9uIEEgKG91dHB1dCAtLT4gcG9ydCB4KSAsIGJ1dCBvdXRfcG9ydCBmaWVsZCBpbiB0aGUgZmxvdyBtb2Qgc2V0IGFzIHBvcnQgeQorYikgU2VuZCBUYWJsZV9TdGF0c19SZXF1ZXN0LCBWZXJpZnkgRmxvdyBnZXRzIGluc2VydGVkLiAoIEZsb3cgYWRkIGlnbm9yZXMgb3V0X3BvcnQgZmllbGQpCitjKSBNb2RpZnkgdGhlIGFjdGlvbiBpbiBmbG93IEYgLCBhY3Rpb24gQZIgKCBvdXRwdXQgLS0+cG9ydCB6ICksIGJ1dCBvdXRfcG9ydCBmaWVsZCBpbiB0aGUgZmxvdyBtb2Qgc2V0IGFzIHBvcnQgeQorZCkgU2VuZCB0ZXN0IHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyBGIAorZSkgVmVyaWZ5IHBhY2tldCBpbXBsZW1lbnRzIGFjdGlvbiBBkiAoZmxvdyBtb2RpZnkgaWdub3JlcyBvdXRfcG9ydCBmaWVsZCkKKworMTcuIFZlcmlmeSB0aGF0IGlkbGUgdGltZW91dCBpcyBpbXBsZW1lbnRlZAorCisKK1Rlc3QgRGVzY3JpcHRpb246IFZlcmlmeSB0aGF0IGlkbGUgdGltZW91dCBpcyBpbXBsZW1lbnRlZAorVGl0bGU6IGlkbGVfdGltZW91dAorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1BvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgRGF0YXBsYW5lcykKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QtTm90ZXM6CisKK2EpIEFkZCBhIGZsb3cgd2l0aCBpZGxlIHRpbWVvdXQgc2V0IGFuZCB3aXRoIE9GUFBfU0VORF9GTE9XX1JFTSBiaXQgc2V0CitiKSBWZXJpZnkgZmxvdyByZW1vdmVkIG1lc3NhZ2UgaXMgcmVjZWl2ZWQuCitjKSBWZXJpZnkgZmxvdyByZW1vdmVkIHJlYXNvbiB3YXMgaWRsZV90aW1lb3V0CitkKSBWZXJpZnkgdGhlIGR1cmF0aW9uX3NlYyBmaWVsZCBpcyAxIHNlYyAKKworCisxOC4gVmVyaWZ5IHRoYXQgaGFyZCB0aW1lb3V0IGlzIGltcGxlbWVudGVkCisKK1Rlc3QgRGVzY3JpcHRpb246IFZlcmlmeSB0aGF0IGhhcmQgdGltZW91dCBpcyBpbXBsZW1lbnRlZAorVGl0bGU6IGhhcmRfdGltZW91dAorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1BvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgRGF0YXBsYW5lcykKK0luaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZSAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0LU5vdGVzOgorCithKSBBZGQgYSBmbG93IHdpdGggaGFyZCB0aW1lb3V0ID0xIHNldCBhbmQgd2l0aCBPRlBQX1NFTkRfRkxPV19SRU0gYml0IHNldAorYikgVmVyaWZ5IGZsb3cgcmVtb3ZlZCBtZXNzYWdlIGlzIHJlY2VpdmVkLgorYykgVmVyaWZ5IGZsb3cgcmVtb3ZlZCByZWFzb24gd2FzIGhhcmRfdGltZW91dAorZCkgVmVyaWZ5IHRoZSBkdXJhdGlvbl9zZWMgZmllbGQgaXMgMSBzZWMgCisKKzE5LiBWZXJpZnkgdGhhdCBtZXNzYWdlcyBhcmUgZ2VuZXJhdGVkIGFzIGV4cGVjdGVkCisKK1Rlc3QgRGVzY3JpcHRpb246IFZlcmlmeSB0aGF0IEZsb3cgcmVtb3ZlZCBtZXNzYWdlcyBhcmUgZ2VuZXJhdGVkIGFzIGV4cGVjdGVkCitTaW5jZSCTZmxvdyByZW1vdmVkIG1lc3NhZ2VzIGJlaW5nIGdlbmVyYXRlZCB3aGVuIGZsYWcgaXMgc2V0lCBpcyBhbHJlYWR5IHRlc3RlZCBpbiB0aGUgYWJvdmUgdGVzdHMgCitTbyBoZXJlLCB3ZSB0ZXN0IHRoZSB2aWNlLXZlcnNhIGNvbmRpdGlvbi4KK1RpdGxlOiBmbG93X3RpbWVvdXQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitQb3J0czogMyAoMWNvbnRyb2wgcGxhbmUsIDFkYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBDb25uZWN0aW9uIHNldHVwLCBDbGVhciBTd2l0Y2ggU3RhdGUgCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworVGVzdC1Ob3RlczoKKworYSkgIEdlbmVyYXRlIGFuZCBpbnN0YWxsIGEgZmxvdyB3aXRoIGlkbGVfdGltZW91dCA9IDEgc2V0IG5vIE9GUEZGX1NFTkRfRkxPV19SRU0gZmxhZyBzZXQuCitiKSAgVmVyaWZ5IG5vIGZsb3cgcmVtb3ZlZCBtZXNzYWdlIGlzIHJlY2VpdmVkLgorYykgIFNlbmQgdGFibGVfc3RhdHNfcmVxdWVzdCBtZXNzYWdlIGFuZCB2ZXJpZnkgYWN0aXZlX2NvdW50PTAgCisKKworCisKKyMjIyMjIyMjIyMjIyMjIyMjICBBY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworMS4gTm8gQWN0aW9uIGRyb3BzIHBhY2tldCAKKworVGVzdCBEZXNjcmlwdGlvbjogSWYgbm8gZm9yd2FyZCBhY3Rpb25zIGFyZSBwcmVzZW50LCB0aGUgcGFja2V0IGlzIGRyb3BwZWQuIAorUmVxdWlyZWQgQWN0aW9uOiBEcm9wLiAKK0EgZmxvdy1lbnRyeSB3aXRoIG5vIHNwZWNpZmllZCBhY3Rpb24gaW5kaWNhdGVzIHRoYXQgYWxsIG1hdGNoaW5nIHBhY2tldHMgc2hvdWxkIGJlIGRyb3BwZWQuIAorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1Rlc3QgVGl0bGU6ICBub19hY3Rpb25fZHJvcAorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOgorYSkgU2VuZCBGbG93IG1vZCBtZXNzYWdlIHdpdGhvdXQgYW55IGFjdGlvbiBzcGVjaWZpZWQKK2IpIFNlbmQgTiBwYWNrZXRzIG1hdGNoaW5nIHRoZSBmbG93IAorYykgVmVyaWZ5IHBhY2tldHMgYXJlIG5vdCByZWNlaXZlZCBvbiBhbnkgb2YgdGhlIGRhdGFwbGFuZSBwb3J0cyAKK2QpIFZlcmlmeSBwYWNrZXRzIGFyZSBub3QgZXZlbiBzZW50IHRvIHRoZSBjb250cm9sbGVyCisKKzIuICBHZXQgc3VwcG9ydGVkIGFjdGlvbnMgZnJvbSBzd2l0Y2gKKworVGVzdCBEZXNjcmlwdGlvbjogR2V0IHRoZSBzdXBwb3J0ZWQgYWN0aW9ucyBmcm9tIHN3aXRjaCBhbmQgbWFrZSBzYW5pdHkgY2hlY2tzLgorV2hlbiBjb25uZWN0aW5nIHRvIHRoZSBjb250cm9sbGVyLCBhIHN3aXRjaCBpbmRpY2F0ZSB3aGljaCBvZiB0aGUgk09wdGlvbmFsIEFjdGlvbnOUIGl0IHN1cHBvcnRzCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGFubm91bmNlbWVudAorUG9ydHM6IDEgKENvbnRyb2wgUGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKyAgICAgICAKK1Rlc3QgTm90ZXM6IAorYSkgU2VuZCBmZWF0dXJlc19yZXF1ZXN0IC4KK2IpIFZlcmlmeSByZXNwb25zZSBpcyBPRlBUX0ZFQVRVUkVTX1JFUExZCitjKSBWZXJpZnkgcmVwbHkgaGFzIHN1cHBvcnRlZCBhY3Rpb24gbGlzdCBzcGVjaWZpZWQKKworCisKKzMuIEZvcndhcmQgQWxsCisKK1Rlc3QgRGVzY3JpcHRpb246IFBhY2tldCBpcyBzZW50IHRvIGFsbCBkYXRhcGxhbmUgcG9ydHMgZXhjZXB0IGluZ3Jlc3MgcG9ydCB3aGVuIG91dHB1dCBhY3Rpb24ucG9ydCA9IE9GUFBfQUxMCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGZvcndhcmRfYWxsCitQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKKyAgICAgICAKK1Rlc3QgTm90ZXM6IAorCisgICBhKSBJbnN0YWxsIGEgZmxvdyB3aXRoIG91dHB1dCBhY3Rpb24ucG9ydCA9IE9GUFBfQUxMLgorICAgYikgVmVyaWZ5IHBhY2tldHMgYXJlIGZvcndhcmRlZCB0byBhbGwgcG9ydHMgZXhjZXB0IGluZ3Jlc3MgcG9ydC4KKworCis0LiBGb3J3YXJkIENvbnRyb2xsZXIgCitUZXN0IERlc2NyaXB0aW9uOiBQYWNrZXQgaXMgc2VudCB0byBjb250cm9sbGVyIG91dHB1dC5wb3J0ID0gT0ZQUF9DT05UUk9MTEVSCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGZvcndhcmRfY29udHJvbGxlcgorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCisgICAgICAgCitUZXN0IE5vdGVzOiAKKworYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiBvdXRwdXQgcG9ydCA9IE9GUFBfQ09OVFJPTExFUgorYikgU2VuZCBwYWNrZXRzIG1hdGNoaW5nIHRoZSBmbG93CitjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIG9uIHRoZSBjb250cm9sIHBsYW5lIGFzIGEgcGFja2V0X2luIG1lc3NhZ2UKKworCis1LiBGb3J3YXJkIExvY2FsIChUQkQgliBWZXJpZmljYXRpb24gb2YgcGFja2V0IGJlaW5nIHJlY2VpdmVkIGF0IGxvY2FsIG5ldHdvcmtpbmcgc3RhY2spCisKK1Rlc3QgRGVzY3JpcHRpb246IFBhY2tldCBpcyBzZW50IHRvIHN3aXRjaJJzIGxvY2FsIG5ldHdvcmtpbmcgc3RhY2sgaWYgb3V0cHV0LnBvcnQgPSBPRlBQX0xPQ0FMCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGZvcndhcmRfbG9jYWwKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBNYW5kYXRvcnkKKworICAgICAgIAorVGVzdCBOb3RlczogCisKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gb3V0cHV0IHBvcnQgPSBPRlBQX0xPQ0FMCitiKSBTZW5kIHBhY2tldHMgbWF0Y2hpbmcgdGhlIGZsb3cKK2MpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaW4gdGhlIHN3aXRjaJJzIGxvY2FsIG5ldHdvcmtpbmcgc3RhY2suCisKKzYuIEZvcndhcmQgVGFibGUKKworVGVzdCBEZXNjcmlwdGlvbjogUGVyZm9ybSBhY3Rpb25zIGluIGZsb3cgdGFibGUuIE9ubHkgZm9yIHBhY2tldC1vdXQgbWVzc2FnZXMuCitJZiB0aGUgb3V0cHV0IGFjdGlvbi5wb3J0IGluIHRoZSBwYWNrZXRvdXQgbWVzc2FnZSA9IE9GUC5UQUJMRSwgdGhlbiB0aGUgcGFja2V0IGltcGxlbWVudHMgdGhlIGFjdGlvbiBzcGVjaWZpZWQgaW4gdGhlIG1hdGNoaW5nIGZsb3cgb2YgdGhlIEZMT1ctVEFCTEUKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiAgZm9yd2FyZF90YWJsZQorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE1hbmRhdG9yeQorCitUZXN0IE5vdGVzOiAKKworYSkgSW5zZXJ0IGEgZmxvdyBGIHdpdGggYWN0aW9uIG91dHB1dC5wb3J0ID0gZWdyZXNzX3BvcnQKK2IpIFNlbmQgYSBPRlBUX1BBQ0tFVF9PVVQgbWVzc2FnZSB3aXRoIG91dCBwb3J0PU9GUFBfVEFCTEUgbWF0Y2hpbmcgZmxvdyBGIAorYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBvbiBlZ3Jlc3NfcG9ydCAoaS5lIHBhY2tldG91dCBtZXNzYWdlIGltcGxlbWVudGVkIHRoZSBhY3Rpb24gc3BlY2lmaWVkIGluIHRoZSBtYXRjaGluZyBmbG93IG9mIHRoZSBUYWJsZSkKKworCis3LiBGb3J3YXJkIEluIFBvcnQKKworVGVzdCBEZXNjcmlwdGlvbjogUGFja2V0IGlzIHNlbnQgdG8gaW5wdXQgcG9ydCBpZiBvdXRwdXQucG9ydCA9IE9GUFBfSU5QT1JUCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIGZvcndhcmRfaW5wb3J0CitQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAorVGVzdC1GaWVsZDogTWFuZGF0b3J5CisKK1Rlc3QgTm90ZXM6IAorCithKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uIG91dHB1dCBwb3J0ID0gT0ZQUF9JTlBPUlQKK2IpIFNlbmQgcGFja2V0cyBtYXRjaGluZyB0aGUgZmxvdworYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBvbiBhbGwgZGF0YXBsYW5lIHBvcnRzIGV4Y2VwdCBmb3IgaW5wdXQgcG9ydAorCisKKzguIEZvcndhcmQgRmxvb2QKKworVGVzdCBEZXNjcmlwdGlvbjogRkxPT0Q6IEZsb29kIHRoZSBwYWNrZXQgYWxvbmcgdGhlIG1pbmltdW0gc3Bhbm5pbmcgdHJlZSwgbm90IGluY2x1ZGluZyB0aGUgaW5jb21pbmcgaW50ZXJmYWNlLiAKK1BhY2tldCBpcyBzZW50IGFsbCB0aGUgZGF0YXBsYW5lIHBvcnRzIGV4Y2VwdCB0aGUgaW5wdXQgcG9ydCBpZiBvdXRwdXQucG9ydCA9IE9GUFBfRkxPT0QKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiAgZm9yd2FyZF9mbG9vZAorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE9wdGlvbmFsCisKK1Rlc3QgTm90ZXM6IAorCithKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uIG91dHB1dCBwb3J0ID0gT0ZQUF9GTE9PRAorYikgU2VuZCBwYWNrZXRzIG1hdGNoaW5nIHRoZSBmbG93CitjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIG9uIGFsbCBkYXRhcGxhbmUgcG9ydHMgZXhjZXB0IGZvciBpbnB1dCBwb3J0CisKKzkuIE11bHRpcGxlIFBvcnRzIC0tIFRCRAorCisxMC4gRm9yd2FyZCBFbnF1ZXVlIC0tLSBUQkQKKworCisxMS4gU2V0IFZMQU4gSWQKKworVGVzdCBEZXNjcmlwdGlvbjogQXR0YWNoIFZMQU4gSUQgdG8gdW50YWdnZWQgcGFja2V0CitJZiBubyBWTEFOIGlzIHByZXNlbnQsIGEgbmV3IGhlYWRlciBpcyBhZGRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgVkxBTiBJRCBhbmQgcHJpb3JpdHkgb2YgemVyby4KK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiAgYWRkX3ZsYW5faWQKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBPcHRpb25hbAorCisgICAgICAgCitUZXN0IE5vdGVzOiAKKworYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiA9IE9GUEFUX1NFVF9WTEFOX1ZJRCAsIHZsYW5fdmlkID0geCAKK2IpIFNlbmQgcGFja2V0IChsZW5ndGggPSAxMDAgYnl0ZXMpIG1hdGNoaW5nIHRoZSBmbG93CitiKSAgIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHZsYW4gaWQgYWRkZWQgdG8gaXQuIChJLmUgbGVuZ3RoIG9mIHBhY2tldCB3aXRoIHZpZCBpcyAxMDQgYnl0ZXMsIGRsX3ZsYW5fZW5hYmxlID0gVHJ1ZSwgZGxfdmxhbj0geCwgZGxfdmxhbl9wY3A9MCkgIAorICAgCisxMi4gTW9kaWZ5IFZMQU4gSWQKKworVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZpZXMgVmxhbiBUYWcgZm9yIGEgdGFnZ2VkIHBhY2tldAorSWYgYSBWTEFOIGhlYWRlciBhbHJlYWR5IGV4aXN0cywgdGhlIFZMQU4gSUQgaXMgcmVwbGFjZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHZhbHVlCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG1vZGlmeV92bGFuX2lkCitQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAorVGVzdC1GaWVsZDogT3B0aW9uYWwKKworICAgICAgIAorVGVzdCBOb3RlczogCithKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uID0gT0ZQQVRfU0VUX1ZMQU5fVklEICwgdmxhbl92aWQgPSB4IAorYikgICBTZW5kIHBhY2tldCAobGVuZ3RoID0gMTAwIGJ5dGVzKSBtYXRjaGluZyB0aGUgZmxvdworYykgICBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGhhcyB2bGFuIGlkIHJld3JpdHRlbi4gKEkuZSBsZW5ndGggb2YgMTA0IGJ5dGVzLCBkbF92bGFuX2VuYWJsZSA9IFRydWUsIGRsX3ZsYW49eCkgIAorCisKKzEzLiBBZGQgVkxBTiBQcmlvcml0eSB0byBhbiB1bnRhZ2dlZCBwYWNrZXQKKworVGVzdCBEZXNjcmlwdGlvbjogQXR0YWNoIFZMQU4gcHJpb3JpdHkgdG8gYW4gdW50YWdnZWQgcGFja2V0LgorU2luY2UsIG5vIFZMQU4gSUQgaXMgcHJlc2VudDsgYSBuZXcgaGVhZGVyIGlzIGFkZGVkIHdpdGggdGhlIHNwZWNpZmllZCBwcmlvcml0eSBhbmQgYSBWTEFOIElEIG9mIHplcm8uCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIHZsYW5fcHJpb191bnRhZ2dlZAorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE9wdGlvbmFsCisKKyAgICAgICAKK1Rlc3QgTm90ZXM6IAorCithKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uID0gT0ZQQVRfU0VUX1ZMQU5fUENQICwgZGxfdmxhbl9wY3AgPXgKK2IpIFNlbmQgdW50YWdnZWQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAKK2MpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHZsYW4gcHJpb3JpdHkgYWRkZWQgdG8gaXQgYWxvbmcgd2l0aCBhIHZpZCB2YWx1ZSBvZiB6ZXJvIGFkZGVkIGJ5IGRlZmF1bHQgICAoZGxfdmxhbl9lbmFibGUgLCBkbF92bGFuID0gMCAsIGRsX3ZsYW5fcGNwID14ICkKKworMTQuIFJld3JpdGUgZXhpc3RpbmcgVkxBTiBwcmlvcml0eQorCitUZXN0IERlc2NyaXB0aW9uOiBNb2RpZnkgVkxBTiBwcmlvcml0eSBmb3IgYSB0YWdnZWQgcGFja2V0LgorVGVzdCBtb2RlOiBBdXRvbWF0ZWQKK1Rlc3QgVGl0bGU6ICBtb2RpZnlfdmxhbl9wcmlvCitQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQorSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAorVGVzdC1GaWVsZDogT3B0aW9uYWwKKworICAgICAgIAorVGVzdCBOb3RlczogCisKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfVkxBTl9QQ1AgLCBkbF92bGFuX3BjcCA9bmV3X3ZsYW5fcGNwCitiKSBTZW5kIHRhZ2dlZCBwYWNrZXQgbWF0Y2hpbmcgdGhlIGZsb3cgIChkbF92bGFuID0gb2xkX3ZsYW5faWQgLCBkbF92bGFuX3BjcCA9IG9sZF92bGFuX3BjcCkKK2MpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHZsYW4gaWQgYWRkZWQgdG8gaXQuIChkbF92bGFuX2VuYWJsZSAsIGRsX3ZsYW4gPSAwICwgZGxfdmxhbl9wY3AgPSBuZXdfdmxhbl9wY3ApCisKKworCisKKzE1LiBNb2RpZnkgTDIgU3JjIEFkZHJlc3MKKworVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IEV0aGVybmV0IFNyYyBBZGRyZXNzIG9mIGEgcGFja2V0CitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG1vZGlmeV9sMl9zcmMKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBPcHRpb25hbAorCisgICAgICAgCitUZXN0IE5vdGVzOiAKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfRExfU1JDICwgZGxfc3JjID1uZXdfZGxfc3JjCitiKSBTZW5kIHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyAgKGRsX2RzdCA9IG9sZF9kbF9zcmMgKQorYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBoYXMgc3JjIGFkZHJlc3MgcmV3cml0dGVuLiAoZGxfc3JjPSBuZXdfZGxfc3JjKQorCisKKworMTYuIE1vZGlmeSBMMiBEZXN0aW5hdGlvbiBBZGRyZXNzCisKK1Rlc3QgRGVzY3JpcHRpb246IE1vZGlmeSBFdGhlcm5ldCBEZXN0aW5hdGlvbiBBZGRyZXNzIG9mIGEgcGFja2V0CitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG1vZGlmeV9sMl9kc3QKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBPcHRpb25hbAorCisgICAgICAgCitUZXN0IE5vdGVzOiAKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfRExfRFNUICwgZGxfZHN0ID1uZXdfZGxfZHN0CitiKSBTZW5kIHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyAgKGRsX2RzdCA9IG9sZF9kbF9zcmMgKQorYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBoYXMgZGVzdGluYXRpb24gYWRkcmVzcyByZXdyaXR0ZW4uIChkbF9zcmM9IG5ld19kbF9zcmMpCisKKzE3LiBTdHJpcCBWTEFOIGhlYWRlciCWIChJbiBvZnRlc3QsICBuZWVkIHRvIGFkZCBpbiBjb25mb3JtYW5jZSB0ZXN0LXN1aXRlICkKKworCisxOC4gTW9kaWZ5IEwzIFNyYyBBZGRyZXNzCisKK1Rlc3QgRGVzY3JpcHRpb246IE1vZGlmeSBOZXR3b3JrIFNyYyBBZGRyZXNzIG9mIGEgcGFja2V0CitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG1vZGlmeV9sM19zcmMKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBPcHRpb25hbAorCisgICAgICAgCitUZXN0IE5vdGVzOiAKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfTldfU1JDICwgbndfc3JjID1uZXdfbndfc3JjCitiKSBTZW5kIHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyAgKG53X3NyYyA9IG9sZF9ud19zcmMgKQorYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBoYXMgbncgYWRkcmVzcyByZXdyaXR0ZW4uIChud19zcmM9IG5ld19ud19zcmMpCisKKworCisKKworCisKKzE5LiBNb2RpZnkgTDMgRHN0IEFkZHJlc3MKKworVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IE5ldHdvcmsgRHN0IEFkZHJlc3Mgb2YgYSBwYWNrZXQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiAgbW9kaWZ5X2wzX2RzdAorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE9wdGlvbmFsCisKKyAgICAgICAKK1Rlc3QgTm90ZXM6IAorYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiA9IE9GUEFUX1NFVF9OV19EU1QgLCBud19kc3QgPW5ld19ud19kc3QKK2IpIFNlbmQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAobndfZHN0ID0gb2xkX253X2RzdCApCitjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGhhcyBudyBkZXN0aW5hdGlvbiBhZGRyZXNzIHJld3JpdHRlbi4gKG53X2RzdD0gbmV3X253X2RzdCkKKworCisKKworMjAuIE1vZGlmeSBMNCBTcmMgQWRkcmVzcworCitUZXN0IERlc2NyaXB0aW9uOiBNb2RpZnkgVENQIFNvdXJjZSBQb3J0IG9mIGEgcGFja2V0CitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG1vZGlmeV9sNF9zcmMKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBPcHRpb25hbAorCisgICAgICAgCitUZXN0IE5vdGVzOiAKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfVFBfU1JDICwgdGNwX3Nwb3J0ID1uZXdfdGNwX3Nwb3J0CitiKSBTZW5kIHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyAgKHRjcF9zcG9ydCA9IG9sZF90Y3Bfc3BvcnQgKQorYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBoYXMgdGNwIHNvdXJjZSBwb3J0IHJld3JpdHRlbi4gKHRjcF9zcG9ydCA9IG5ld190Y3Bfc3BvcnQpCisKKworMjEuIE1vZGlmeSBMNCBEc3QgQWRkcmVzcworCitUZXN0IERlc2NyaXB0aW9uOiBNb2RpZnkgVENQIERlc3RpbmF0aW9uIFBvcnQgb2YgYSBwYWNrZXQKK1Rlc3QgbW9kZTogQXV0b21hdGVkCitUZXN0IFRpdGxlOiAgbW9kaWZ5X2w0X2RzdAorUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKK0luaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKK1Rlc3QtRmllbGQ6IE9wdGlvbmFsCisKKyAgICAgICAKK1Rlc3QgTm90ZXM6IAorYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiA9IE9GUEFUX1NFVF9UUF9EU1QgLCB0Y3BfZHBvcnQgPW5ld190Y3BfZHBvcnQKK2IpIFNlbmQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAodGNwX2Rwb3J0ID0gb2xkX3RjcF9kcG9ydCApCitjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGhhcyB0Y3AgZGVzdGluYXRpb24gcG9ydCByZXdyaXR0ZW4uICh0Y3Bfc3BvcnQgPSBuZXdfdGNwX3Nwb3J0KQorCisKKworMjIuIE1vZGlmeSBUT1MKKworVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IE5ldHdvcmsgVHlwZSBvZiBzZXJ2aWNlCitUZXN0IG1vZGU6IEF1dG9tYXRlZAorVGVzdCBUaXRsZTogIG1vZGlmeV90b3MKK1BvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCitJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCitUZXN0LUZpZWxkOiBPcHRpb25hbAorCisgICAgICAgCitUZXN0IE5vdGVzOiAKK2EpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfTldfVE9TLCBpcF90b3MgPW5ld19pcF90b3MKK2IpIFNlbmQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAoaXBfdG9zPSBvbGRfaXBfdG9zKQorYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBoYXMgdGNwIGRlc3RpbmF0aW9uIHBvcnQgcmV3cml0dGVuLiAoaXBfdG9zPSBuZXdfaXBfdG9zKQorCisKKzIzLiBPcmRlciBOb3QgcG9zc2libGUgIC0tIFRCRAorCisyNC4gU2VxdWVudGlhbCBleGVjdXRpb24gIC0tIFRCRCAKKwo=