IwojICAgUGFydHMgb2YgdGhlIGRldmVsb3BtZW50IGVmZm9ydCBmb3IgdGhpcyBwcm9qZWN0IGhhdmUgYmVlbgojICAgc3BvbnNvcmVkIGJ5IFNJRU1FTlMgQUcsIEF1c3RyaWEuIFRoYW5rcyB0byBTSUVNRU5TIGZvcgojICAgc3VwcG9ydGluZyBhbiBPcGVuIFNvdXJjZSBwcm9qZWN0IQojCiMKIyAgIFRoaXMgaXMgYXQgbGVhc3QgYSBwYXJ0aWFsIGNyZWRpdHMtZmlsZSBvZiBpbmRpdmlkdWFsIHBlb3BsZSB0aGF0CiMgICBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBVLUJvb3QgcHJvamVjdC4gSXQgaXMgc29ydGVkIGJ5IG5hbWUgYW5kCiMgICBmb3JtYXR0ZWQgdG8gYWxsb3cgZWFzeSBncmVwcGluZyBhbmQgYmVhdXRpZmljYXRpb24gYnkgc2NyaXB0cy4KIyAgIFRoZSBmaWVsZHMgYXJlOiBuYW1lIChOKSwgZW1haWwgKEUpLCB3ZWItYWRkcmVzcyAoVyksIFBHUCBrZXkgSUQKIyAgIGFuZCBmaW5nZXJwcmludCAoUCksIGRlc2NyaXB0aW9uIChEKSwgYW5kIHNuYWlsLW1haWwgYWRkcmVzcyAoUykuCiMgICBUaGFua3MsCiMKIyAgICAgICAgICAgICAgICAgICAgICAgV29sZmdhbmcgRGVuawojLS0tLS0tLS0tLQoKTjogRHIuIEJydW5vIEFjaGF1ZXIKRTogYnJ1bm9AZXhldC1hZy5kZQpEOiBTdXBwb3J0IGZvciBOZXRCU0QgKGJvdGggYXMgaG9zdCBhbmQgdGFyZ2V0IHN5c3RlbSkKCk46IEd1aWxsYXVtZSBBbGV4YW5kcmUKRTogZ3VpbGxhdW1lLmFsZXhhbmRyZUBnZXNwYWMuY2gKRDogQWRkIFBDSVBQQzYgY29uZmlndXJhdGlvbgoKTjogU3dlbiBBbmRlcnNvbgpFOiBzYW5kQHBlcHBlcmNvbi5kZQpEOiBFUklDIFN1cHBvcnQKCk46IFBhbnRlbGlzIEFudG9uaW91CkU6IHBhbnRvQGludHJhY29tLmdyCkQ6IE5FVFZJQSAmIE5FVFBIT05FIGJvYXJkIHN1cHBvcnQsIEFSVE9TIHN1cHBvcnQuCgpOOiBQaWVycmUgQXViZXJ0CkU6IDxwLmF1YmVydEBzdGF1YmxpLmNvbT4KRDogU3VwcG9ydCBmb3IgUlBYQ2xhc3NpYyBib2FyZAoKTjogWXVsaSBCYXJjb2hlbgpFOiB5dWxpQGFyYWJlbGxhc3cuY29tCkQ6IFVuaWZpZWQgc3VwcG9ydCBmb3IgTW90b3JvbGEgTVBDODI2eEFEUy9NUEM4MjcyQURTL1BRMkZBRFMgYm9hcmRzLgpEOiBTdXBwb3J0IGZvciBaZXBoeXIgRW5naW5lZXJpbmcgWlBDLjE5MDAgYm9hcmQuCkQ6IFN1cHBvcnQgZm9yIEludGVycGhhc2UgaVNQQU4gYm9hcmRzLgpEOiBTdXBwb3J0IGZvciBBbmFsb2d1ZSZNaWNybyBBZGRlciBib2FyZHMuCkQ6IFN1cHBvcnQgZm9yIEFuYWxvZ3VlJk1pY3JvIFJhdHRsZXIgYm9hcmRzLgpXOiBodHRwOi8vd3d3LmFyYWJlbGxhc3cuY29tCgpOOiBKZXJyeSB2YW4gQmFyZW4KRTogPHZhbmJhcmVuQGNpZGVhcy5jb20+CkQ6IEJlZEJ1ZyBwb3J0IHRvIDYwM2UgY29yZSAoTVBDODJ4eCkuIENvZGUgZm9yIGVuaGFuY2VkIG1lbW9yeSB0ZXN0LgoKTjogUGF2ZWwgQmFydHVzZWsKRTogPHBiYUBzeXNnby5jb20+CkQ6IFJlaXNlcmZzIHN1cHBvcnQKVzogaHR0cDovL3d3dy5lbGlub3MuY29tCgpOOiBBbmRyZSBCZWF1ZGluCkU6IDxhbmRyZS5iZWF1ZGluQGNvbHVicmlzLmNvbT4KRDogUENNQ0lBLCBFdGhlcm5ldCwgVEZUUAoKTjogSm9uIEJlbmVkaWt0c3NvbgpFOiBqb25iQG1hcmVsLmlzCkQ6IFN1cHBvcnQgZm9yIE1hcmVsIFYzNyBib2FyZAoKTjogUmFwaGFlbCBCb3NzZWsKRTogcmFwaGFlbC5ib3NzZWtAc29sdXRpb25zNGxpbnV4LmRlCkQ6IDh4eHJvbS0wLjMuMAoKTjogUmljayBCcm9uc29uCkU6IHJpY2tAZWZuLm9yZwpEOiBBdG1lbCBBVDkxUk05MjAwREsgYW5kIE5BTkQgc3VwcG9ydAoKTjogRGF2aWQgQnJvd24KRTogREJyb3duMDNAaGFycmlzLmNvbQpEOiBFeHRlbnNpb25zIHRvIDh4eHJvbS0wLjMuMAoKTjogT2xpdmVyIEJyb3duCkU6IG9icm93bkBhZHZlbnRuZXR3b3Jrcy5jb20KRDogUG9ydCB0byB0aGUgZ3c4MjYwIGJvYXJkCgpOOiBDdXJ0IEJydW5lCkU6IGN1cnRAY3VjeS5jb20KRDogQWRkZWQgc3VwcG9ydCBmb3IgU2Ftc3VuZyBTM0M0NTEwQiBDUFUgKEFSTTd0ZG1pIGJhc2VkIFNvQykKRDogQWRkZWQgc3VwcG9ydCBmb3IgRVNQRC1JbmMuIEVWQjQ1MTAgQm9hcmQKVzogaHR0cDovL3d3dy5jdWN5LmNvbQoKTjogSm9uYXRoYW4gRGUgQnJ1eW5lCkU6IGpvbmF0aGFuLmRlYnJ1eW5lQHNpZW1lbnMuYXRlYS5iZQpEOiBQb3J0IHRvIFNpZW1lbnMgSUFEMjEwIGJvYXJkCgpOOiBLZW4gQ2hvdQpFOiBrY2hvdUBpZWVlLm9yZwpEOiBTdXBwb3J0IGZvciBBMzAwMCBTQkMgYm9hcmQKCk46IENvbm4gQ2xhcmsKRTogY2xhcmtAZXN0ZWVtLmNvbQpEOiBFU1RFRU0xOTJFIHN1cHBvcnQKCk46IE1hZ251cyBEYW1tCkU6IGRhbW1Ab3BlbnNvdXJjZS5zZQpEOiA4eHhyb20KCk46IEdlb3JnZSBHLiBEYXZpcwpFOiBnZGF2aXNAbXZpc3RhLmNvbQpEOiBCb2FyZCBwb3J0cyBmb3IgQURTIEdyYXBoaWNzQ2xpZW50KyBhbmQgSW50ZWwgQXNzYWJldAoKTjogQXJ1biBEaGFyYW5rYXIKRTogQURoYXJhbmthckBBVFRCSS5Db20KRDogdGhyZWFkcyAvIHNjaGVkdWxlciBleGFtcGxlIGNvZGUKCk46IEvhcmkgRGF27fBzc29uCkU6IGtkQGZsYWdhLmlzCkQ6IEZMQUdBIERNIFN1cHBvcnQKCk46IFdvbGZnYW5nIERlbmsKRTogd2RAZGVueC5kZQpEOiBVLUJvb3QgaW5pdGlhbCB2ZXJzaW9uLCBjb250aW51aW5nIG1haW50ZW5hbmNlLCBBUk1Cb290IG1lcmdlClc6IGh0dHA6Ly93d3cuZGVueC5kZQoKTjogRGFuIEEuIERpY2tleQpFOiBkZGlja2V5QGNoYXJ0ZXIubmV0CkQ6IEZBRFMgU3VwcG9ydAoKTjogSmFtZXMgRi4gRG91Z2hlcnR5CkU6IGpmZEBHaWdhYml0TmV0d29ya3MuQ09NCkQ6IFBvcnQgdG8gdGhlIE1PVVNTRSBib2FyZAoKTjogRGF2ZSBFbGxpcwpFOiBER0VAc2l4bmV0aW8uY29tCkQ6IEVFUFJPTSBTcGVlZHVwLCBTWE5JODU1VCBwb3J0CgpOOiBUaG9tYXMgRWxzdGUKRTogaW5mb0BlbHN0ZS5vcmcKRDogUG9ydCBmb3IgdGhlIE1vZE5FVDUwIEJvYXJkLCBORVQrNTAgQ1BVIFBvcnQKVzogaHR0cDovL3d3dy5pbW1zLmRlCgpOOiBEYW5pZWwgRW5nc3Ry9m0KRTogZGFuaWVsQG9taWNyb24uc2UKRDogeDg2IHBvcnQsIFN1cHBvcnQgZm9yIHNjNTIwX2NkcCBib2FyZAoKTjogRHIuIFdvbGZnYW5nIEdyYW5kZWdnZXIKRTogd2dAZGVueC5kZQpEOiBTdXBwb3J0IGZvciBJbnRlcnBoYXNlIDQ1MzkgVDEvRTEvSjEgUE1DLCBQTjYyLCBDQ00sIFNDTSBib2FyZHMKVzogd3d3LmRlbnguZGUKCk46IFBldGVyIEZpZ3VsaQpFOiBwZXBvc2hAZXRjLnNrCkQ6IFN1cHBvcnQgZm9yIFdFUCBFUDI1MCAoUFhBKSBib2FyZAoKTjogVGhvbWFzIEZyaWVkZW4KRTogVGhvbWFzRkBoeXBlcmlvbi1lbnRlcnRhaW5tZW50LmNvbQpEOiBTdXBwb3J0IGZvciBBbWlnYU9uZQoKTjogRnJhbmsgR290dHNjaGxpbmcKRTogZmdvdHRzY2hsaW5nQGVsdGVjLmRlCkQ6IFN1cHBvcnQgZm9yIEVMVEVDIE1IUEMvQkFCN3h4L0VMUFBDIGJvYXJkcywgY2ZiLWNvbnNvbGUsIGk4MDQyLCBTTUkgTHlueEVNClc6IHd3dy5lbHRlYy5kZQoKTjogTWFyaXVzIEdyb2VnZXIKRTogbWdyb2VnZXJAc3lzZ28uZGUKRDogTUJYIFN1cHBvcnQsIGJvYXJkIHNwZWNpZmljIGZ1bmN0aW9uIGludGVyZmFjZSwgRVNUIFNCQzgyNjAgc3VwcG9ydDsgaW5pdGlhbCBzdXBwb3J0IGZvciBTdHJvbmdBUk0gKExBUlQpLCBBUk03MjBURE1JIChpbXBsZW1lbnRhIEE3KQpXOiB3d3cuZWxpbm9zLmNvbQoKTjogS2lyayBIYWRlcmxpZQpFOiBraGFkZXJsaWVAdml2aWRpbWFnZS5jb20KRDogQWRkZWQgVEZUUCB0byA4eHhyb20gKC0+IDAuMy4xKQoKTjogQ2hyaXMgSGFsbGluYW4KRTogY2xoQG5ldDFwbHVzLmNvbQpEOiBESENQIFN1cHBvcnQKCk46IEFubmUtU29waGllIEhhcm5vaXMKRTogQW5uZS1Tb3BoaWUuSGFybm9pc0BuZXh0cmVhbS5mcgpEOiBQb3J0IHRvIFdhbG51dDQwNSBib2FyZAoKTjogQW5kcmVhcyBIZXBwZWwKRTogYWhlcHBlbEBzeXNnby5kZQpEOiBDUFUgU3VwcG9ydCBmb3IgTVBDIDc1eDsgYm9hcmQgc3VwcG9ydCBmb3IgRWx0ZWMgQkFCNzUwIFtvYnNvbGV0ZSFdCgpOOiBBdWd1c3QgSG9lcmFlbmRsCkU6IGF1Z3VzdC5ob2VyYW5kbEBnbXguYXQKRDogU3VwcG9ydCBmb3IgdGhlIGxvZ29kbCBib2FyZCAoUFhBMnh4KQoKTjogSm9zaCBIdWJlcgpFOiBodWJlckBhbHVtLndwaS5lZHUKRDogUG9ydCB0byB0aGUgR2FsaWxlbyBFdmFsdWF0aW9uIEJvYXJkLCBhbmQgdGhlIE1QQzc0eHggY3B1IHNlcmllcy4KVzogaHR0cDovL3d3dy5tY2x4LmNvbS8KCkg6IFN0dWFydCBIdWdoZXMKRTogc3R1YXJ0aEBsaW5lby5jb20KRDogUG9ydCB0byBNUEM4MjYwQURTIGJvYXJkCgpIOiBSaWNoIElyZWxhbmQKRTogci5pcmVsYW5kQGNvbXB1dGVyLm9yZwpEOiBGUEdBIGRldmljZSBjb25maWd1cmF0aW9uIGRyaXZlcgoKTjogR2FyeSBKZW5uZWpvaG4KRTogZ2FyeWpAamVubmVqb2huLm9yZywgZ2pAZGVueC5kZQpEOiBTdXBwb3J0IGZvciBTYW1zdW5nIEFSTTkyMFQgUzNDMjQwMFgsIEFSTTkyMFQgIlRSQUIiClc6IHd3dy5kZW54LmRlCgpOOiBNdXJyYXkgSmVuc2VuCkU6IE11cnJheS5KZW5zZW5AY21zdC5jc2lyby5hdQpEOiBJbml0aWFsIDgyNjAgc3VwcG9ydDsgR0RCIHN1cHBvcnQKRDogUG9ydCB0byBDb2dlbnQrSHltb2QgYm9hcmRzOyBIeW1vZCBCb2FyZCBEYXRhYmFzZQpXOiBodHRwOi8vd3d3Lm1zYS5jbXN0LmNzaXJvLmF1L291cnN0YWZmL011cnJheUplbnNlbi9tamouaHRtbAoKTjogWW9vLiBKb25naG9vbgpFOiB5b290aEBpcG9uZS5jby5rcgpEOiBBZGRlZCBwb3J0IHRvIHRoZSBSUFhsaXRlIGJvYXJkCgpOOiBNYXJrIEpvbmFzCkU6IG1hcmsuam9uYXNAZnJlZXNjYWxlLmNvbQpEOiBTdXBwb3J0IGZvciBGcmVlc2NhbGUgVG90YWw1MjAwIHBsYXRmb3JtClc6IGh0dHA6Ly93d3cubW9iaWxlZ3QuY29tLwoKTjogU2FtIFNvbmcKRTogc2Ftc29uZ3NodUB5YWhvby5jb20uY24KRDogUG9ydCB0byB0aGUgUlBYbGl0ZV9EVyBib2FyZAoKTjogQnJhZCBLZW1wCkU6IEJyYWQuS2VtcEBzZXJhbm9hLmNvbQpEOiBQb3J0IHRvIFdpbmRyaXZlciBwcG1jODI2MCBib2FyZAoKTjogU2FuZ21vb24gS2ltCkU6IGRvZ29pbEBldGluc3lzLmNvbQpEOiBTdXBwb3J0IGZvciBkZWJyaXMgYm9hcmQKCk46IEZyZWRlcmljayBXLiBLbGF0dApFOiBmcmVkLmtsYXR0QHdpbmRyaXZlci5jb20KRDogU3VwcG9ydCBmb3IgV2luZCBSaXZlciBTQkM4NTQwL1NCQzg1NjAgYm9hcmRzCgpOOiBUaG9tYXMgS29lbGxlcgpFOiB0a29lbGxlckBnbXgubmV0CkQ6IFBvcnQgdG8gTW90b3JvbGEgU2FuZHBvaW50IDMgKE1QQzgyNDApCgpOOiBSYWdodSBLcmlzaG5hcHJhc2FkCkU6IFJhZ2h1LktyaXNobmFwcmFzYWRAZmNpLmNvbQpEOiBTdXBwb3J0IGZvciBBZGRlci1JSSBNUEM4NTJUIGV2YWx1YXRpb24gYm9hcmQKVzogaHR0cDovL3d3dy5mb3JjZWNvbXB1dGVycy5jb20KCk46IEJlcm5oYXJkIEt1aG4KRTogYmt1aG5AbWV0cm93ZXJrcy5jb20KRCBTdXBwb3J0IGZvciBDb2xkZmlyZSBDUFU7IFN1cHBvcnQgZm9yIE1vdG9yb2xhIE01MjcyQzMgYW5kIE01MjgyRVZCIGJvYXJkcwoKTjogUHJha2FzaCBLdW1hcgpFOiBwcmFrYXNoQGVtYmVkeC5jb20KRCAgU3VwcG9ydCBmb3IgSW50cmluc3ljIENFUkYgUFhBMjUwIGJvYXJkLgoKTjogVGhvbWFzIExhbmdlCkU6IHRob21hc0Bjb3JlbGF0dXMuc2UKRDogU3VwcG9ydCBmb3IgR1RIIGFuZCBkYmF1MXgwMCBib2FyZHM7IGxvdHMgb2YgUENNQ0lBIGZpeGVzCgpOOiBUaGUgTEVPWCB0ZWFtCkU6IHRlYW1AbGVveC5vcmcKRDogU3VwcG9ydCBmb3IgTEVPWCBib2FyZHMsIERTMTY0eCBSVEMKVzogaHR0cDovL3d3dy5sZW94Lm9yZwoKTjogTGVpZiBMaW5kaG9sbQpFOiBsZWlmLmxpbmRob2xtQGkzbWljcm8uY29tCkQ6IFN1cHBvcnQgZm9yIEFNRCBkYmF1MTU1MCBib2FyZC4KCk46IFN0ZXBoYW4gTGluegpFOiBsaW56QGxpLXByby5uZXQKRDogU3VwcG9ydCBmb3IgTmlvcyBTdHJhdGl4IERldmVsb3BtZW50IEtpdCAoREstMVMxMCkKRDogU3VwcG9ydCBmb3IgU1NWIEFETlAvRVNDMSAoTmlvcyBDeWNsb25lKQpXOiBodHRwOi8vd3d3LmxpLXByby5uZXQKCk46IFJheW1vbmQgTG8KRTogbG9Acm91dGVmcmVlLmNvbQpEOiBTdXBwb3J0IGZvciBET1MgcGFydGl0aW9ucwoKTjogRGFuIE1hbGVrCkU6IGRhbkBuZXR4NC5jb20KRDogRkFEU1JPTSwgdGhlIGdyYW5kZmF0aGVyIG9mIGFsbCBvZiB0aGlzCgpOOiBBbmRyZWEgImxsYW5kcmUiIE1hcnNvbgpFOiBhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdApEOiBQb3J0IHRvIFBQQ2hhbWVsZW9uRVZCIGJvYXJkClc6IHd3dy5kYXZlLXRlY2guaXQKCk46IFJlaW5oYXJkIE1leWVyCkU6IHIubWV5ZXJAZW1rLWVsZWt0cm9uaWsuZGUKRDogUG9ydCB0byBFTUsgVE9QODYwIE1vZHVsZQoKTjogSmF5IE1vbmttYW4KRToganRtQHNtb290aHNtb290aGllLmNvbQpEOiBFU1QgU0JDODI2MCBzdXBwb3J0CgpOOiBGcmFuayBNb3JhdWYKRTogZnJhbmsubW9yYXVmQHNhbHpicmVubmVyLmNvbQpEOiBTdXBwb3J0IGZvciBFbWJlZGRlZCBQbGFuZXQgUlBYIFN1cGVyIEJvYXJkCgpOOiBEYXZpZCBN/GxsZXIKRTogZC5tdWVsbGVyQGVsc29mdC5jaApEOiBTdXBwb3J0IGZvciBTYW1zdW5nIEFSTTkyMFQgU01ESzI0MTAgZXZhbCBib2FyZAoKTjogU2NvdHQgTWNOdXR0CkU6IHNtY251dHRAcHN5ZW50LmNvbQpEOiBTdXBwb3J0IGZvciBBbHRlcmEgTmlvcy0zMiBDUFUKRDogU3VwcG9ydCBmb3IgQWx0ZXJhIE5pb3MtSUkgQ1BVCkQ6IFN1cHBvcnQgZm9yIE5pb3MgQ3ljbG9uZSBEZXZlbG9wbWVudCBLaXQgKERLLTFDMjApClc6IGh0dHA6Ly93d3cucHN5ZW50LmNvbQoKTjogUm9sZiBPZmZlcm1hbm5zCkU6IHJvZkBzeXNnby5kZQpEOiBJbml0aWFsIHN1cHBvcnQgZm9yIFNTVi1ETlAxMTEwLCBTTUM5MTExMSBkcml2ZXIKVzogd3d3LmVsaW5vcy5jb20KCk46IFRvbHVuYXkgT3JrdW4KRTogdG9ya3VuQG5leHRpby5jb20KRDogU3VwcG9ydCBmb3IgQ29nZW50IENTQjI3MiAmIENTQjQ3MiBib2FyZHMKCk46IEtlaXRoIE91dHdhdGVyCkU6IGtlaXRoX291dHdhdGVyQG12aXMuY29tCkQ6IFN1cHBvcnQgZm9yIGdlbmVyaWMvY3VzdG9tIE1QQzg2MFQgYm9hcmRzIChHRU44NjBULCBHRU44NjBUX1NDKQoKTjogRnJhbmsgUGFubm8KRTogZnBhbm5vQGRlbHBoaW50ZWNoLmNvbQpEOiBTdXBwb3J0IGZvciBFbWJlZGRlZCBQbGFuZXQgRVA4MjYwIEJvYXJkCgpOOiBEZW5pcyBQZXRlcgpFOiBkLnBldGVyQG1wbC5jaApEOiBTdXBwb3J0IGZvciA0eHggU0NTSSwgZmxvcHB5LCBDRFJPTSwgQ1Q2OTAwMCB2aWRlbywgLi4uCkQ6IFN1cHBvcnQgZm9yIFBJUDQwNSBib2FyZApEOiBTdXBwb3J0IGZvciBNSVA0MDUgYm9hcmQKCk46IERhdmUgUGV2ZXJsZXkKRTogZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrClc6IGh0dHA6Ly93d3cubXBjLWRhdGEuY28udWsKRDogT01BUDczMCBQMiBib2FyZCBzdXBwb3J0CgpOOiBCaWxsIFBpdHRzCkU6IHdscEBtaW5kc3ByaW5nLmNvbQpEOiBCZWRCdWcgZW1iZWRkZWQgZGVidWdnZXIgY29kZQoKTjogRGFuaWVsIFBvaXJvdApFOiBkYW4ucG9pcm90QHdpbmRyaXZlci5jb20KRDogU3VwcG9ydCBmb3IgdGhlIFdpbmQgUml2ZXIgc2JjNDA1LCBzYmM4MjQwIGJvYXJkClc6IGh0dHA6Ly93d3cud2luZHJpdmVyLmNvbQoKTjogU3RlZmFuIFJvZXNlCkU6IHN0ZWZhbi5yb2VzZUBlc2QtZWxlY3Ryb25pY3MuY29tCkQ6IElCTSBQUEM0MDEvNDAzLzQwNUdQIFN1cHBvcnQ7IFdpbmRvd3MgZW52aXJvbm1lbnQgc3VwcG9ydAoKTjogRXJ3aW4gUm9sCkU6IGVyd2luQG11ZmZpbi5vcmcKRDogYm9vdCBzdXBwb3J0IGZvciBSVEVNUwoKTjogUGF1bCBSdWhsYW5kCkU6IHBydWhsYW5kQHJvY2hlc3Rlci5yci5jb20KRDogUG9ydCB0byBMb2dpYyBab29tIExIN0E0MHggU0RLIGJvYXJkKHMpCgpOOiBOZWlsIFJ1c3NlbGwKRTogY2FyZXRAYy1zaWRlLmNvbQpEOiBBdXRob3Igb2YgTGlNb24tMS40LjIsIHdoaWNoIGNvbnRyaWJ1dGVkIHNvbWUgaWRlYXMKCk46IFRyYXZpcyBCLiBTYXd5ZXIKRTogdHJhdmlzLnNhd3llckBzYW5kYnVyc3QuY29tCkQ6IFN1cHBvcnQgZm9yIElCTSBQUEM0NDBHWCwgWEVTIFhQZWRpdGUxMDAwIDQ0MEdYIFByUE1DIGJvYXJkLiAgSUJNIDQ0MGd4IFJlZiBQbGF0Zm9ybSAoT2NvdGVhKQoKTjogUGFvbG8gU2NhZmZhcmRpCkU6IGFyc2VuaW9AdGluLml0CkQ6IEZBRFM4MjMgY29uZmlndXJhdGlvbiwgTVBDODIzIHZpZGVvIHN1cHBvcnQsIEkyQywgd2lyZWxlc3Mga2V5Ym9hcmQsIGxvdHMgbW9yZQoKTjogUm9iZXJ0IFNjaHdlYmVsCkU6IHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGUKRDogU3VwcG9ydCBmb3IgY3NiMjI2LCBsb2dvZGwgYW5kIGlubm9rb20gYm9hcmRzIChQWEEyeHgpCgpOOiBZYXN1c2hpIFNob2ppCkU6IHlhc2hpQGF0bWFyay10ZWNobm8uY29tCkQ6IFN1cHBvcnQgZm9yIFhpbGlueCBNaWNyb0JsYXplLCBmb3IgQXRtYXJrIFRlY2hubyBTVVpBS1UgRlBHQSBib2FyZAoKTjogS3VydCBTdHJlbWVyY2gKRToga3VydEBleHlzLmJlCkQ6IFN1cHBvcnQgZm9yIEV4eXMgWFNFbmdpbmUgYm9hcmQKCk46IEFuZHJlYSBTY2lhbgpFOiBhbmRyZWEuc2NpYW5AZGF2ZS10ZWNoLml0CkQ6IFBvcnQgdG8gQjIgYm9hcmQKVzogd3d3LmRhdmUtdGVjaC5pdAoKTjogUm9iIFRheWxvcgpFOiByb2J0QGZseWluZ3BpZy5jb20KRDogUG9ydCB0byBNQlg4NjBUIGFuZCBTYW5kcG9pbnQ4MjQwCgpOOiBFcmlrIFRoZWlzZW4KRTogZXRoZWlzZW5AbWluZHNwcmluZy5jb20KRDogTUJYOHh4IGFuZCBtYW55IG90aGVyIHBhdGNoZXMKCk46IEppbSBUaG9tcHNvbgpFOiBqaW1AbXVzZW5raS5jb20KRDogU3VwcG9ydCBmb3IgTVVTRU5LSSBib2FyZAoKTjogUnVuZSBUb3JnZXJzZW4KRTogPHJ1bmV0QGlubm92c3lzLmNvbT4KRDogU3VwcG9ydCBmb3IgTW90b3JvbGEgTVBDODI2NkFEUyBib2FyZAoKTjogR3JlZyBVbmdlcmVyCkU6IGdyZWcudW5nZXJlckBvcGVuZ2Vhci5jb20KRDogU3VwcG9ydCBmb3Iga3M4Njk1IENQVSwgYW5kIE9wZW5HZWFyIGNtWFhYWCBib2FyZHMKCk46IERhdmlkIFVwZGVncmFmZgpFOiBkYXZlQGNyYXkuY29tCkQ6IFBvcnQgdG8gQ3JheSBMMSBib2FyZDsgREhDUCB2ZW5kb3IgZXh0ZW5zaW9ucwoKTjogQ2hyaXN0aWFuIFZlamxibwpFOiBjaHJpc3RpYW4udmVqbGJvQHRlbGxhYnMuY29tCkQ6IEZBRFM4NjBUIGV0aGVybmV0IHN1cHBvcnQKCk46IFJvYmVydCBXaGFsZXkKRTogcndoYWxleUBhcHBsaWVkZGF0YS5uZXQKRDogUG9ydCB0byBBUk0gUFhBMjd4IGFkc3ZpeCBTQkMKCk46IE1hcnRpbiBXaW5pc3RvZXJmZXIKRTogbWFydGlud2luaXN0b2VyZmVyQGdteC5jaApEOiBQb3J0IHRvIE1QQzU1NS81NTYgbWljcm9jb250cm9sbGVycyBhbmQgc3VwcG9ydCBmb3IgY21pIGJvYXJkCgpOOiBNaW5nLUxlbiBXdQpFOiBtaW5nbGVuX3d1QHRlY2h3YXJlLmNvbS50dwpEOiBNb3Rvcm9sYSBNWDFBRFMgYm9hcmQgc3VwcG9ydApXOiBodHRwOi8vd3d3LnRlY2h3YXJlLmNvbS50dy8KCk46IFhpYW5naHVhIFhpYW8KRTogeC54aWFvQG1vdG9yb2xhLmNvbQpEOiBTdXBwb3J0IGZvciBNb3Rvcm9sYSA4NXh4KFBvd2VyUVVJQ0MgSUlJKSBjaGlwLCBNUEM4NTQwQURTIGFuZCBNUEM4NTYwQURTIGJvYXJkcy4KCk46IEpvaG4gWmhhbgpFOiB6aGFuekBzaW5vdmVlLmNvbQpEOiBTdXBwb3J0IGZvciBTaW5vVmVlIE1pY3Jvc3lzdGVtcyBTQzh4eCBTQkMKCk46IEFsZXggWnVlcGtlCkU6IGF6dUBzeXNnby5kZQpEOiBPdmVyYWxsIGltcHJvdmVtZW50cyBvbiBTdHJvbmdBUk0sIEFSTTcyMFRETUk7IFN1cHBvcnQgZm9yIFR1eHNjcmVlbjsgaW5pdGlhbCBQQ01DSUEgc3VwcG9ydCBmb3IgQVJNClc6IHd3dy5lbGlub3MuY29tCg==