PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8IS0tCiBJbnRlcm5ldCBFeHBsb3JlciBUZXN0IFBhZ2VzIENvcHlyaWdodCDCqSAyMDEyIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAogYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgoKIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mCiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCgogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YKIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCgogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgTWljcm9zb2Z0IENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUKIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIE1JQ1JPU09GVCBDT1JQT1JBVElPTiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgTUlDUk9TT0ZUIENPUlBPUkFUSU9OCiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotLT4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KICAgIDx0aXRsZT5DU1MgVGVzdDogT3JpZ2luYWwgYXNwZWN0IHJhdGlvIG9mIGltYWdlIGlzIG1haW50YWluZWQgd2hlbiCRYmFja2dyb3VuZC1zaXplOiBhdXRvkiBhbmQgkWJhY2tncm91bmQtcmVwZWF0OiByb3VuZCc8L3RpdGxlPgogICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQiIGhyZWY9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS8iIC8+CiAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYmFja2dyb3VuZC8jdGhlLWJhY2tncm91bmQtc2l6ZSIgLz4KICAgIDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSIiIC8+CiAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IklmICdiYWNrZ3JvdW5kLXJlcGVhdCcgaXMgJ3JvdW5kJyBmb3Igb25lIGRpbWVuc2lvbiBvbmx5IGFuZCBpZiAnYmFja2dyb3VuZC1zaXplJyBpcyAnYXV0bycgaW4gdGhlIG90aGVyIGRpbWVuc2lvbiwgdGhlbiB0aGUgb3RoZXIgZGltZW5zaW9uIGlzIHNjbGFlZCBzbyB0aGF0IHRoZSBvcmlnaW5hbCBhc3BlY3QgcmF0aW8gaXMgcmVzdG9yZWQuIiAvPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAucmVmZXJlbmNlCiAgICAgICAgewogICAgICAgICAgICB3aWR0aDogMWluOwogICAgICAgICAgICBoZWlnaHQ6IDFpbjsKICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCIuLi9zdXBwb3J0L2NhdC5wbmciKSBuby1yZXBlYXQ7CiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogODBweCA4MHB4OwogICAgICAgIH0KICAgICAgICAudGVzdDEKICAgICAgICB7CiAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDsKICAgICAgICAgICAgYm9yZGVyOiB0aGljayBzb2xpZCBibGFjazsKICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9zdXBwb3J0L2NhdC5wbmciKTsKICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJvdW5kIG5vLXJlcGVhdDsKICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5OXB4IGF1dG87CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgfQogICAgICAgIC50ZXN0MgogICAgICAgIHsKICAgICAgICAgICAgd2lkdGg6IDE1MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgICAgICBib3JkZXI6IHRoaWNrIHNvbGlkIGJsYWNrOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL3N1cHBvcnQvY2F0LnBuZyIpOwogICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0IHJvdW5kOwogICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gOTlweDsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgogICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgYXJlIGZpdmUgdW5jbGlwcGVkIGNhdHMgaW4gZWFjaCBvZiB0aGUgdHdvIGJveGVzLCBhbmQgaWYgYWxsIHRoZSBjYXRzIG9uIHRoZSBwYWdlIGFyZSB0aGUgc2FtZSBzaXplLjwvcD4KICAgIDxkaXYgY2xhc3M9InJlZmVyZW5jZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ0ZXN0MSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ0ZXN0MiI+PC9kaXY+CjwvYm9keT4KPC9odG1sPgo=