JWdsb2JhbCBWRVJTSU9OICBAUEFDS0FHRV9WRVJTSU9OQAolZ2xvYmFsIFBhdGNobGV2ZWwgIEBQQUNLQUdFX1JFTEVBU0VACgoKTmFtZTogICAgICAgICAgIEBQQUNLQUdFX05BTUVAClZlcnNpb246ICAgICAgICAle1ZFUlNJT059ClJlbGVhc2U6ICAgICAgICAle1BhdGNobGV2ZWx9ClN1bW1hcnk6ICAgICAgICBVc2UgSW1hZ2VNYWdpY2sgdG8gY29udmVydCwgZWRpdCwgb3IgY29tcG9zZSBiaXRtYXAgaW1hZ2VzIGluIGEgdmFyaWV0eSBvZiBmb3JtYXRzLiAgSW4gYWRkaXRpb24gcmVzaXplLCByb3RhdGUsIHNoZWFyLCBkaXN0b3J0IGFuZCB0cmFuc2Zvcm0gaW1hZ2VzLgpHcm91cDogICAgICAgICAgQXBwbGljYXRpb25zL011bHRpbWVkaWEKTGljZW5zZTogICAgICAgIGh0dHA6Ly93d3cuaW1hZ2VtYWdpY2sub3JnL3NjcmlwdC9saWNlbnNlLnBocApVcmw6ICAgICAgICAgICAgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmcvClNvdXJjZTA6ICAgICAgICBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy9kb3dubG9hZC8le25hbWV9LyV7bmFtZX0tJXtWRVJTSU9OfS0le1BhdGNobGV2ZWx9LnRhci5iejIKClJlcXVpcmVzOiAgICAgICAle25hbWV9LWxpYnMgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KCkJ1aWxkUm9vdDogICAgICAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQpCdWlsZFJlcXVpcmVzOiAgYnppcDItZGV2ZWwsIGZyZWV0eXBlLWRldmVsLCBsaWJqcGVnLWRldmVsLCBsaWJwbmctZGV2ZWwKQnVpbGRSZXF1aXJlczogIGxpYnRpZmYtZGV2ZWwsIGdpZmxpYi1kZXZlbCwgemxpYi1kZXZlbCwgcGVybC1kZXZlbCA+PSA1LjguMQpCdWlsZFJlcXVpcmVzOiAgZ2hvc3RzY3JpcHQtZGV2ZWwsIGRqdnVsaWJyZS1kZXZlbApCdWlsZFJlcXVpcmVzOiAgbGlid21mLWRldmVsLCBqYXNwZXItZGV2ZWwsIGxpYnRvb2wtbHRkbC1kZXZlbApCdWlsZFJlcXVpcmVzOiAgbGliWDExLWRldmVsLCBsaWJYZXh0LWRldmVsLCBsaWJYdC1kZXZlbApCdWlsZFJlcXVpcmVzOiAgbGNtczItZGV2ZWwsIGxpYnhtbDItZGV2ZWwsIGxpYnJzdmcyLWRldmVsLCBPcGVuRVhSLWRldmVsCkJ1aWxkUmVxdWlyZXM6ICBmZnR3LWRldmVsLCBPcGVuRVhSLWRldmVsLCBsaWJ3ZWJwLWRldmVsCgolZGVzY3JpcHRpb24KSW1hZ2VNYWdpY2uuIGlzIGEgc29mdHdhcmUgc3VpdGUgdG8gY3JlYXRlLCBlZGl0LCBjb21wb3NlLCBvciBjb252ZXJ0IGJpdG1hcCBpbWFnZXMuIEl0IGNhbiByZWFkIGFuZCB3cml0ZSBpbWFnZXMgaW4gYSB2YXJpZXR5IG9mIGZvcm1hdHMgKG92ZXIgMjAwKSBpbmNsdWRpbmcgUE5HLCBKUEVHLCBKUEVHLTIwMDAsIEdJRiwgVElGRiwgRFBYLCBFWFIsIFdlYlAsIFBvc3RzY3JpcHQsIFBERiwgYW5kIFNWRy4gVXNlIEltYWdlTWFnaWNrIHRvIHJlc2l6ZSwgZmxpcCwgbWlycm9yLCByb3RhdGUsIGRpc3RvcnQsIHNoZWFyIGFuZCB0cmFuc2Zvcm0gaW1hZ2VzLCBhZGp1c3QgaW1hZ2UgY29sb3JzLCBhcHBseSB2YXJpb3VzIHNwZWNpYWwgZWZmZWN0cywgb3IgZHJhdyB0ZXh0LCBsaW5lcywgcG9seWdvbnMsIGVsbGlwc2VzIGFuZCBC6XppZXIgY3VydmVzLgoKVGhlIGZ1bmN0aW9uYWxpdHkgb2YgSW1hZ2VNYWdpY2sgaXMgdHlwaWNhbGx5IHV0aWxpemVkIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciB5b3UgY2FuIHVzZSB0aGUgZmVhdHVyZXMgZnJvbSBwcm9ncmFtcyB3cml0dGVuIGluIHlvdXIgZmF2b3JpdGUgbGFuZ3VhZ2UuIENob29zZSBmcm9tIHRoZXNlIGludGVyZmFjZXM6IEcyRiAoQWRhKSwgTWFnaWNrQ29yZSAoQyksIE1hZ2lja1dhbmQgKEMpLCBDaE1hZ2ljayAoQ2gpLCBJbWFnZU1hZ2lja09iamVjdCAoQ09NKyksIE1hZ2ljaysrIChDKyspLCBKTWFnaWNrIChKYXZhKSwgTC1NYWdpY2sgKExpc3ApLCBMdWEgKEx1YUpJVCksIE5NYWdpY2sgKE5la28vaGFYZSksIE1hZ2ljay5ORVQgKC5ORVQpLCBQYXNjYWxNYWdpY2sgKFBhc2NhbCksIFBlcmxNYWdpY2sgKFBlcmwpLCBNYWdpY2tXYW5kIGZvciBQSFAgKFBIUCksIElNYWdpY2sgKFBIUCksIFB5dGhvbk1hZ2ljayAoUHl0aG9uKSwgUk1hZ2ljayAoUnVieSksIG9yIFRjbE1hZ2ljayAoVGNsL1RLKS4gV2l0aCBhIGxhbmd1YWdlIGludGVyZmFjZSwgdXNlIEltYWdlTWFnaWNrIHRvIG1vZGlmeSBvciBjcmVhdGUgaW1hZ2VzIGR5bmFtaWNhbGx5IGFuZCBhdXRvbWFnaWNhbGx5LgoKSW1hZ2VNYWdpY2sgdXRpbGl6ZXMgbXVsdGlwbGUgY29tcHV0YXRpb25hbCB0aHJlYWRzIHRvIGluY3JlYXNlIHBlcmZvcm1hbmNlIGFuZCBjYW4gcmVhZCwgcHJvY2Vzcywgb3Igd3JpdGUgbWVnYS0sIGdpZ2EtLCBvciB0ZXJhLXBpeGVsIGltYWdlIHNpemVzLgoKSW1hZ2VNYWdpY2sgaXMgZnJlZSBzb2Z0d2FyZSBkZWxpdmVyZWQgYXMgYSByZWFkeS10by1ydW4gYmluYXJ5IGRpc3RyaWJ1dGlvbiBvciBhcyBzb3VyY2UgY29kZSB0aGF0IHlvdSBtYXkgdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIGluIGJvdGggb3BlbiBhbmQgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zLiBJdCBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgQXBhY2hlIDIuMCBsaWNlbnNlLgoKVGhlIEltYWdlTWFnaWNrIGRldmVsb3BtZW50IHByb2Nlc3MgZW5zdXJlcyBhIHN0YWJsZSBBUEkgYW5kIEFCSS4gQmVmb3JlIGVhY2ggSW1hZ2VNYWdpY2sgcmVsZWFzZSwgd2UgcGVyZm9ybSBhIGNvbXByZWhlbnNpdmUgc2VjdXJpdHkgYXNzZXNzbWVudCB0aGF0IGluY2x1ZGVzIG1lbW9yeSBlcnJvciBhbmQgdGhyZWFkIGRhdGEgcmFjZSBkZXRlY3Rpb24gdG8gcHJldmVudCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuCgpUaGUgYXV0aG9yaXRhdGl2ZSBJbWFnZU1hZ2ljayB3ZWIgc2l0ZSBpcyBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy4gVGhlIGF1dGhvcml0YXRpdmUgc291cmNlIGNvZGUgcmVwb3NpdG9yeSBpcyBodHRwOi8vZ2l0LmltYWdlbWFnaWNrLm9yZy9yZXBvcy9JbWFnZU1hZ2ljay4gV2UgbWFpbnRhaW4gYSBzb3VyY2UgY29kZSBtaXJyb3IgYXQgR2l0SHViLgoKJXBhY2thZ2UgZGV2ZWwKU3VtbWFyeTogTGlicmFyeSBsaW5rcyBhbmQgaGVhZGVyIGZpbGVzIGZvciBJbWFnZU1hZ2ljayBhcHBsaWNhdGlvbiBkZXZlbG9wbWVudApHcm91cDogRGV2ZWxvcG1lbnQvTGlicmFyaWVzClJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9ClJlcXVpcmVzOiBsaWJYMTEtZGV2ZWwsIGxpYlhleHQtZGV2ZWwsIGxpYlh0LWRldmVsLCBnaG9zdHNjcmlwdC1kZXZlbApSZXF1aXJlczogYnppcDItZGV2ZWwsIGZyZWV0eXBlLWRldmVsLCBsaWJ0aWZmLWRldmVsLCBsaWJqcGVnLWRldmVsLCBsY21zMi1kZXZlbApSZXF1aXJlczogbGlid2VicC1kZXZlbCwgT3BlbkVYUi1kZXZlbCwgamFzcGVyLWRldmVsLCBwa2djb25maWcKUmVxdWlyZXM6ICV7bmFtZX0tbGlicyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQoKJWRlc2NyaXB0aW9uIGRldmVsCkltYWdlTWFnaWNrLWRldmVsIGNvbnRhaW5zIHRoZSBsaWJyYXJ5IGxpbmtzIGFuZCBoZWFkZXIgZmlsZXMgeW91J2xsCm5lZWQgdG8gZGV2ZWxvcCBJbWFnZU1hZ2ljayBhcHBsaWNhdGlvbnMuIEltYWdlTWFnaWNrIGlzIGFuIGltYWdlCm1hbmlwdWxhdGlvbiBwcm9ncmFtLgoKSWYgeW91IHdhbnQgdG8gY3JlYXRlIGFwcGxpY2F0aW9ucyB0aGF0IHdpbGwgdXNlIEltYWdlTWFnaWNrIGNvZGUgb3IKQVBJcywgeW91IG5lZWQgdG8gaW5zdGFsbCBJbWFnZU1hZ2ljay1kZXZlbCBhcyB3ZWxsIGFzIEltYWdlTWFnaWNrLgpZb3UgZG8gbm90IG5lZWQgdG8gaW5zdGFsbCBpdCBpZiB5b3UganVzdCB3YW50IHRvIHVzZSBJbWFnZU1hZ2ljaywKaG93ZXZlci4KCiVwYWNrYWdlIGxpYnMKU3VtbWFyeTogSW1hZ2VNYWdpY2sgbGlicmFyaWVzIHRvIGxpbmsgd2l0aApHcm91cDogQXBwbGljYXRpb25zL011bHRpbWVkaWEKCiVkZXNjcmlwdGlvbiBsaWJzClRoaXMgcGFja2FnZXMgY29udGFpbnMgYSBzaGFyZWQgbGlicmFyaWVzIHRvIHVzZSB3aXRoaW4gb3RoZXIgYXBwbGljYXRpb25zLgoKJXBhY2thZ2UgZGp2dQpTdW1tYXJ5OiBEalZ1IHBsdWdpbiBmb3IgSW1hZ2VNYWdpY2sKR3JvdXA6IEFwcGxpY2F0aW9ucy9NdWx0aW1lZGlhClJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CgolZGVzY3JpcHRpb24gZGp2dQpUaGlzIHBhY2thZ2VzIGNvbnRhaW5zIGEgcGx1Z2luIGZvciBJbWFnZU1hZ2ljayB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0bwpzYXZlIGFuZCBsb2FkIERqdlUgZmlsZXMgZnJvbSBJbWFnZU1hZ2ljayBhbmQgbGliTWFnaWNrQ29yZSB1c2luZyBhcHBsaWNhdGlvbnMuCgoKJXBhY2thZ2UgZG9jClN1bW1hcnk6IEltYWdlTWFnaWNrIEhUTUwgZG9jdW1lbnRhdGlvbgpHcm91cDogRG9jdW1lbnRhdGlvbgoKJWRlc2NyaXB0aW9uIGRvYwpJbWFnZU1hZ2ljayBkb2N1bWVudGF0aW9uLCB0aGlzIHBhY2thZ2UgY29udGFpbnMgdXNhZ2UgKGZvciB0aGUKY29tbWFuZGxpbmUgdG9vbHMpIGFuZCBBUEkgKGZvciB0aGUgbGlicmFyaWVzKSBkb2N1bWVudGF0aW9uIGluIEhUTUwgZm9ybWF0LgpOb3RlIHRoaXMgZG9jdW1lbnRhdGlvbiBjYW4gYWxzbyBiZSBmb3VuZCBvbiB0aGUgSW1hZ2VNYWdpY2sgd2Vic2l0ZToKaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmcvLgoKCiVwYWNrYWdlIHBlcmwKU3VtbWFyeTogSW1hZ2VNYWdpY2sgcGVybCBiaW5kaW5ncwpHcm91cDogU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwpSZXF1aXJlczogJXtuYW1lfSA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQpSZXF1aXJlczogcGVybCg6TU9EVUxFX0NPTVBBVF8lKGV2YWwgImAle19fcGVybH0gLVY6dmVyc2lvbmAiOyBlY2hvICR2ZXJzaW9uKSkKCgolZGVzY3JpcHRpb24gcGVybApQZXJsIGJpbmRpbmdzIHRvIEltYWdlTWFnaWNrLgoKSW5zdGFsbCBJbWFnZU1hZ2ljay1wZXJsIGlmIHlvdSB3YW50IHRvIHVzZSBhbnkgcGVybCBzY3JpcHRzIHRoYXQgdXNlCkltYWdlTWFnaWNrLgoKCiVwYWNrYWdlIGMrKwpTdW1tYXJ5OiBJbWFnZU1hZ2ljayBNYWdpY2srKyBsaWJyYXJ5IChDKysgYmluZGluZ3MpCkdyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzClJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CgolZGVzY3JpcHRpb24gYysrClRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgTWFnaWNrKysgbGlicmFyeSwgYSBDKysgYmluZGluZyB0byB0aGUgSW1hZ2VNYWdpY2sKZ3JhcGhpY3MgbWFuaXB1bGF0aW9uIGxpYnJhcnkuCgpJbnN0YWxsIEltYWdlTWFnaWNrLWMrKyBpZiB5b3Ugd2FudCB0byB1c2UgYW55IGFwcGxpY2F0aW9ucyB0aGF0IHVzZSBNYWdpY2srKy4KCgolcGFja2FnZSBjKystZGV2ZWwKU3VtbWFyeTogQysrIGJpbmRpbmdzIGZvciB0aGUgSW1hZ2VNYWdpY2sgbGlicmFyeQpHcm91cDogRGV2ZWxvcG1lbnQvTGlicmFyaWVzClJlcXVpcmVzOiAle25hbWV9LWMrKyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQpSZXF1aXJlczogJXtuYW1lfS1kZXZlbCA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQoKJWRlc2NyaXB0aW9uIGMrKy1kZXZlbApJbWFnZU1hZ2ljay1kZXZlbCBjb250YWlucyB0aGUgc3RhdGljIGxpYnJhcmllcyBhbmQgaGVhZGVyIGZpbGVzIHlvdSdsbApuZWVkIHRvIGRldmVsb3AgSW1hZ2VNYWdpY2sgYXBwbGljYXRpb25zIHVzaW5nIHRoZSBNYWdpY2srKyBDKysgYmluZGluZ3MuCkltYWdlTWFnaWNrIGlzIGFuIGltYWdlIG1hbmlwdWxhdGlvbiBwcm9ncmFtLgoKSWYgeW91IHdhbnQgdG8gY3JlYXRlIGFwcGxpY2F0aW9ucyB0aGF0IHdpbGwgdXNlIE1hZ2ljaysrIGNvZGUKb3IgQVBJcywgeW91J2xsIG5lZWQgdG8gaW5zdGFsbCBJbWFnZU1hZ2ljay1jKystZGV2ZWwsIEltYWdlTWFnaWNrLWRldmVsIGFuZApJbWFnZU1hZ2ljay4KCllvdSBkb24ndCBuZWVkIHRvIGluc3RhbGwgaXQgaWYgeW91IGp1c3Qgd2FudCB0byB1c2UgSW1hZ2VNYWdpY2ssIG9yIGlmIHlvdQp3YW50IHRvIGRldmVsb3AvY29tcGlsZSBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlIEltYWdlTWFnaWNrIEMgaW50ZXJmYWNlLApob3dldmVyLgoKCiVwcmVwCiVzZXR1cCAtcSAtbiAle25hbWV9LSV7VkVSU0lPTn0tJXtQYXRjaGxldmVsfQpzZWQgLWkgJ3MvbGlibHRkbC5sYS9saWJsdGRsLnNvL2cnIGNvbmZpZ3VyZQppY29udiAtZiBJU08tODg1OS0xIC10IFVURi04IFJFQURNRS50eHQgPiBSRUFETUUudHh0LnRtcAp0b3VjaCAtciBSRUFETUUudHh0IFJFQURNRS50eHQudG1wCm12IFJFQURNRS50eHQudG1wIFJFQURNRS50eHQKIyBmb3IgJSVkb2MKbWtkaXIgTWFnaWNrKysvZXhhbXBsZXMKY3AgLXAgTWFnaWNrKysvZGVtby8qLmNwcCBNYWdpY2srKy9kZW1vLyoubWlmZiBNYWdpY2srKy9leGFtcGxlcwoKJWJ1aWxkCiVjb25maWd1cmUgLS1lbmFibGUtc2hhcmVkIFwKICAgICAgICAtLWRpc2FibGUtc3RhdGljIFwKICAgICAgICAtLXdpdGgtbW9kdWxlcyBcCiAgICAgICAgLS13aXRoLXBlcmwgXAogICAgICAgIC0td2l0aC14IFwKICAgICAgICAtLXdpdGgtdGhyZWFkcyBcCiAgICAgICAgLS13aXRoLW1hZ2lja19wbHVzX3BsdXMgXAogICAgICAgIC0td2l0aC1nc2xpYiBcCiAgICAgICAgLS13aXRoLXdtZiBcCiAgICAgICAgLS13aXRoLWxjbXMyIFwKICAgICAgICAtLXdpdGgtd2VicCBcCiAgICAgICAgLS13aXRoLW9wZW5leHIgXAogICAgICAgIC0td2l0aC1yc3ZnIFwKICAgICAgICAtLXdpdGgteG1sIFwKICAgICAgICAtLXdpdGgtcGVybC1vcHRpb25zPSJJTlNUQUxMRElSUz12ZW5kb3IgJXs/cGVybF9wcmVmaXh9IENDPSclX19jYyAtTCRQV0QvTWFnaWNrQ29yZS8ubGlicycgTERETEZMQUdTPSctc2hhcmVkIC1MJFBXRC9NYWdpY2tDb3JlLy5saWJzJyIgXAogICAgICAgIC0td2l0aG91dC1kcHMgCgojIERpc2FibGUgcnBhdGgKc2VkIC1pICdzfF5oYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPS4qfGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9IiJ8ZycgbGlidG9vbApzZWQgLWkgJ3N8XnJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRIfHJ1bnBhdGhfdmFyPURJRV9SUEFUSF9ESUV8ZycgbGlidG9vbAojIERvICpOT1QqIHVzZSAlJXs/X3NtcF9tZmxhZ3N9LCB0aGlzIGNhdXNlcyBQZXJsTWFnaWNrIHRvIGJlIHNpbGVudGx5IG1pc2J1aWxkCm1ha2UKCgolaW5zdGFsbApybSAtcmYgJXtidWlsZHJvb3R9CgptYWtlICV7P19zbXBfbWZsYWdzfSBpbnN0YWxsIERFU1RESVI9JXtidWlsZHJvb3R9IElOU1RBTEw9Imluc3RhbGwgLXAiCmNwIC1hIHd3dy9zb3VyY2UgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0vZG9jLyV7bmFtZX0tJXtWRVJTSU9OfQpybSAle2J1aWxkcm9vdH0le19saWJkaXJ9LyoubGEKCiMgZml4IHdlaXJkIHBlcmwgTWFnaWNrLnNvIHBlcm1pc3Npb25zCmNobW9kIDc1NSAle2J1aWxkcm9vdH0le3BlcmxfdmVuZG9yYXJjaH0vYXV0by9JbWFnZS9NYWdpY2svKi8qLnNvCgojIHBlcmxtYWdpY2s6IGZpeCBwZXJsIHBhdGggb2YgZGVtbyBmaWxlcwole19fcGVybH0gLU1FeHRVdGlsczo6TWFrZU1ha2VyIC1lICdNWS0+Zml4aW4oQEFSR1YpJyBQZXJsTWFnaWNrL2RlbW8vKi5wbAoKIyBwZXJsbWFnaWNrOiBjbGVhbnVwIHZhcmlvdXMgcGVybCB0ZW1wZmlsZXMgZnJvbSB0aGUgYnVpbGQgd2hpY2ggZ2V0IGluc3RhbGxlZApmaW5kICV7YnVpbGRyb290fSAtbmFtZSAiKi5icyIgfHhhcmdzIHJtIC1mCmZpbmQgJXtidWlsZHJvb3R9IC1uYW1lICIucGFja2xpc3QiIHx4YXJncyBybSAtZgpmaW5kICV7YnVpbGRyb290fSAtbmFtZSAicGVybGxvY2FsLnBvZCIgfHhhcmdzIHJtIC1mCgojIHBlcmxtYWdpY2s6IGJ1aWxkIGZpbGVzIGxpc3QKZWNobyAiJWRlZmF0dHIoLSxyb290LHJvb3QsLSkiID4gcGVybC1wa2ctZmlsZXMKZmluZCAle2J1aWxkcm9vdH0vJXtfbGliZGlyfS9wZXJsKiAtdHlwZSBmIC1wcmludCBcCiAgICAgICAgfCBzZWQgInNAXiV7YnVpbGRyb290fUBAZyIgPiBwZXJsLXBrZy1maWxlcyAKZmluZCAle2J1aWxkcm9vdH0le3BlcmxfdmVuZG9yYXJjaH0gLXR5cGUgZCAtcHJpbnQgXAogICAgICAgIHwgc2VkICJzQF4le2J1aWxkcm9vdH1AJWRpciBAZyIgXAogICAgICAgIHwgZ3JlcCAtdiAnXiVkaXIgJXtwZXJsX3ZlbmRvcmFyY2h9JCcgXAogICAgICAgIHwgZ3JlcCAtdiAnL2F1dG8kJyA+PiBwZXJsLXBrZy1maWxlcyAKaWYgWyAteiBwZXJsLXBrZy1maWxlcyBdIDsgdGhlbgogICAgZWNobyAiRVJST1I6IEVNUFRZIEZJTEUgTElTVCIKICAgIGV4aXQgLTEKZmkKCiVjaGVjawpleHBvcnQgTERfTElCUkFSWV9QQVRIPSV7YnVpbGRyb290fS8le19saWJkaXJ9Cm1ha2UgJXs/X3NtcF9tZmxhZ3N9IGNoZWNrCgolY2xlYW4Kcm0gLXJmICV7YnVpbGRyb290fQoKJXBvc3QgbGlicyAtcCAvc2Jpbi9sZGNvbmZpZwoKJXBvc3QgYysrIC1wIC9zYmluL2xkY29uZmlnCgolcG9zdHVuIGxpYnMgLXAgL3NiaW4vbGRjb25maWcKCiVwb3N0dW4gYysrIC1wIC9zYmluL2xkY29uZmlnCgolZmlsZXMKJWRvYyBSRUFETUUudHh0IExJQ0VOU0UgTk9USUNFIEFVVEhPUlMudHh0IE5FV1MudHh0IENoYW5nZUxvZyBQbGF0Zm9ybXMudHh0CiV7X2JpbmRpcn0vW2Etel0qCiV7X21hbmRpcn0vbWFuWzE0NV0vW2Etel0qCiV7X21hbmRpcn0vbWFuMS8le25hbWV9LioKCiVmaWxlcyBsaWJzCiVkZWZhdHRyKC0scm9vdCxyb290LC0pCiVkb2MgTElDRU5TRSBOT1RJQ0UgQVVUSE9SUy50eHQgUXVpY2tTdGFydC50eHQKJXtfbGliZGlyfS9saWJNYWdpY2tDb3JlLTcuUTE2SERSSS5zby4qCiV7X2xpYmRpcn0vbGliTWFnaWNrV2FuZC03LlExNkhEUkkuc28uKgole19saWJkaXJ9LyV7bmFtZX0tJXtWRVJTSU9OfQole19kYXRhZGlyfS8le25hbWV9LTcKJWV4Y2x1ZGUgJXtfbGliZGlyfS8le25hbWV9LSV7VkVSU0lPTn0vbW9kdWxlcy1RMTZIRFJJL2NvZGVycy9kanZ1LioKJXtfc3lzY29uZmRpcn0vJXtuYW1lfS03CgolZmlsZXMgZGV2ZWwKJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKJXtfYmluZGlyfS9NYWdpY2tDb3JlLWNvbmZpZwole19iaW5kaXJ9L01hZ2lja1dhbmQtY29uZmlnCiV7X2xpYmRpcn0vbGliTWFnaWNrQ29yZS03LlExNkhEUkkuc28KJXtfbGliZGlyfS9saWJNYWdpY2tXYW5kLTcuUTE2SERSSS5zbwole19saWJkaXJ9L3BrZ2NvbmZpZy9NYWdpY2tDb3JlLnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL01hZ2lja0NvcmUtNy5RMTZIRFJJLnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL0ltYWdlTWFnaWNrLnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL0ltYWdlTWFnaWNrLTcuUTE2SERSSS5wYwole19saWJkaXJ9L3BrZ2NvbmZpZy9NYWdpY2tXYW5kLnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL01hZ2lja1dhbmQtNy5RMTZIRFJJLnBjCiVkaXIgJXtfaW5jbHVkZWRpcn0vJXtuYW1lfS03CiV7X2luY2x1ZGVkaXJ9LyV7bmFtZX0tNy9NYWdpY2tDb3JlCiV7X2luY2x1ZGVkaXJ9LyV7bmFtZX0tNy9NYWdpY2tXYW5kCiV7X21hbmRpcn0vbWFuMS9NYWdpY2tDb3JlLWNvbmZpZy4qCiV7X21hbmRpcn0vbWFuMS9NYWdpY2tXYW5kLWNvbmZpZy4qCgolZmlsZXMgZGp2dQolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQole19saWJkaXJ9LyV7bmFtZX0tJXtWRVJTSU9OfS9tb2R1bGVzLVExNkhEUkkvY29kZXJzL2RqdnUuKgoKJWZpbGVzIGRvYwolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQolZG9jICV7X2RhdGFkaXJ9L2RvYy8le25hbWV9LTcKJWRvYyAle19kYXRhZGlyfS9kb2MvJXtuYW1lfS0le1ZFUlNJT059CiVkb2MgTElDRU5TRQoKJWZpbGVzIGMrKwolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQolZG9jIE1hZ2ljaysrL0FVVEhPUlMgTWFnaWNrKysvQ2hhbmdlTG9nIE1hZ2ljaysrL05FV1MgTWFnaWNrKysvUkVBRE1FCiVkb2Mgd3d3L01hZ2ljaysrL0NPUFlJTkcKJXtfbGliZGlyfS9saWJNYWdpY2srKy03LlExNkhEUkkuc28uKgoKJWZpbGVzIGMrKy1kZXZlbAolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQolZG9jIE1hZ2ljaysrL2V4YW1wbGVzCiV7X2JpbmRpcn0vTWFnaWNrKystY29uZmlnCiV7X2luY2x1ZGVkaXJ9LyV7bmFtZX0tNy9NYWdpY2srKwole19pbmNsdWRlZGlyfS8le25hbWV9LTcvTWFnaWNrKysuaAole19saWJkaXJ9L2xpYk1hZ2ljaysrLTcuUTE2SERSSS5zbwole19saWJkaXJ9L3BrZ2NvbmZpZy9NYWdpY2srKy5wYwole19saWJkaXJ9L3BrZ2NvbmZpZy9NYWdpY2srKy03LlExNkhEUkkucGMKJXtfbWFuZGlyfS9tYW4xL01hZ2ljaysrLWNvbmZpZy4qCgolZmlsZXMgcGVybCAtZiBwZXJsLXBrZy1maWxlcwolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQole19tYW5kaXJ9L21hbjMvKgolZG9jIFBlcmxNYWdpY2svZGVtby8gUGVybE1hZ2ljay9DaGFuZ2Vsb2cgUGVybE1hZ2ljay9SRUFETUUudHh0CgolY2hhbmdlbG9nCiogU3VuIE1heSAwMSAyMDA1IENyaXN0eSA8Y3Jpc3R5QG15c3RpYy5lcy5kdXBvbnQuY29tPiAxLjAtMAotICBQb3J0IG9mIFJlZGhhdCdzIFJQTSBzY3JpcHQgdG8gc3VwcG9ydCBJbWFnZU1hZ2ljay4K