YTo2OntpOjA7czo1MjcwOiIJCQkJCTxzZWN0aW9uIGNsYXNzPSJoZWFkQmcgdGhlbWUyICI+DQoJCQkJCTxkaXYgY2xhc3M9IndyYXAiPg0KCQkJCQk8ZGl2IGNsYXNzPSJwYWdlLXRpdGxlLWlubmVyIGZvIj4gDQoJCQkJCTxkaXYgY2xhc3M9ImgxIj48aDE+TWFjaGluZSBNYWludGVuYW5jZSBGaXR0ZXI8L2gxPjwvZGl2Pg0KCQkJCQk8cCBjbGFzcz0iYnJlYWRjcnVtYiBhciB1dSBzbWFsbCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cubG9yZGtyaXNobmFlbmdnd29ya3MuaW4vIiB0aXRsZT0iSG9tZSI+SG9tZTwvYT4NCgkJCQkJDQoJCQkJCQkJCQkJCTxiIGNsYXNzPSJmZnYgcDJweCI+JnJzYXF1bzs8L2I+PGEgaHJlZj0iaHR0cHM6Ly93d3cubG9yZGtyaXNobmFlbmdnd29ya3MuaW4vY3VycmVudC1qb2JzLmh0bSIgdGl0bGU9IkN1cnJlbnQgSm9icyI+Q3VycmVudCBKb2JzPC9hPg0KCQkJCQkJCQkJCQkJCQkJCQ0KCQkJCQk8YiBjbGFzcz0iZmZ2IHAycHgiPiZyc2FxdW87PC9iPiBNYWNoaW5lIE1haW50ZW5hbmNlIEZpdHRlcjwvcD4NCgkJCQkJPC9kaXY+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8L3NlY3Rpb24+DQoJCQkJCQkJCQk8c2VjdGlvbiBpZD0ibWlkZGxlIj4NCgkJCQk8ZGl2IGNsYXNzPSJ3cmFwIiBpZD0iYm9keUZvcm1hdE5UIj4NCgkJCQk8ZGl2IGNsYXNzPSJyb3cxIGR0IGNvbHVtbnMyMyI+PCEtLU1JRERMRSBST1cxIFNUQVJUUy0tPg0KCQkJCTxkaXYgY2xhc3M9ImNvbC0yIHdpZGVDb2x1bW4gaXAgbHMgZGV0YWlsX3BtXzE1Ij48IS0tTUlERExFIFJPVzEgQ09MLTIgU1RBUlRTLS0+DQoJCQkJDQoJCQkJCQkJCTxwIGNsYXNzPSJtYjVweCI+PGkgY2xhc3M9ImZhIGZhLWJyaWVmY2FzZSBtcjdweCBmbCB3MTVweCBhbHBoYTUwIj48L2k+IDUgLSAxMCBZZWFyczwvcD4NCgkJCQkNCgkJCQkJCQkJCTxwIGNsYXNzPSJtYjEwcHgiPjxpIGNsYXNzPSJmYSBmYS1tYXAtbWFya2VyIG1yN3B4IGZsIHBsMXB4IHcxNXB4IGFscGhhNTAiPjwvaT5GYXJpZGFiYWQ8L3A+DQoJCQkJCQkNCgkJCQkNCgkJCQk8YnI+DQoJCQkJPGRpdiBjbGFzcz0iYmRyVCBwdDIwcHgiPg0KCQkJCTxwIGNsYXNzPSJ4bGFyZ2UgYiI+Sm9iIERlc2NyaXB0aW9uPC9wPg0KCQkJCTxwIGNsYXNzPSJhaiBtdDEwcHgiPkNhbmRpZGF0ZSBIYXZpbmcgSGFuZHMgT24gV29ya2luZyBFeHBlcmllbmNlIG9mIE1hY2hpbmUgTWFpbnRlbmFuY2UgYW5kIE5ldyBNYWNoaW5lIEFzc3kgb2YgTWluaW11bSA1IFllYXJzLjxiciAvPgp1bmRlcnN0YW5kIE1hY2hpbmUgRHJhd2luZy4gS25vd2xlZGdlIG9mIE1hY2hpbmluZyBQcm9jZXNzLjwvcD4NCgkJCQkNCgkJCQk8dGFibGUgY2xhc3M9IncxMDAgZm9ybVRhYmxlIGJkcjAgbXQxMHB4Ij4JCQkJDQoJCQkJCQkJCQk8dHI+DQoJCQkJCTx0ZCBjbGFzcz0idzIyIGFscGhhNzUgcDVweCI+U2FsYXJ5PC90ZD4NCgkJCQkJPHRkIGNsYXNzPSJwNXB4Ij5Ob3QgRGlzY2xvc2VkPC90ZD4NCgkJCQkJPC90cj4NCgkJCQkJCQkJCQ0KCQkJCQk8dHI+DQoJCQkJCTx0ZCBjbGFzcz0idzIyIGFscGhhNzUgcDVweCI+SW5kdXN0cnk8L3RkPg0KCQkJCQk8dGQgY2xhc3M9InA1cHgiPk1hbnVmYWN0dXJpbmcgLyBQcm9kdWN0aW9uIC8gUXVhbGl0eTwvdGQ+DQoJCQkJCTwvdHI+DQoJCQkJCQkJCQk8dHI+DQoJCQkJPHRkIGNsYXNzPSJ3MjIgYWxwaGE3NSBwNXB4Ij5Xb3JrIEV4cGVyaWVuY2U8L3RkPg0KCQkJCTx0ZCBjbGFzcz0icDVweCI+NSAtIDEwIFllYXJzPC90ZD4NCgkJCQk8L3RyPg0KCQkJCQkJCQkJPHRyPg0KCQkJCQk8dGQgY2xhc3M9IncyMiBhbHBoYTc1IHA1cHgiPlF1YWxpZmljYXRpb248L3RkPg0KCQkJCQk8dGQgY2xhc3M9InA1cHgiPkhpZ2hlciBTZWNvbmRhcnksIFNlY29uZGFyeSBTY2hvb2wsIFZvY2F0aW9uYWwgQ291cnNlLCBEaXBsb21hPC90ZD4NCgkJCQkJPC90cj4JCQkJCQ0KCQkJCQkJCQkJDQoJCQkJPC90YWJsZT4NCgkJCQkNCgkJCQkNCgkJCQk8L2Rpdj4NCgkJCQkNCgkJCQk8YnI+DQoJCQkJPGRpdiBjbGFzcz0iYmRyVCBwdDIwcHgiPg0KCQkJCQkJCQkJPHAgY2xhc3M9InhsYXJnZSBiIj5LZXkgU2tpbGxzPC9wPg0KCQkJCQk8ZGl2IGNsYXNzPSJtdDEwcHggZGlmIj4NCgkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImJuIGRpYiBwNXB4MTBweCBjMnB4IGhlYWRWciBtcjdweCBtYjdweCI+TWFjaGluZSBNYWludGVuYW5jZTwvc3Bhbj4NCgkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJibiBkaWIgcDVweDEwcHggYzJweCBoZWFkVnIgbXI3cHggbWI3cHgiPiBNYWNoaW5lIFRlY2huaWNpYW48L3NwYW4+DQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJDQoJCQkJDQoJCQkJPGJyPg0KCQkJCTxkaXYgY2xhc3M9ImJkclQgcHQyMHB4Ij4NCgkJCQk8cCBjbGFzcz0ieGxhcmdlIGIiPkNvbXBhbnkgUHJvZmlsZTwvcD4NCgkJCQk8ZGl2IGNsYXNzPSJtdDEwcHgiPg0KCQkJCQ0KCQkJCUxvcmQgS3Jpc2huYSBFbmdnLiBXb3JrcyBpcyBhIFJlbm93bmVkIE1hbnVmYWN0dXJlciBhbmQgU3VwcGxpZXIgb2YgYSBXaWRlIFJhbmdlIG9mIFByb2R1Y3RzLiBPdXIgUmFuZ2Ugb2YgUHJvZHVjdHMgSW5jbHVkZXMgRGllIENhc3RpbmcgTWFjaGluZSBTcGFyZSBQYXJ0cywgUGxhaW4gR2F1Z2VzIGFuZCBJbmR1c3RyaWFsIEZpeHR1cmVzLiBhbGwgT3VyIFByb2R1Y3RzIGFyZSBNYW51ZmFjdHVyZWQgYXMgcGVyIHRoZSBJbmR1c3RyeSZhY2lyYzuAmXMgU3BlY2lmaWNhdGlvbnMgVXNpbmcgdGhlIExhdGVzdCBNYWNoaW5lcnkuCQkJCQ0KCQkJCTxiciAvPg0KCQkJCQ0KCQkJCQkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4JCQkNCgkJCQkNCgkJCQk8IS0tTUlERExFIFJPVzEgQ09MLTIgRU5EUy0tPiANCgkJCQk8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJjb2wtMyB0aGluQ29sdW1uIj48IS0tTUlERExFIFJPVzEgQ09MLTEgU1RBUlRTLS0+DQoJCQkJDQoJCQkJPGRpdiBjbGFzcz0iY29sdW1uX0JveCBtYyI+DQoJCQkJPGRpdiBjbGFzcz0idGNsIGJ1bGxldCBkaXZpZGVyIj4NCgkJCQk8ZGl2IGNsYXNzPSJoIGgyIj48YiBjbGFzcz0icGx1c01pbnVzIj48L2I+DQoJCQkJPGgyPkpvYnMgYnkgTG9jYXRpb248L2gyPg0KCQkJCTwvZGl2Pg0KCQkJCTxkaXYgY2xhc3M9ImljIHNob3dIaWRlX3JwIj4NCgkJCQk8ZGl2IGNsYXNzPSJtdDEwcHgiPg0KCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImRpYiBwNXB4MTBweCBjMnB4IGhlYWRWciBtcjdweCBtYjdweCAiPjxhIGNsYXNzPSJkaWYiIGhyZWY9ImpvYnMtaW4tZmFyaWRhYmFkLmh0bSIgdGl0bGU9IkpvYnMgaW4gRmFyaWRhYmFkIj5GYXJpZGFiYWQ8L2E+IDxiIGNsYXNzPSJhbHBoYTUwIGJuIHNtYWxsIj4oNSk8L2I+PC9zcGFuPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQkJDQoJCQkJPGRpdiBjbGFzcz0iY29sdW1uX0JveCBtYyI+DQoJCQkJPGRpdiBjbGFzcz0idGNsIGJ1bGxldCBkaXZpZGVyIj4NCgkJCQk8ZGl2IGNsYXNzPSJoIGgyIj48YiBjbGFzcz0icGx1c01pbnVzIj48L2I+DQoJCQkJPGgyPkpvYnMgYnkgRnVuY3Rpb25hbCBBcmVhPC9oMj4NCgkJCQk8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJpYyBzaG93SGlkZV9ycCI+DQoJCQkJPGRpdiBjbGFzcz0ibXQxMHB4Ij4NCgkJCQkJCQkJCTxzcGFuIGNsYXNzPSJkaWIgcDVweDEwcHggYzJweCBoZWFkVnIgbXI3cHggbWI3cHggIj48YSBjbGFzcz0iZGlmIiBocmVmPSJqb2JzLWluLWVuZ2luZWVyaW5nLXRlY2huaWNhbC1yZC1maWQuaHRtIiB0aXRsZT0iRW5naW5lZXJpbmcgLyBUZWNobmljYWwgLyBSJkQgSm9icyI+RW5naW5lZXJpbmcgLyBUZWNobmljYWwgLyBSJkQ8L2E+IDxiIGNsYXNzPSJhbHBoYTUwIGJuIHNtYWxsIj4oMik8L2I+PC9zcGFuPg0KCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJkaWIgcDVweDEwcHggYzJweCBoZWFkVnIgbXI3cHggbWI3cHggIj48YSBjbGFzcz0iZGlmIiBocmVmPSJqb2JzLWluLW1hbnVmYWN0dXJpbmctcHJvZHVjdGlvbi1maWQuaHRtIiB0aXRsZT0iTWFudWZhY3R1cmluZyAvIFByb2R1Y3Rpb24gLyBRdWFsaXR5IEpvYnMiPk1hbnVmYWN0dXJpbmcgLyBQcm9kdWN0aW9uIC8gUXVhbGl0eTwvYT4gPGIgY2xhc3M9ImFscGhhNTAgYm4gc21hbGwiPigzKTwvYj48L3NwYW4+DQoJCQkJCQkJCQkNCgkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJCQkNCgkJCQk8L2Rpdj4NCgkJCQk8IS0tTUlERExFIFJPVzEgQ09MLTEgRU5EUy0tPg0KCQkJCQ0KCQkJCTwhLS1NSURETEUgUk9XMSBFTkRTLS0+IA0KCQkJCTwvZGl2Pg0KCQkJCTxicj48YnI+DQoJCQkJPC9kaXY+DQoJCQkJPC9zZWN0aW9uPg0KCQkJCTxzY3JpcHQ+DQoJCQkJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKXsNCgkJCQkJCWpRdWVyeShkb2N1bWVudCkub24oImNsaWNrIiwgIi5zaG93YWxsc3BhbiIsIGZ1bmN0aW9uKCl7DQoJCQkJCQkJaWYoalF1ZXJ5KHRoaXMpLmF0dHIoImRhdGEtdGFyZ2V0IikgPT09ICdzaG93Jyl7DQoJCQkJCQkJCWpRdWVyeSh0aGlzKS50ZXh0KCJWaWV3IExlc3MiKTsNCgkJCQkJCQkJalF1ZXJ5KHRoaXMpLmF0dHIoImRhdGEtdGFyZ2V0IiwgImhpZGUiKTsNCgkJCQkJCQkJalF1ZXJ5KHRoaXMpLmNsb3Nlc3QoImRpdiIpLmZpbmQoIi5zcGFubGlzdCIpLnJlbW92ZUNsYXNzKCJkbiIpOw0KCQkJCQkJCX1lbHNlew0KCQkJCQkJCQlqUXVlcnkodGhpcykudGV4dCgiVmlldyBNb3JlIik7DQoJCQkJCQkJCWpRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXRhcmdldCIsICJzaG93Iik7DQoJCQkJCQkJCWpRdWVyeSh0aGlzKS5jbG9zZXN0KCJkaXYiKS5maW5kKCIuc3Bhbmxpc3QiKS5hZGRDbGFzcygiZG4iKTsNCgkJCQkJCQl9DQoJCQkJCQl9KTsNCgkJCQkJfSk7DQoJCQkJPC9zY3JpcHQ+DQoJCQkJCTxzY3JpcHQ+DQoJJC5hamF4KHsNCgkgIHVybDogImh0dHBzOi8vd3d3LnBsYWNlbWVudGluZGlhLmNvbS9qb2JfcG9zdGluZ192aWV3LnBocCIsDQoJICB0eXBlOiAiUE9TVCIsDQoJICBkYXRhVHlwZTogJ2h0bWwnLA0KCSAgZGF0YToge2pvYl92aWV3X2lkOiAnZHpObkwyRTFkalJvYzIwMGMxbEhUak5XV0dwSWR6MDknLGRhdGFfdHlwZTogJ1JFeHpSbXcxY21Sc2RsaDZZa0psVlVaQk5uQTRVVDA5J30sDQoJICBjYWNoZSA6IGZhbHNlLA0KCSAgYXN5bmM6IHRydWUNCgkgIA0KCX0pLmRvbmUoZnVuY3Rpb24ocmVzcCkgew0KCSAgLy9hbGVydChyZXNwKQ0KCX0pOw0KCTwvc2NyaXB0Pg0KCSI7aToxO3M6OTQ6Ik1hY2hpbmUgTWFpbnRlbmFuY2UgRml0dGVyIEpvYnMgaW4gRmFyaWRhYmFkIC0gVmFjYW5jeSBpbiBNYW51ZmFjdHVyaW5nIC8gUHJvZHVjdGlvbiAvIFF1YWxpdHkiO2k6MjtzOjIyMDoiTWFjaGluZSBNYWludGVuYW5jZSBGaXR0ZXIgSm9icyxNYWNoaW5lIE1haW50ZW5hbmNlIEZpdHRlciBKb2JzIGluIEZhcmlkYWJhZCxNYWNoaW5lIE1haW50ZW5hbmNlIEZpdHRlciBWYWNhbmN5IGluIEZhcmlkYWJhZCxNYWNoaW5lIE1haW50ZW5hbmNlIEZpdHRlciBqb2JzIGluIEluZGlhLE1hbnVmYWN0dXJpbmcgLyBQcm9kdWN0aW9uIC8gUXVhbGl0eSBqb2JzIGluIEZhcmlkYWJhZCI7aTozO3M6Mjk4OiJBcHBseSBmb3IgTWFjaGluZSBNYWludGVuYW5jZSBGaXR0ZXIgSm9icyBpbiBGYXJpZGFiYWQgSW5kaWEgLSBNYWNoaW5lIE1haW50ZW5hbmNlIEZpdHRlciBWYWNhbmN5ICBpbiBNYW51ZmFjdHVyaW5nIC8gUHJvZHVjdGlvbiAvIFF1YWxpdHkgZmllbGQgd2l0aCA1IHRvIDEwIHllYXJzIFdvcmsgRXhwZXJpZW5jZSwgS2V5IFNraWxscyBhcmUgTWFjaGluZSBNYWludGVuYW5jZSwgTWFjaGluZSBUZWNobmljaWFuLCBNYW51ZmFjdHVyaW5nIC8gUHJvZHVjdGlvbiAvIFF1YWxpdHkgam9icyBpbiBGYXJpZGFiYWQgIEluZGlhIjtpOjQ7czo5Mzc6Ig0KCQk8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPg0KCQl7DQoJCSAgIkBjb250ZXh0IjogImh0dHA6Ly9zY2hlbWEub3JnIiwNCgkJICAiQHR5cGUiOiAiSm9iUG9zdGluZyIsDQoJCSAgInRpdGxlIjogIk1hY2hpbmUgTWFpbnRlbmFuY2UgRml0dGVyIiwNCgkJICAiYmFzZVNhbGFyeSI6ICIiLA0KCQkgICJkZXNjcmlwdGlvbiI6ICJDYW5kaWRhdGUgSGF2aW5nIEhhbmRzIE9uIFdvcmtpbmcgRXhwZXJpZW5jZSBvZiBNYWNoaW5lIE1haW50ZW5hbmNlIGFuZCBOZXcgTWFjaGluZSBBc3N5IG9mIE1pbmltdW0gNSBZZWFycy4KdW5kZXJzdGFuZCBNYWNoaW5lIERyYXdpbmcuIEtub3dsZWRnZSBvZiBNYWNoaW5pbmcgUHJvY2Vzcy4iLA0KCQkgICJlZHVjYXRpb25SZXF1aXJlbWVudHMiOiAiSGlnaGVyIFNlY29uZGFyeSwgU2Vjb25kYXJ5IFNjaG9vbCwgVm9jYXRpb25hbCBDb3Vyc2UsIERpcGxvbWEiLA0KCQkgICJleHBlcmllbmNlUmVxdWlyZW1lbnRzIjogIjUgLSAxMCBZZWFycyIsDQoJCSAgImluZHVzdHJ5IjogIk1hbnVmYWN0dXJpbmcgLyBQcm9kdWN0aW9uIC8gUXVhbGl0eSIsDQoJCSAgImpvYkxvY2F0aW9uIjogew0KCQkgICAgIkB0eXBlIjogIlBsYWNlIiwNCgkJICAgICJhZGRyZXNzIjogew0KCQkgICAgICAiQHR5cGUiOiAiUG9zdGFsQWRkcmVzcyIsDQoJCSAgICAgICJhZGRyZXNzTG9jYWxpdHkiOiAiSGFyeWFuYSIsDQoJCSAgICAgICJhZGRyZXNzUmVnaW9uIjogIkZhcmlkYWJhZCINCgkJICAgIH0NCgkJICB9LA0KCQkgInF1YWxpZmljYXRpb25zIjogIkhpZ2hlciBTZWNvbmRhcnksIFNlY29uZGFyeSBTY2hvb2wsIFZvY2F0aW9uYWwgQ291cnNlLCBEaXBsb21hIiwNCgkJICAgICAic2tpbGxzIjogIk1hY2hpbmUgTWFpbnRlbmFuY2UsIE1hY2hpbmUgVGVjaG5pY2lhbiINCgkJICB9DQoJCTwvc2NyaXB0Pg0KCQkiO2k6NTtOO30=