PD9waHANCi8qKg0KICogRXF1YWx6YV9QcmljaW5nIOKAlCBQcmljaW5nIFBhZ2Ugd2l0aCBbZXF1YWx6YV9wcmljaW5nXSBzaG9ydGNvZGUNCiAqDQogKiBSZW5kZXJzIGEgZnVsbCBwcmljaW5nIHBhZ2UgaW4gSGVicmV3IHdpdGg6DQogKiBIZXJvLCBQcmljaW5nIENhcmRzIChGcmVlIC8gUHJvIE1vbnRobHkgLyBQcm8gWWVhcmx5KSwNCiAqIEZlYXR1cmUgQ29tcGFyaXNvbiwgVXNlIENhc2VzLCBGQVEsIGFuZCBDVEEuDQogKi8NCmRlZmluZWQoICdBQlNQQVRIJyApIHx8IGV4aXQ7DQoNCmNsYXNzIEVxdWFsemFfUHJpY2luZyB7DQoNCiAgICBjb25zdCBNRVRBX0ZMQUcgPSAnX2VxdWFsemFfcHJpY2luZ19wYWdlJzsNCiAgICBjb25zdCBPUFRfUEFHRSAgPSAnZXF1YWx6YV9wcmljaW5nX3BhZ2VfaWQnOw0KDQogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KICAgICAgICBhZGRfc2hvcnRjb2RlKCAnZXF1YWx6YV9wcmljaW5nJywgWyAkdGhpcywgJ3JlbmRlcicgXSApOw0KICAgICAgICBhZGRfZmlsdGVyKCAndGVtcGxhdGVfaW5jbHVkZScsIFsgJHRoaXMsICd1c2VfYmFyZV90ZW1wbGF0ZScgXSApOw0KICAgICAgICBhZGRfYWN0aW9uKCAnd3BfaGVhZCcsIFsgJHRoaXMsICdvdXRwdXRfaGVhZF90YWdzJyBdLCA1ICk7DQogICAgICAgIGFkZF9hY3Rpb24oICdpbml0JywgWyAkdGhpcywgJ2F1dG9fbGlua19wYWdlJyBdICk7DQogICAgfQ0KDQogICAgLyoqDQogICAgICogQXV0by1saW5rIHByaWNpbmcgcGFnZSBpZiB0aGUgb3B0aW9uIGlzIG1pc3NpbmcuDQogICAgICogRmluZHMgdGhlIHBhZ2UgYnkgc2x1ZyBvciBtZXRhIGFuZCBzZXRzIHRoZSBvcHRpb24gKyBtZXRhLg0KICAgICAqLw0KICAgIHB1YmxpYyBmdW5jdGlvbiBhdXRvX2xpbmtfcGFnZSgpOiB2b2lkIHsNCiAgICAgICAgJHN0b3JlZCA9IChpbnQpIGdldF9vcHRpb24oIHNlbGY6Ok9QVF9QQUdFLCAwICk7DQogICAgICAgIGlmICggJHN0b3JlZCAmJiBnZXRfcG9zdF9zdGF0dXMoICRzdG9yZWQgKSA9PT0gJ3B1Ymxpc2gnICkgew0KICAgICAgICAgICAgcmV0dXJuOyAvLyBBbHJlYWR5IGxpbmtlZC4NCiAgICAgICAgfQ0KDQogICAgICAgIC8vIFRyeSB0byBmaW5kIGJ5IG1ldGEgZmxhZyBmaXJzdC4NCiAgICAgICAgJGJ5X21ldGEgPSBnZXRfcG9zdHMoIFsNCiAgICAgICAgICAgICdwb3N0X3R5cGUnICAgICAgPT4gJ3BhZ2UnLA0KICAgICAgICAgICAgJ3Bvc3Rfc3RhdHVzJyAgICA9PiAncHVibGlzaCcsDQogICAgICAgICAgICAncG9zdHNfcGVyX3BhZ2UnID0+IDEsDQogICAgICAgICAgICAnbWV0YV9xdWVyeScgICAgID0+IFsgWyAna2V5JyA9PiBzZWxmOjpNRVRBX0ZMQUcsICd2YWx1ZScgPT4gJzEnIF0gXSwNCiAgICAgICAgICAgICdmaWVsZHMnICAgICAgICAgPT4gJ2lkcycsDQogICAgICAgIF0gKTsNCg0KICAgICAgICBpZiAoICRieV9tZXRhICkgew0KICAgICAgICAgICAgdXBkYXRlX29wdGlvbiggc2VsZjo6T1BUX1BBR0UsIChpbnQpICRieV9tZXRhWzBdICk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAvLyBUcnkgdG8gZmluZCBieSBzbHVnLg0KICAgICAgICAkYnlfc2x1ZyA9IGdldF9wYWdlX2J5X3BhdGgoICdwcmljaW5nJyApOw0KICAgICAgICBpZiAoICRieV9zbHVnICYmICRieV9zbHVnLT5wb3N0X3N0YXR1cyA9PT0gJ3B1Ymxpc2gnICkgew0KICAgICAgICAgICAgdXBkYXRlX3Bvc3RfbWV0YSggJGJ5X3NsdWctPklELCBzZWxmOjpNRVRBX0ZMQUcsICcxJyApOw0KICAgICAgICAgICAgdXBkYXRlX29wdGlvbiggc2VsZjo6T1BUX1BBR0UsICRieV9zbHVnLT5JRCApOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyog4pSA4pSAIFRlbXBsYXRlIG92ZXJyaWRlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqLw0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVzZV9iYXJlX3RlbXBsYXRlKCBzdHJpbmcgJHRlbXBsYXRlICk6IHN0cmluZyB7DQogICAgICAgIGlmICggISAkdGhpcy0+aXNfcHJpY2luZ19wYWdlKCkgKSB7DQogICAgICAgICAgICByZXR1cm4gJHRlbXBsYXRlOw0KICAgICAgICB9DQogICAgICAgICRiYXJlID0gRVFVQUxaQV9ESVIgLiAndGVtcGxhdGVzL3BhZ2UtdG9vbC5waHAnOw0KICAgICAgICByZXR1cm4gZmlsZV9leGlzdHMoICRiYXJlICkgPyAkYmFyZSA6ICR0ZW1wbGF0ZTsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgSGVhZCB0YWdzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqLw0KDQogICAgcHVibGljIGZ1bmN0aW9uIG91dHB1dF9oZWFkX3RhZ3MoKTogdm9pZCB7DQogICAgICAgIGlmICggISAkdGhpcy0+aXNfcHJpY2luZ19wYWdlKCkgKSB7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAkdGl0bGUgPSAn16rXnteX15XXqCDigJQg15vXnNeZ150g15fXmdeg157XmdeZ150g15XXnteh15zXldecIFBybyB8IEVxdWFsemEnOw0KICAgICAgICAkZGVzYyAgPSAn15vXnCDXlNeb15zXmdedINep15wgRXF1YWx6YSDXl9eZ16DXnteZ15nXnSDXnNep15nXnteV16kg15HXodeZ16HXmS4g16nXk9eo15LXlSDXnC1Qcm8g15zXpNeZ16bXs9eo15nXnSDXnteq16fXk9ee15nXnSwg15zXnNeQINee15LXkdec15XXqiDXldec15zXkCBicmFuZGluZy4g15TXl9ecINeeLSQ3INec15fXldeT16kuJzsNCg0KICAgICAgICAkaGFzX3NlbyA9IGRlZmluZWQoICdXUFNFT19WRVJTSU9OJyApIHx8IGRlZmluZWQoICdSQU5LX01BVEhfVkVSU0lPTicgKTsNCiAgICAgICAgaWYgKCAhICRoYXNfc2VvICkgew0KICAgICAgICAgICAgYWRkX2ZpbHRlciggJ3ByZV9nZXRfZG9jdW1lbnRfdGl0bGUnLCBzdGF0aWMgZnVuY3Rpb24gKCkgdXNlICggJHRpdGxlICkgew0KICAgICAgICAgICAgICAgIHJldHVybiAkdGl0bGU7DQogICAgICAgICAgICB9LCA5OSApOw0KICAgICAgICAgICAgcHJpbnRmKCAnPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiVzIj4nIC4gIlxuIiwgZXNjX2F0dHIoICRkZXNjICkgKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGVjaG8gJzxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIj4nIC4gIlxuIjsNCiAgICAgICAgcHJpbnRmKCAnPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSIlcyI+JyAuICJcbiIsIGVzY19hdHRyKCAkdGl0bGUgKSApOw0KICAgICAgICBwcmludGYoICc8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiVzIj4nIC4gIlxuIiwgZXNjX2F0dHIoICRkZXNjICkgKTsNCiAgICAgICAgZWNobyAnPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIj4nIC4gIlxuIjsNCg0KICAgICAgICAvLyBGYXZpY29uLg0KICAgICAgICAkZmF2X3VybCA9IGVzY191cmwoIEVRVUFMWkFfVVJMIC4gJ2Fzc2V0cy9pbWFnZXMvZXF1YWx6YS1mYXZpY29uLnBuZycgKTsNCiAgICAgICAgJGZhdl9vcHQgPSBnZXRfb3B0aW9uKCAnZXF1YWx6YV9mYXZpY29uJywgW10gKTsNCiAgICAgICAgaWYgKCAhIGVtcHR5KCAkZmF2X29wdFsndXJsJ10gKSApIHsNCiAgICAgICAgICAgICRmYXZfdXJsID0gZXNjX3VybCggJGZhdl9vcHRbJ3VybCddICk7DQogICAgICAgIH0NCiAgICAgICAgaWYgKCAkZmF2X3VybCApIHsNCiAgICAgICAgICAgIHByaW50ZiggJzxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBocmVmPSIlcyI+JyAuICJcbiIsICRmYXZfdXJsICk7DQogICAgICAgIH0NCg0KICAgICAgICAvLyBKUyBnbG9iYWxzLg0KICAgICAgICBlY2hvICc8c2NyaXB0PndpbmRvdy5FUV9MQU5HPSJoZSI7d2luZG93LkVRX0RJUj0icnRsIjs8L3NjcmlwdD4nIC4gIlxuIjsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgUGFnZSBwcm92aXNpb25pbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovDQoNCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGVuc3VyZV9wYWdlKCk6IGludCB7DQogICAgICAgICRwYWdlX2lkID0gKGludCkgZ2V0X29wdGlvbiggc2VsZjo6T1BUX1BBR0UsIDAgKTsNCiAgICAgICAgaWYgKCAkcGFnZV9pZCAmJiBnZXRfcG9zdF9zdGF0dXMoICRwYWdlX2lkICkgPT09ICdwdWJsaXNoJyApIHsNCiAgICAgICAgICAgIHJldHVybiAkcGFnZV9pZDsNCiAgICAgICAgfQ0KDQogICAgICAgICRmb3VuZCA9IGdldF9wb3N0cyggWw0KICAgICAgICAgICAgJ3Bvc3RfdHlwZScgICAgICA9PiAncGFnZScsDQogICAgICAgICAgICAncG9zdF9zdGF0dXMnICAgID0+ICdhbnknLA0KICAgICAgICAgICAgJ3Bvc3RzX3Blcl9wYWdlJyA9PiAxLA0KICAgICAgICAgICAgJ21ldGFfcXVlcnknICAgICA9PiBbIFsgJ2tleScgPT4gc2VsZjo6TUVUQV9GTEFHLCAndmFsdWUnID0+ICcxJyBdIF0sDQogICAgICAgICAgICAnZmllbGRzJyAgICAgICAgID0+ICdpZHMnLA0KICAgICAgICBdICk7DQoNCiAgICAgICAgaWYgKCAkZm91bmQgKSB7DQogICAgICAgICAgICAkcGFnZV9pZCA9IChpbnQpICRmb3VuZFswXTsNCiAgICAgICAgICAgIHVwZGF0ZV9vcHRpb24oIHNlbGY6Ok9QVF9QQUdFLCAkcGFnZV9pZCApOw0KICAgICAgICAgICAgcmV0dXJuICRwYWdlX2lkOw0KICAgICAgICB9DQoNCiAgICAgICAgJHBhZ2VfaWQgPSB3cF9pbnNlcnRfcG9zdCggWw0KICAgICAgICAgICAgJ3Bvc3RfdHlwZScgICAgICA9PiAncGFnZScsDQogICAgICAgICAgICAncG9zdF9zdGF0dXMnICAgID0+ICdwdWJsaXNoJywNCiAgICAgICAgICAgICdwb3N0X3RpdGxlJyAgICAgPT4gJ9eq157Xl9eV16gg4oCUIFByaWNpbmcnLA0KICAgICAgICAgICAgJ3Bvc3RfY29udGVudCcgICA9PiAnW2VxdWFsemFfcHJpY2luZ10nLA0KICAgICAgICAgICAgJ3Bvc3RfbmFtZScgICAgICA9PiAncHJpY2luZycsDQogICAgICAgICAgICAnY29tbWVudF9zdGF0dXMnID0+ICdjbG9zZWQnLA0KICAgICAgICAgICAgJ3Bpbmdfc3RhdHVzJyAgICA9PiAnY2xvc2VkJywNCiAgICAgICAgXSApOw0KDQogICAgICAgIGlmICggaXNfd3BfZXJyb3IoICRwYWdlX2lkICkgfHwgISAkcGFnZV9pZCApIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdXBkYXRlX3Bvc3RfbWV0YSggJHBhZ2VfaWQsIHNlbGY6Ok1FVEFfRkxBRywgJzEnICk7DQogICAgICAgIHVwZGF0ZV9vcHRpb24oIHNlbGY6Ok9QVF9QQUdFLCAkcGFnZV9pZCApOw0KICAgICAgICBmbHVzaF9yZXdyaXRlX3J1bGVzKCk7DQogICAgICAgIHJldHVybiAkcGFnZV9pZDsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgUGFnZSBkZXRlY3Rpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovDQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIGlzX3ByaWNpbmdfcGFnZSgpOiBib29sIHsNCiAgICAgICAgJHN0b3JlZCA9IChpbnQpIGdldF9vcHRpb24oIHNlbGY6Ok9QVF9QQUdFLCAwICk7DQogICAgICAgIGlmICggISAkc3RvcmVkICkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgICRxaWQgPSAoaW50KSBnZXRfcXVlcmllZF9vYmplY3RfaWQoKTsNCiAgICAgICAgaWYgKCAkcWlkICYmICRxaWQgPT09ICRzdG9yZWQgKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICBnbG9iYWwgJHBvc3Q7DQogICAgICAgIHJldHVybiAkcG9zdCAmJiBnZXRfcG9zdF9tZXRhKCAkcG9zdC0+SUQsIHNlbGY6Ok1FVEFfRkxBRywgdHJ1ZSApID09PSAnMSc7DQogICAgfQ0KDQogICAgLyog4pSA4pSAIFtlcXVhbHphX3ByaWNpbmddIHNob3J0Y29kZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi8NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiByZW5kZXIoICRhdHRzICk6IHN0cmluZyB7DQogICAgICAgICRsYW5nID0gRXF1YWx6YV9JMThuOjpkZXRlY3RfbGFuZ3VhZ2UoKTsNCiAgICAgICAgJGRpciAgPSBFcXVhbHphX0NvcmU6OmRpciggJGxhbmcgKTsNCg0KICAgICAgICBvYl9zdGFydCgpOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1zaG9ydGNvZGUtd3JhcCIgZGlyPSInIC4gZXNjX2F0dHIoICRkaXIgKSAuICciIGxhbmc9IicgLiBlc2NfYXR0ciggJGxhbmcgKSAuICciPic7DQoNCiAgICAgICAgLy8gVG9wYmFyLg0KICAgICAgICBFcXVhbHphX0Rlc2lnbjo6cmVuZGVyX3RvcGJhciggJycsICRsYW5nICk7DQoNCiAgICAgICAgLy8gSGVyby4NCiAgICAgICAgJHRoaXMtPnJlbmRlcl9oZXJvKCk7DQoNCiAgICAgICAgLy8gUHJpY2luZyBDYXJkcy4NCiAgICAgICAgJHRoaXMtPnJlbmRlcl9wcmljaW5nX2NhcmRzKCk7DQoNCiAgICAgICAgLy8gRmVhdHVyZSBDb21wYXJpc29uLg0KICAgICAgICAkdGhpcy0+cmVuZGVyX2ZlYXR1cmVzKCk7DQoNCiAgICAgICAgLy8gVXNlIENhc2VzLg0KICAgICAgICAkdGhpcy0+cmVuZGVyX3VzZV9jYXNlcygpOw0KDQogICAgICAgIC8vIEZBUS4NCiAgICAgICAgJHRoaXMtPnJlbmRlcl9mYXEoKTsNCg0KICAgICAgICAvLyBDVEEuDQogICAgICAgICR0aGlzLT5yZW5kZXJfY3RhKCk7DQoNCiAgICAgICAgLy8gRm9vdGVyLg0KICAgICAgICBFcXVhbHphX0Rlc2lnbjo6cmVuZGVyX2Zvb3RlciggJycsICRsYW5nICk7DQoNCiAgICAgICAgLy8gQ2hlY2tvdXQgaWZyYW1lIG1vZGFsIChzYW1lIGFzIHByb2ZpbGUgcGFnZSkuDQogICAgICAgICR0aGlzLT5yZW5kZXJfY2hlY2tvdXRfbW9kYWwoKTsNCg0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICByZXR1cm4gb2JfZ2V0X2NsZWFuKCk7DQogICAgfQ0KDQogICAgLyog4pSA4pSAIEhlcm8gU2VjdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi8NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gcmVuZGVyX2hlcm8oKTogdm9pZCB7DQogICAgICAgIGVjaG8gJzxzZWN0aW9uIGNsYXNzPSJlcS1wcmljaW5nLWhlcm8iPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNpbmctaGVyby1pbm5lciI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtaGVyby1iYWRnZSI+PHNwYW4gY2xhc3M9ImVxLWhlcm8tYmFkZ2UtZG90Ij48L3NwYW4+INeq157Xl9eV16gg16nXp9eV16M8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8aDE+15vXnNeZ150g15fXmdeg157XmdeZ150uINep15PXqNeV15Ig15vXqdeq16jXpteVLjwvaDE+JzsNCiAgICAgICAgZWNobyAnPHA+15vXnCDXlNeb15zXmdedINep15wgRXF1YWx6YSDXltee15nXoNeZ150g15HXl9eZ16DXnSDXnNep15nXnteV16kg15HXodeZ16HXmS4g16bXqNeZ15vXmdedINeZ15XXqteoPyDXlNee16HXnNeV15wg15TXnten16bXldei15kg16DXldeq158g15zXm9edINeQ16og15TXm9ecIOKAlCDXnNec15Ag157XkteR15zXldeqLCDXnNec15AgYnJhbmRpbmcsINec15zXkCDXlNek16rXoteV16ouPC9wPic7DQogICAgICAgIGVjaG8gJzwvZGl2Pic7DQogICAgICAgIGVjaG8gJzwvc2VjdGlvbj4nOw0KICAgIH0NCg0KICAgIC8qIOKUgOKUgCBQcmljaW5nIENhcmRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqLw0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiByZW5kZXJfcHJpY2luZ19jYXJkcygpOiB2b2lkIHsNCiAgICAgICAgZWNobyAnPHNlY3Rpb24gY2xhc3M9ImVxLXByaWNpbmctY2FyZHMiPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNpbmctY2FyZHMtaW5uZXIiPic7DQoNCiAgICAgICAgLy8gVG9nZ2xlOiBNb250aGx5IC8gWWVhcmx5Lg0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1wcmljaW5nLXRvZ2dsZSI+JzsNCiAgICAgICAgZWNobyAnPGJ1dHRvbiBjbGFzcz0iZXEtdG9nZ2xlLWJ0biBhY3RpdmUiIGRhdGEtcGVyaW9kPSJtb250aGx5Ij7Xl9eV15PXqdeZPC9idXR0b24+JzsNCiAgICAgICAgZWNobyAnPGJ1dHRvbiBjbGFzcz0iZXEtdG9nZ2xlLWJ0biIgZGF0YS1wZXJpb2Q9InllYXJseSI+16nXoNeq15kgPHNwYW4gY2xhc3M9ImVxLXNhdmUtYmFkZ2UiPteX15nXodeb15XXnyAxNCU8L3NwYW4+PC9idXR0b24+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCg0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1wcmljaW5nLWdyaWQiPic7DQoNCiAgICAgICAgLy8g4pSA4pSAIENhcmQgMTogRnJlZS4NCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2UtY2FyZCI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2UtaGVhZGVyIj4nOw0KICAgICAgICBlY2hvICc8c3BhbiBjbGFzcz0iZXEtcHJpY2UtaWNvbiI+JiN4MWYzMGQ7PC9zcGFuPic7DQogICAgICAgIGVjaG8gJzxoMz5GcmVlPC9oMz4nOw0KICAgICAgICBlY2hvICc8cCBjbGFzcz0iZXEtcHJpY2Utc3VidGl0bGUiPtec16nXmdee15XXqSDXkNeZ16nXmSDXldeR16HXmdeh15k8L3A+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2UtYW1vdW50Ij48c3BhbiBjbGFzcz0iZXEtcHJpY2UtdmFsdWUiPiQwPC9zcGFuPjxzcGFuIGNsYXNzPSJlcS1wcmljZS1wZXJpb2QiPtec16rXnteZ15M8L3NwYW4+PC9kaXY+JzsNCiAgICAgICAgZWNobyAnPGEgaHJlZj0iLyIgY2xhc3M9ImVxLXByaWNlLWN0YSBlcS1wcmljZS1jdGEtb3V0bGluZSBlcS1hdXRoLXRyaWdnZXIiIGRhdGEtdGFiPSJyZWdpc3RlciI+15TXqteX15nXnNeVINeR15fXmdeg1508L2E+JzsNCiAgICAgICAgZWNobyAnPHVsIGNsYXNzPSJlcS1wcmljZS1mZWF0dXJlcyI+JzsNCiAgICAgICAgZWNobyAnPGxpIGNsYXNzPSJlcS1mZWF0LXllcyI+15LXmdep15Qg15zXm9ecINeU15vXnNeZ1508L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC15ZXMiPtei15nXkdeV15Mg157XnNeQINeR15PXpNeT16TXnzwvbGk+JzsNCiAgICAgICAgZWNobyAnPGxpIGNsYXNzPSJlcS1mZWF0LXllcyI+MTgg16nXpNeV16o8L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC15ZXMiPtec15zXkCDXlNeo16nXnteUINeX15XXkdeUPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7XlNeV16jXk9eUINeR16TXldeo157XmCBQTkc8L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC1ubyI+15TXldeo15PXlCDXkdek15XXqNee15ggU1ZHIC8gUERGPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQtbm8iPtei15nXkdeV15MgYmF0Y2ggKNee16jXldeR15Qg16fXkdem15nXnSk8L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC1ubyI+15zXnNeQIFdhdGVybWFyayAvIEJyYW5kaW5nPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQtbm8iPteo15bXldec15XXpteZ15Qg15LXkdeV15TXlCAoMjAwMHB4Kyk8L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC1ubyI+15LXmdep15Qg15wtQVBJPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQtbm8iPteq157Xmdeb15Qg157Xldei15PXpNeqPC9saT4nOw0KICAgICAgICBlY2hvICc8L3VsPic7DQogICAgICAgIGVjaG8gJzwvZGl2Pic7DQoNCiAgICAgICAgLy8g4pSA4pSAIENhcmQgMjogUHJvIE1vbnRobHkgKHJlY29tbWVuZGVkKS4NCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2UtY2FyZCBlcS1wcmljZS1jYXJkLXBybyIgZGF0YS1wZXJpb2Q9Im1vbnRobHkiPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNlLXJpYmJvbiI+15TXm9eZINek15XXpNeV15zXqNeZPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2UtaGVhZGVyIj4nOw0KICAgICAgICBlY2hvICc8c3BhbiBjbGFzcz0iZXEtcHJpY2UtaWNvbiI+JiN4MjZhMTs8L3NwYW4+JzsNCiAgICAgICAgZWNobyAnPGgzPlBybzwvaDM+JzsNCiAgICAgICAgZWNobyAnPHAgY2xhc3M9ImVxLXByaWNlLXN1YnRpdGxlIj7XnNep15nXnteV16kg157Xp9em15XXoteZINeV16nXldeY16M8L3A+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2UtYW1vdW50Ij48c3BhbiBjbGFzcz0iZXEtcHJpY2UtY3VycmVuY3kiPiQ8L3NwYW4+PHNwYW4gY2xhc3M9ImVxLXByaWNlLXZhbHVlIj43PC9zcGFuPjxzcGFuIGNsYXNzPSJlcS1wcmljZS1wZXJpb2QiPi/Xl9eV15PXqTwvc3Bhbj48L2Rpdj4nOw0KICAgICAgICBlY2hvICc8YSBocmVmPSIjIiBjbGFzcz0iZXEtcHJpY2UtY3RhIGVxLXByaWNlLWN0YS1wcmltYXJ5IiBkYXRhLWVxLWNoZWNrb3V0PSJwcm9fbW9udGhseSI+16nXk9eo15LXlSDXnC1Qcm88L2E+JzsNCiAgICAgICAgZWNobyAnPHVsIGNsYXNzPSJlcS1wcmljZS1mZWF0dXJlcyI+JzsNCiAgICAgICAgZWNobyAnPGxpIGNsYXNzPSJlcS1mZWF0LXllcyI+15vXnCDXnteUINep15EtRnJlZTwvbGk+JzsNCiAgICAgICAgZWNobyAnPGxpIGNsYXNzPSJlcS1mZWF0LXllcyI+15TXldeo15PXlCDXkS1TVkcsIFBERiwgRVBTPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7XoteZ15HXldeTIGJhdGNoIOKAlCDXnteo15XXkdeUINen15HXpteZ150g15HXlS3Xltee16DXmdeqPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7XnNec15AgV2F0ZXJtYXJrIC8gQnJhbmRpbmc8L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC15ZXMiPteo15bXldec15XXpteZ15Qg15LXkdeV15TXlCAo16LXkyA0MDAwcHgpPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7XkteZ16nXlCDXntec15DXlCDXnC1BUEk8L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC15ZXMiPldlYmhvb2sgaW50ZWdyYXRpb25zPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj5RUiBjb2RlcyDXk9eZ16DXnteZ15nXnSAo16LXqNeZ15vXlCArINeQ16DXnNeZ15jXmden16EpPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7Xqtee15nXm9eUINee15XXoteT16TXqjwvbGk+JzsNCiAgICAgICAgZWNobyAnPC91bD4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KDQogICAgICAgIC8vIOKUgOKUgCBDYXJkIDM6IFBybyBZZWFybHkuDQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNlLWNhcmQgZXEtcHJpY2UtY2FyZC15ZWFybHkiIGRhdGEtcGVyaW9kPSJ5ZWFybHkiPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNlLXJpYmJvbiBlcS1wcmljZS1yaWJib24tZ3JlZW4iPteX15nXodeb15XXnyDXqdeg16rXmTwvZGl2Pic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNlLWhlYWRlciI+JzsNCiAgICAgICAgZWNobyAnPHNwYW4gY2xhc3M9ImVxLXByaWNlLWljb24iPiYjeDFmNjgwOzwvc3Bhbj4nOw0KICAgICAgICBlY2hvICc8aDM+UHJvINep16DXqteZPC9oMz4nOw0KICAgICAgICBlY2hvICc8cCBjbGFzcz0iZXEtcHJpY2Utc3VidGl0bGUiPteQ15XXqtedINek15nXptez16jXmdedLCDXqtep15zXldedINee15XXltecPC9wPic7DQogICAgICAgIGVjaG8gJzwvZGl2Pic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXByaWNlLWFtb3VudCI+JzsNCiAgICAgICAgZWNobyAnPHNwYW4gY2xhc3M9ImVxLXByaWNlLWN1cnJlbmN5Ij4kPC9zcGFuPjxzcGFuIGNsYXNzPSJlcS1wcmljZS12YWx1ZSI+NzI8L3NwYW4+PHNwYW4gY2xhc3M9ImVxLXByaWNlLXBlcmlvZCI+L9ep16DXlDwvc3Bhbj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1wcmljZS1zYXZpbmciPteR157Xp9eV150gJDg0IOKAlCDXl9eZ16HXm9eV158g16nXnCAkMTIg15zXqdeg15Q8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8YSBocmVmPSIjIiBjbGFzcz0iZXEtcHJpY2UtY3RhIGVxLXByaWNlLWN0YS1wcmltYXJ5IiBkYXRhLWVxLWNoZWNrb3V0PSJwcm9fYW5udWFsIj7XqdeT16jXkteVINecLVBybyDXqdeg16rXmTwvYT4nOw0KICAgICAgICBlY2hvICc8dWwgY2xhc3M9ImVxLXByaWNlLWZlYXR1cmVzIj4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7Xm9ecINeU16TXmdem17PXqNeZ150g16nXnCBQcm88L2xpPic7DQogICAgICAgIGVjaG8gJzxsaSBjbGFzcz0iZXEtZmVhdC15ZXMiPteQ15XXqtefINeZ15vXldec15XXqiDXkdeT15nXldenPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7Xl9eZ16HXm9eV158g16nXnCB+MTQlINec16LXldee16og15fXldeT16nXmTwvbGk+JzsNCiAgICAgICAgZWNobyAnPGxpIGNsYXNzPSJlcS1mZWF0LXllcyI+15fXmdeV15Eg15DXl9eTINec16nXoNeUINep15zXnteUPC9saT4nOw0KICAgICAgICBlY2hvICc8bGkgY2xhc3M9ImVxLWZlYXQteWVzIj7Xqtee15nXm9eUINee15XXoteT16TXqjwvbGk+JzsNCiAgICAgICAgZWNobyAnPC91bD4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KDQogICAgICAgIGVjaG8gJzwvZGl2Pic7IC8vIGdyaWQuDQoNCiAgICAgICAgLy8g4pSA4pSAIENvdXBvbiBDb2RlIElucHV0IOKUgOKUgA0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1jb3Vwb24tc2VjdGlvbiIgaWQ9ImVxLWNvdXBvbi1zZWN0aW9uIj4nOw0KICAgICAgICBlY2hvICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImVxLWNvdXBvbi10b2dnbGUiIGlkPSJlcS1jb3Vwb24tdG9nZ2xlIj4mI3gxZjNhYjsg15nXqSDXnNeaINen15XXkyDXp9eV16TXldefPzwvYnV0dG9uPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLWNvdXBvbi1mb3JtIGVxLWhpZGRlbiIgaWQ9ImVxLWNvdXBvbi1mb3JtIj4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1jb3Vwb24taW5wdXQtd3JhcCI+JzsNCiAgICAgICAgZWNobyAnPGlucHV0IHR5cGU9InRleHQiIGlkPSJlcS1jb3Vwb24taW5wdXQiIGNsYXNzPSJlcS1jb3Vwb24taW5wdXQiIHBsYWNlaG9sZGVyPSLXlNeW15nXoNeVINen15XXkyDXp9eV16TXldefLi4uIiBkaXI9Imx0ciIgYXV0b2NvbXBsZXRlPSJvZmYiPic7DQogICAgICAgIGVjaG8gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZXEtY291cG9uLWFwcGx5IiBjbGFzcz0iZXEtY291cG9uLWFwcGx5Ij7XlNeX15w8L2J1dHRvbj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8ZGl2IGlkPSJlcS1jb3Vwb24tcmVzdWx0IiBjbGFzcz0iZXEtY291cG9uLXJlc3VsdCBlcS1oaWRkZW4iPjwvZGl2Pic7DQogICAgICAgIGVjaG8gJzwvZGl2Pic7DQogICAgICAgIGVjaG8gJzwvZGl2Pic7DQoNCiAgICAgICAgZWNobyAnPC9kaXY+JzsgLy8gaW5uZXIuDQogICAgICAgIGVjaG8gJzwvc2VjdGlvbj4nOw0KICAgIH0NCg0KICAgIC8qIOKUgOKUgCBGZWF0dXJlIENvbXBhcmlzb24gVGFibGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovDQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIHJlbmRlcl9mZWF0dXJlcygpOiB2b2lkIHsNCiAgICAgICAgZWNobyAnPHNlY3Rpb24gY2xhc3M9ImVxLXByaWNpbmctY29tcGFyZSI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2luZy1jb21wYXJlLWlubmVyIj4nOw0KICAgICAgICBlY2hvICc8aDI+15TXqdeV15XXkNeUINee16TXldeo15jXqjwvaDI+JzsNCiAgICAgICAgZWNobyAnPHAgY2xhc3M9ImVxLWNvbXBhcmUtc3VidGl0bGUiPteU16DXlCDXkdeT15nXldenINee15Qg16nXqten15HXnNeVINeR15vXnCDXnteh15zXldecPC9wPic7DQoNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtY29tcGFyZS10YWJsZS13cmFwIj4nOw0KICAgICAgICBlY2hvICc8dGFibGUgY2xhc3M9ImVxLWNvbXBhcmUtdGFibGUiPic7DQogICAgICAgIGVjaG8gJzx0aGVhZD48dHI+JzsNCiAgICAgICAgZWNobyAnPHRoPtek15nXptez16g8L3RoPjx0aD5GcmVlPC90aD48dGggY2xhc3M9ImVxLWNvbC1wcm8iPlBybzwvdGg+JzsNCiAgICAgICAgZWNobyAnPC90cj48L3RoZWFkPic7DQogICAgICAgIGVjaG8gJzx0Ym9keT4nOw0KDQogICAgICAgICRyb3dzID0gWw0KICAgICAgICAgICAgWyAn15LXmdep15Qg15zXm9ecINeU15vXnNeZ150nLCAgICAgICAgICAgICAgICAgICAgICB0cnVlLCAgdHJ1ZSAgXSwNCiAgICAgICAgICAgIFsgJ9ei15nXkdeV15Mg157XnNeQINeR15PXpNeT16TXnyAo15zXnNeQINeU16LXnNeQ15QpJywgICAgICAgIHRydWUsICB0cnVlICBdLA0KICAgICAgICAgICAgWyAn16rXnteZ15vXlCDXkS0xOCDXqdek15XXqicsICAgICAgICAgICAgICAgICAgICAgIHRydWUsICB0cnVlICBdLA0KICAgICAgICAgICAgWyAn15zXnNeQINeU16jXqdee15Qg15fXldeR15QnLCAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgIHRydWUgIF0sDQogICAgICAgICAgICBbICfXlNeV16jXk9eUINeR16TXldeo157XmCBQTkcnLCAgICAgICAgICAgICAgICAgICAgIHRydWUsICB0cnVlICBdLA0KICAgICAgICAgICAgWyAn15TXldeo15PXlCDXkdek15XXqNee15ggU1ZHIC8gUERGIC8gRVBTJywgICAgICAgICBmYWxzZSwgdHJ1ZSAgXSwNCiAgICAgICAgICAgIFsgJ9eo15bXldec15XXpteZ15Qg15LXkdeV15TXlCAo16LXkyA0MDAwcHgpJywgICAgICAgICAgICBmYWxzZSwgdHJ1ZSAgXSwNCiAgICAgICAgICAgIFsgJ9ei15nXkdeV15MgYmF0Y2gg4oCUINeb157XlCDXp9eR16bXmdedINeR15Ut15bXnteg15nXqicsICAgICAgZmFsc2UsIHRydWUgIF0sDQogICAgICAgICAgICBbICfXnNec15AgV2F0ZXJtYXJrIC8gQnJhbmRpbmcg16LXnCDXlNek15zXmCcsICAgICAgZmFsc2UsIHRydWUgIF0sDQogICAgICAgICAgICBbICdRUiBjb2RlcyDXk9eZ16DXnteZ15nXnSAoVVJMINep16DXmdeq158g15zXoteo15nXm9eUKScsICAgIGZhbHNlLCB0cnVlICBdLA0KICAgICAgICAgICAgWyAn15DXoNec15nXmNeZ16fXoSDXodeo15nXp9eV16ogUVIgKNee15nXp9eV150sINee15vXqdeZ16gpJywgICAgIGZhbHNlLCB0cnVlICBdLA0KICAgICAgICAgICAgWyAn15LXmdep15Qg15wtUkVTVCBBUEknLCAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsIHRydWUgIF0sDQogICAgICAgICAgICBbICdXZWJob29rIGludGVncmF0aW9ucycsICAgICAgICAgICAgICAgICAgIGZhbHNlLCB0cnVlICBdLA0KICAgICAgICAgICAgWyAn16rXnteZ15vXlCDXnteV16LXk9ek16ogKNee16LXoNeUINeq15XXmiAyNCDXqdei15XXqiknLCAgICAgICBmYWxzZSwgdHJ1ZSAgXSwNCiAgICAgICAgXTsNCg0KICAgICAgICBmb3JlYWNoICggJHJvd3MgYXMgJHJvdyApIHsNCiAgICAgICAgICAgIGVjaG8gJzx0cj4nOw0KICAgICAgICAgICAgZWNobyAnPHRkPicgLiBlc2NfaHRtbCggJHJvd1swXSApIC4gJzwvdGQ+JzsNCiAgICAgICAgICAgIGVjaG8gJzx0ZD4nIC4gKCAkcm93WzFdID8gJzxzcGFuIGNsYXNzPSJlcS1jaGVjayI+JiN4MjcxMzs8L3NwYW4+JyA6ICc8c3BhbiBjbGFzcz0iZXEteCI+JiN4MjcxNzs8L3NwYW4+JyApIC4gJzwvdGQ+JzsNCiAgICAgICAgICAgIGVjaG8gJzx0ZCBjbGFzcz0iZXEtY29sLXBybyI+JyAuICggJHJvd1syXSA/ICc8c3BhbiBjbGFzcz0iZXEtY2hlY2siPiYjeDI3MTM7PC9zcGFuPicgOiAnPHNwYW4gY2xhc3M9ImVxLXgiPiYjeDI3MTc7PC9zcGFuPicgKSAuICc8L3RkPic7DQogICAgICAgICAgICBlY2hvICc8L3RyPic7DQogICAgICAgIH0NCg0KICAgICAgICBlY2hvICc8L3Rib2R5PjwvdGFibGU+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPC9zZWN0aW9uPic7DQogICAgfQ0KDQogICAgLyog4pSA4pSAIFVzZSBDYXNlcyBTZWN0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqLw0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiByZW5kZXJfdXNlX2Nhc2VzKCk6IHZvaWQgew0KICAgICAgICBlY2hvICc8c2VjdGlvbiBjbGFzcz0iZXEtcHJpY2luZy11c2VjYXNlcyI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2luZy11c2VjYXNlcy1pbm5lciI+JzsNCiAgICAgICAgZWNobyAnPGgyPtec157XmSDXlteUINee16rXkNeZ150/PC9oMj4nOw0KDQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXVzZWNhc2UtZ3JpZCI+JzsNCg0KICAgICAgICAvLyBDcmVhdG9ycy4NCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtdXNlY2FzZS1jYXJkIj4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS11c2VjYXNlLWljb24iPiYjeDFmM2E4OzwvZGl2Pic7DQogICAgICAgIGVjaG8gJzxoMz7XmdeV16bXqNeZINeq15XXm9efPC9oMz4nOw0KICAgICAgICBlY2hvICc8cD7Xoteo15nXm9eqINeq157Xldeg15XXqiwg15PXl9eZ16HXqiDXldeZ15PXkNeVLCDXmdem15nXqNeqIFFSIGNvZGVzINee16LXldem15HXmdedIOKAlCDXlNeb15wg15HXk9ek15PXpNefLCDXkdec15kg15zXlNeq16fXmdefINeb15zXldedLjwvcD4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS11c2VjYXNlLXBsYW4iPjxzdHJvbmc+157XqteX15nXnNeZ150g16LXnTo8L3N0cm9uZz4gRnJlZTwvZGl2Pic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXVzZWNhc2UtcGxhbiI+PHN0cm9uZz7Xntep15PXqNeS15nXnSDXnDo8L3N0cm9uZz4gUHJvIOKAlCDXm9ep16bXqNeZ15vXmdedIGJhdGNoLCBTVkcsINeV15zXnNeQIGJyYW5kaW5nPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCg0KICAgICAgICAvLyBEZXZlbG9wZXJzLg0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS11c2VjYXNlLWNhcmQiPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXVzZWNhc2UtaWNvbiI+JiN4MWY0YmI7PC9kaXY+JzsNCiAgICAgICAgZWNobyAnPGgzPtee16TXqteX15nXnTwvaDM+JzsNCiAgICAgICAgZWNobyAnPHA+15vXnNeZIFNFTywgUVIgY29kZSBBUEksIEpTT04gZm9ybWF0dGVyIOKAlCDXm9ec15nXnSDXqdeX15XXodeb15nXnSDXltee158g15HXmdeV157XmdeV150uINeS15nXqdeUINecLUFQSSDXotedIFByby48L3A+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtdXNlY2FzZS1wbGFuIj48c3Ryb25nPtee16rXl9eZ15zXmdedINei1506PC9zdHJvbmc+IEZyZWU8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS11c2VjYXNlLXBsYW4iPjxzdHJvbmc+157XqdeT16jXkteZ150g15w6PC9zdHJvbmc+IFBybyDigJQg15vXqdem16jXmdeb15nXnSBBUEksIHdlYmhvb2tzLCDXldeQ15XXmNeV157XpteZ15Q8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KDQogICAgICAgIC8vIEJ1c2luZXNzZXMuDQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXVzZWNhc2UtY2FyZCI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtdXNlY2FzZS1pY29uIj4mI3gxZjRiYzs8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8aDM+16LXoden15nXnSDXp9eY16DXmdedPC9oMz4nOw0KICAgICAgICBlY2hvICc8cD5RUiBjb2RlcyDXk9eZ16DXnteZ15nXnSDXnNeq16TXqNeZ15jXmdedLCDXm9eo15jXmdeh15kg15HXmden15XXqCwg15fXldee16jXmSDXqdeZ15XXldenIOKAlCDXotedINeQ16DXnNeZ15jXmden16Eg15XXntei16fXkSDXodeo15nXp9eV16ouPC9wPic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLXVzZWNhc2UtcGxhbiI+PHN0cm9uZz7Xnteq15fXmdec15nXnSDXotedOjwvc3Ryb25nPiBGcmVlPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtdXNlY2FzZS1wbGFuIj48c3Ryb25nPtee16nXk9eo15LXmdedINecOjwvc3Ryb25nPiBQcm8g4oCUINec16DXmdeU15XXnCBRUiBjb2RlcyDXk9eZ16DXnteZ15nXnSDXldee16LXp9eRPC9kaXY+JzsNCiAgICAgICAgZWNobyAnPC9kaXY+JzsNCg0KICAgICAgICBlY2hvICc8L2Rpdj4nOyAvLyBncmlkLg0KICAgICAgICBlY2hvICc8L2Rpdj4nOyAvLyBpbm5lci4NCiAgICAgICAgZWNobyAnPC9zZWN0aW9uPic7DQogICAgfQ0KDQogICAgLyog4pSA4pSAIEZBUSBTZWN0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqLw0KDQogICAgcHJpdmF0ZSBmdW5jdGlvbiByZW5kZXJfZmFxKCk6IHZvaWQgew0KICAgICAgICAkZmFxcyA9IFsNCiAgICAgICAgICAgIFsNCiAgICAgICAgICAgICAgICAncScgPT4gJ9eU15DXnSDXlNeb15zXmdedINeU15fXmdeg157XmdeZ150g15nXmdep15DXqNeVINeX15nXoNee15nXmdedPycsDQogICAgICAgICAgICAgICAgJ2EnID0+ICfXm9efLCDXnNeS157XqNeZLiDXlNeU15HXmNeX15Qg16nXnNeg15Ug15HXqNeV16jXlCDigJQg15vXnCDXlNeb15zXmdedINeU15HXodeZ16HXmdeZ150g16nXnCBFcXVhbHphINeX15nXoNee15nXmdedINeV15nXmdep15DXqNeVINeX15nXoNee15nXmdedINec16rXnteZ15MuINee16HXnNeV15wgUHJvINee15XXodeZ16Mg16TXmdem17PXqNeZ150g157Xqten15PXnteZ150sINeQ15HXnCDXnNeQINeX15XXodedINeQ16og157XlCDXqdeb15HXqCDXoteV15HXky4nLA0KICAgICAgICAgICAgXSwNCiAgICAgICAgICAgIFsNCiAgICAgICAgICAgICAgICAncScgPT4gJ9ee15Qg15TXlNeR15PXnCDXkdeZ158g157Xodec15XXnCDXl9eV15PXqdeZINec16nXoNeq15k/JywNCiAgICAgICAgICAgICAgICAnYScgPT4gJ9eQ15nXnyDXlNeR15PXnCDXkdek15nXptez16jXmdedIOKAlCDXqdeg15kg15TXnteh15zXldec15nXnSDXoNeV16rXoNeZ150g15HXk9eZ15XXpyDXkNeqINeQ15XXqtefINeZ15vXldec15XXqiBQcm8uINeU15TXkdeT15wg15TXmdeX15nXkyDXlNeV15Ag15HXqtep15zXldedOiDXl9eV15PXqdeZINei15XXnNeUICQ3INec15fXldeT16ksINep16DXqteZINei15XXnNeUICQ3MiDXnNep16DXlCAo15fXmdeh15vXldefINep15wgfjE0JSkuINeR16nXoNeq15kg15DXqtedINee16nXnNee15nXnSDXpNei150g15DXl9eqINeV16DXlNeg15nXnSDXqdeg15Qg16nXnNee15QuJywNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgJ3EnID0+ICfXlNeQ150g16bXqNeZ15og15zXlNeZ16jXqdedINeb15PXmSDXnNeU16nXqtee16kg15HXm9ec15nXnT8nLA0KICAgICAgICAgICAgICAgICdhJyA9PiAn15zXkC4g15TXm9ec15nXnSDXlNeX15nXoNee15nXmdedINei15XXkdeT15nXnSDXnteZ15MsINec15zXkCDXlNeo16nXnteULiDXm9eT15kg15zXqdeT16jXkiDXnC1Qcm8g16rXpteY16jXm9eVINec15nXpteV16gg15fXqdeR15XXnyDigJQg15bXlCDXlNeb15wuJywNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgJ3EnID0+ICfXkNeZ15og157XqteR16bXoiDXlNeq16nXnNeV150/JywNCiAgICAgICAgICAgICAgICAnYScgPT4gJ9eU16rXqdec15XXnSDXnteq15HXpteiINeR15DXldek158g157XkNeV15HXmNeXINeT16jXmiDXm9eo15jXmdehINeQ16nXqNeQ15kg15DXlSBQYXlQYWwuINeU15fXmdeV15Eg157XqteX15PXqSDXkNeV15jXldee15jXmdeqICjXl9eV15PXqdeZINeQ15Ug16nXoNeq15ksINeq15zXldeZINeR157Xodec15XXnCDXqdeR15fXqNeq150pLiDXkNek16nXqCDXnNeR15jXnCDXkdeb15wg16jXkteiLicsDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgWw0KICAgICAgICAgICAgICAgICdxJyA9PiAn15TXkNedINeZ16kg15TXl9eW16gg15vXodek15k/JywNCiAgICAgICAgICAgICAgICAnYScgPT4gJ9eb158uINeQ16DXl9eg15Ug157XpteZ16LXmdedIDE0INeZ15XXnSDXnNeU15fXlteoINeb16HXpNeZINee15zXkCwg15zXnNeQINep15DXnNeV16ouINeQ150gUHJvINec15Ag157XqteQ15nXnSDXnNeb150g4oCUINek16nXldeYINek16DXlSDXkNec15nXoNeVINeV16rXp9eR15zXlSDXlNeX15bXqCDXntec15AuJywNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgJ3EnID0+ICfXlNeQ150g15TXoNeq15XXoNeZ150g16nXnNeZINeg16nXnteo15nXnSDXotecINeU16nXqNeqPycsDQogICAgICAgICAgICAgICAgJ2EnID0+ICfXnNeQLiDXm9ecINeU15vXnNeZ150g157XoteR15PXmdedINen15HXpteZ150g157Xp9eV157XmdeqINeR15PXpNeT16TXnyDXqdec15vXnS4g16nXldedINen15XXkdelINec15Ag16LXldec15Qg15zXqdeo16rXmdedINep15zXoNeVLiDXlteUINeU15zXmdeR15Qg16nXnCBFcXVhbHphIOKAlCDXpNeo15jXmdeV16og157XnNeQ15QuJywNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgJ3EnID0+ICfXnteUINeW15QgUVIgY29kZXMg15PXmdeg157XmdeZ150/JywNCiAgICAgICAgICAgICAgICAnYScgPT4gJ1FSIGNvZGUg15PXmdeg157XmSDXnteQ16TXqdeoINec15vXnSDXnNep16DXldeqINeQ16og15vXqteV15HXqiDXlNeZ16LXkyDXktedINeQ15fXqNeZINep15TXk9ek16HXqtedINeQ15XXqteVLiDXkdeg15XXodejLCDXqten15HXnNeVINeQ16DXnNeZ15jXmden16Eg16LXnCDXm9ecINeh16jXmden15Qg4oCUINee15nXp9eV150sINee15vXqdeZ16gsINeW157Xny4g16TXmdem17PXqCDXlteUINeW157XmdefINeo16cg15HXnteh15zXldecIFByby4nLA0KICAgICAgICAgICAgXSwNCiAgICAgICAgICAgIFsNCiAgICAgICAgICAgICAgICAncScgPT4gJ9eQ16TXqdeoINec15HXmNecINee16DXldeZINeR15vXnCDXltee158/JywNCiAgICAgICAgICAgICAgICAnYScgPT4gJ9eb158sINec15LXnteo15kuINeQ16TXqdeoINec15HXmNecINee16DXldeZIFBybyDXkdeb15wg16jXkteiINee15DXlteV16gg15TXl9ep15HXldefLiDXkNeX16jXmSDXkdeZ15jXldecINeq157XqdeZ15vXlSDXnNeZ15TXoNeV16og154tUHJvINei15Mg16HXldejINeq16fXldek16og15TXl9eZ15XXkSwg15XXkNeWINeq15fXlteo15Ug15DXldeY15XXnteY15nXqiDXnC1GcmVlLicsDQogICAgICAgICAgICBdLA0KICAgICAgICBdOw0KDQogICAgICAgIGVjaG8gJzxzZWN0aW9uIGNsYXNzPSJlcS1wcmljaW5nLWZhcSI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2luZy1mYXEtaW5uZXIiPic7DQogICAgICAgIGVjaG8gJzxoMj7XqdeQ15zXldeqINeg16TXldem15XXqjwvaDI+JzsNCg0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1mYXEtbGlzdCI+JzsNCiAgICAgICAgZm9yZWFjaCAoICRmYXFzIGFzICRpID0+ICRmYXEgKSB7DQogICAgICAgICAgICAkaWQgPSAnZXEtcGZhcS0nIC4gJGk7DQogICAgICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1mYXEtaXRlbSI+JzsNCiAgICAgICAgICAgIGVjaG8gJzxidXR0b24gY2xhc3M9ImVxLWZhcS1xIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iJyAuICRpZCAuICciPic7DQogICAgICAgICAgICBlY2hvIGVzY19odG1sKCAkZmFxWydxJ10gKTsNCiAgICAgICAgICAgIGVjaG8gJzxzdmcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPic7DQogICAgICAgICAgICBlY2hvICc8L2J1dHRvbj4nOw0KICAgICAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtZmFxLWEiIGlkPSInIC4gJGlkIC4gJyI+JyAuIGVzY19odG1sKCAkZmFxWydhJ10gKSAuICc8L2Rpdj4nOw0KICAgICAgICAgICAgZWNobyAnPC9kaXY+JzsNCiAgICAgICAgfQ0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KDQogICAgICAgIGVjaG8gJzwvZGl2Pic7DQogICAgICAgIGVjaG8gJzwvc2VjdGlvbj4nOw0KICAgIH0NCg0KICAgIC8qIOKUgOKUgCBDVEEgU2VjdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi8NCg0KICAgIHByaXZhdGUgZnVuY3Rpb24gcmVuZGVyX2N0YSgpOiB2b2lkIHsNCiAgICAgICAgZWNobyAnPHNlY3Rpb24gY2xhc3M9ImVxLXByaWNpbmctYm90dG9tLWN0YSI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtcHJpY2luZy1ib3R0b20tY3RhLWlubmVyIj4nOw0KICAgICAgICBlY2hvICc8aDI+157Xldeb16DXmdedINec15TXqteX15nXnD88L2gyPic7DQogICAgICAgIGVjaG8gJzxwPteU16rXl9eZ15zXlSDXnNeU16nXqtee16kg15HXm9ec15nXnSDXkdeX15nXoNedIOKAlCDXldep15PXqNeS15Ug15vXqdeq16jXpteVLjwvcD4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1wcmljaW5nLWN0YS1idG5zIj4nOw0KICAgICAgICBlY2hvICc8YSBocmVmPSIvIiBjbGFzcz0iZXEtcHJpY2UtY3RhIGVxLXByaWNlLWN0YS1wcmltYXJ5Ij7Xktec15Ug15DXqiDXlNeb15zXmdedPC9hPic7DQogICAgICAgIGVjaG8gJzxhIGhyZWY9IiNlcS1wcmljaW5nLWNhcmRzIiBjbGFzcz0iZXEtcHJpY2UtY3RhIGVxLXByaWNlLWN0YS1vdXRsaW5lIj7Xptek15Ug15HXnteh15zXldec15nXnTwvYT4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8L3NlY3Rpb24+JzsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgQ2hlY2tvdXQgTW9kYWwgKGlmcmFtZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovDQoNCiAgICBwcml2YXRlIGZ1bmN0aW9uIHJlbmRlcl9jaGVja291dF9tb2RhbCgpOiB2b2lkIHsNCiAgICAgICAgJGJ0ID0gW107DQogICAgICAgIGlmICggZnVuY3Rpb25fZXhpc3RzKCAnZXF1YWx6YV9iaWxsaW5nX3RyYW5zbGF0aW9ucycgKSApIHsNCiAgICAgICAgICAgICRidCA9IGVxdWFsemFfYmlsbGluZ190cmFuc2xhdGlvbnMoKVsnaGUnXSA/PyBlcXVhbHphX2JpbGxpbmdfdHJhbnNsYXRpb25zKClbJ2VuJ107DQogICAgICAgIH0NCiAgICAgICAgJHRpdGxlID0gJGJ0WydjaGVja291dF90aXRsZSddID8/ICdTZWN1cmUgUGF5bWVudCc7DQoNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtY2hlY2tvdXQtbW9kYWwiIGlkPSJlcS1jaGVja291dC1tb2RhbCI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtY2hlY2tvdXQtbW9kYWwtYmFja2Ryb3AiPjwvZGl2Pic7DQogICAgICAgIGVjaG8gJzxkaXYgY2xhc3M9ImVxLWNoZWNrb3V0LW1vZGFsLWNvbnRhaW5lciI+JzsNCiAgICAgICAgZWNobyAnPGRpdiBjbGFzcz0iZXEtY2hlY2tvdXQtbW9kYWwtaGVhZGVyIj4nOw0KICAgICAgICBlY2hvICc8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxyZWN0IHg9IjEiIHk9IjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNiIgcng9IjIiIHJ5PSIyIi8+PGxpbmUgeDE9IjEiIHkxPSIxMCIgeDI9IjIzIiB5Mj0iMTAiLz48L3N2Zz4nOw0KICAgICAgICBlY2hvICc8c3BhbiBjbGFzcz0iZXEtY2hlY2tvdXQtbW9kYWwtdGl0bGUiPicgLiBlc2NfaHRtbCggJHRpdGxlICkgLiAnPC9zcGFuPic7DQogICAgICAgIGVjaG8gJzxidXR0b24gY2xhc3M9ImVxLWNoZWNrb3V0LW1vZGFsLWNsb3NlIiBpZD0iZXEtY2hlY2tvdXQtY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIj4nOw0KICAgICAgICBlY2hvICc8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48L3N2Zz4nOw0KICAgICAgICBlY2hvICc8L2J1dHRvbj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1jaGVja291dC1tb2RhbC1ib2R5Ij4nOw0KICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPSJlcS1jaGVja291dC1sb2FkZXIiIGlkPSJlcS1jaGVja291dC1sb2FkZXIiPjxkaXYgY2xhc3M9ImVxLWNoZWNrb3V0LXNwaW5uZXIiPjwvZGl2PjwvZGl2Pic7DQogICAgICAgIGVjaG8gJzxpZnJhbWUgaWQ9ImVxLWNoZWNrb3V0LWlmcmFtZSIgY2xhc3M9ImVxLWNoZWNrb3V0LWlmcmFtZSIgYWxsb3c9InBheW1lbnQiIHNhbmRib3g9ImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXRvcC1uYXZpZ2F0aW9uIj48L2lmcmFtZT4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgICAgICBlY2hvICc8L2Rpdj4nOw0KICAgIH0NCn0NCg==PD9waHANCi8qKg0KICogQmlsbGluZyAmIFN1YnNjcmlwdGlvbiBVSSB0cmFuc2xhdGlvbnMgZm9yIGFsbCAxOCBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLg0KICovDQpkZWZpbmVkKCAnQUJTUEFUSCcgKSB8fCBleGl0Ow0KDQpmdW5jdGlvbiBlcXVhbHphX2JpbGxpbmdfdHJhbnNsYXRpb25zKCk6IGFycmF5IHsNCiAgICByZXR1cm4gWw0KICAgICAgICAnZW4nID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ0JpbGxpbmcnLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAnRnJlZScsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8gTW9udGhseScsDQogICAgICAgICAgICAncGxhbl9wcm9fYW5udWFsJyAgICAgID0+ICdQcm8gQW5udWFsJywNCiAgICAgICAgICAgICdjdXJyZW50X3BsYW4nICAgICAgICAgPT4gJ0N1cnJlbnQgUGxhbicsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICdZb3VcJ3JlIG9uIHRoZSBGcmVlIHBsYW4uJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ1VwZ3JhZGUgdG8gUHJvIGZvciB1bmxpbWl0ZWQgYWNjZXNzIHRvIGFsbCB0b29scy4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfbW9udGhseScgICAgICA9PiAnVXBncmFkZSDigJQgJDcvbW8nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfYW5udWFsJyAgICAgICA9PiAnVXBncmFkZSDigJQgJDYvbW8gKGJpbGxlZCAkNzIveXIpJywNCiAgICAgICAgICAgICdzYXZlX3BlcmNlbnQnICAgICAgICAgPT4gJ1NhdmUgMTQlJywNCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgICAgPT4gJ1N0YXR1cycsDQogICAgICAgICAgICAnc3RhdHVzX2FjdGl2ZScgICAgICAgID0+ICdBY3RpdmUnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnQ2FuY2VsbGVkJywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ0V4cGlyZWQnLA0KICAgICAgICAgICAgJ3N0YXR1c19wYXN0X2R1ZScgICAgICA9PiAnUGF5bWVudCBGYWlsZWQnLA0KICAgICAgICAgICAgJ25leHRfYmlsbGluZycgICAgICAgICA9PiAnTmV4dCBiaWxsaW5nJywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ1BybyBhY2Nlc3MgdW50aWwnLA0KICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyAgICAgICA9PiAnUGF5bWVudCBNZXRob2QnLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAnQ2FuY2VsIFN1YnNjcmlwdGlvbicsDQogICAgICAgICAgICAnY2FuY2VsX2NvbmZpcm0nICAgICAgID0+ICdBcmUgeW91IHN1cmU/IFlvdVwnbGwga2VlcCBQcm8gYWNjZXNzIHVudGlsIHRoZSBlbmQgb2YgeW91ciBjdXJyZW50IGJpbGxpbmcgcGVyaW9kLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICdZZXMsIENhbmNlbCcsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICdSZWFjdGl2YXRlIFN1YnNjcmlwdGlvbicsDQogICAgICAgICAgICAncGF5bWVudF9oaXN0b3J5JyAgICAgID0+ICdQYXltZW50IEhpc3RvcnknLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnTm8gcGF5bWVudHMgeWV0LicsDQogICAgICAgICAgICAnZGF0ZScgICAgICAgICAgICAgICAgID0+ICdEYXRlJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ0Ftb3VudCcsDQogICAgICAgICAgICAnaW52b2ljZScgICAgICAgICAgICAgID0+ICdJbnZvaWNlJywNCiAgICAgICAgICAgICdkb3dubG9hZCcgICAgICAgICAgICAgPT4gJ0Rvd25sb2FkJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ1BhaWQnLA0KICAgICAgICAgICAgJ2ZhaWxlZCcgICAgICAgICAgICAgICA9PiAnRmFpbGVkJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ1BlbmRpbmcnLA0KICAgICAgICAgICAgJ3Byb3JhdGUnICAgICAgICAgICAgICA9PiAnUHJvcmF0ZWQnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAnQ291bGQgbm90IHN0YXJ0IGNoZWNrb3V0LiBQbGVhc2UgdHJ5IGFnYWluLicsDQogICAgICAgICAgICAnYWxyZWFkeV9zdWJzY3JpYmVkJyAgID0+ICdZb3UgYWxyZWFkeSBoYXZlIGFuIGFjdGl2ZSBQcm8gc3Vic2NyaXB0aW9uLicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdXZWxjb21lIHRvIFBybyEgWW91ciBzdWJzY3JpcHRpb24gaXMgbm93IGFjdGl2ZS4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfZmFpbGVkJyAgICAgICA9PiAnUGF5bWVudCB3YXMgbm90IGNvbXBsZXRlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAnWW91ciBsYXN0IHBheW1lbnQgZmFpbGVkLiBQbGVhc2UgdXBkYXRlIHlvdXIgcGF5bWVudCBtZXRob2QuJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy9tbycsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcveXInLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X3RpdGxlJyAgICAgICA9PiAnU2VjdXJlIFBheW1lbnQnLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnU3Vic2NyaWJpbmcgbWlkLW1vbnRoPyBZb3VyIGZpcnN0IGNoYXJnZSB3aWxsIGJlIHByb3JhdGVkIOKAlCB5b3Ugb25seSBwYXkgZm9yIHRoZSByZW1haW5pbmcgZGF5cyB1bnRpbCB0aGUgMXN0LiBBZnRlciB0aGF0LCB0aGUgZnVsbCBtb250aGx5IHByaWNlIGFwcGxpZXMuJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ0dyYWNlIFBlcmlvZCcsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICdSZW5ldyBOb3cnLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAnWW91ciBhY2Nlc3Mgd2lsbCBlbmQgc29vbi4gUGxlYXNlIHJlbmV3IHRvIGtlZXAgeW91ciBQcm8gZmVhdHVyZXMuJywNCiAgICAgICAgICAgICdjaGFyZ2VfZmFpbHVyZXNfbm90aWNlJz0+ICdXZSBoYWQgdHJvdWJsZSBwcm9jZXNzaW5nIHlvdXIgbGFzdCBwYXltZW50LiBZb3VyIGFjY2VzcyBtYXkgYmUgYWZmZWN0ZWQgaWYgdGhpcyBjb250aW51ZXMuJywNCiAgICAgICAgXSwNCiAgICAgICAgJ2hlJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICfXl9eZ15XXkScsDQogICAgICAgICAgICAncGxhbl9mcmVlJyAgICAgICAgICAgID0+ICfXl9eZ16DXnScsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8g15fXldeT16nXmScsDQogICAgICAgICAgICAncGxhbl9wcm9fYW5udWFsJyAgICAgID0+ICdQcm8g16nXoNeq15knLA0KICAgICAgICAgICAgJ2N1cnJlbnRfcGxhbicgICAgICAgICA9PiAn157XoNeV15kg16DXldeb15fXmScsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICfXkNeq15Qg15HXnteg15XXmSDXlNeX15nXoNee15kuJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ9ep15PXqNeS15Ug15wtUHJvINec15LXmdep15Qg15HXnNeq15kg157XldeS15HXnNeqINec15vXnCDXlNeb15zXmdedLicsDQogICAgICAgICAgICAndXBncmFkZV9tb250aGx5JyAgICAgID0+ICfXqdeT16jXldeSIOKAlCAkNy/Xl9eV15PXqScsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICfXqdeT16jXldeSIOKAlCAkNi/Xl9eV15PXqSAo15fXmdeV15EgJDcyL9ep16DXlCknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAn15fXodeb15UgMTQlJywNCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgICAgPT4gJ9eh15jXmNeV16EnLA0KICAgICAgICAgICAgJ3N0YXR1c19hY3RpdmUnICAgICAgICA9PiAn16TXoteZ15wnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAn15HXldeY15wnLA0KICAgICAgICAgICAgJ3N0YXR1c19leHBpcmVkJyAgICAgICA9PiAn16TXkiDXqteV16fXoycsDQogICAgICAgICAgICAnc3RhdHVzX3Bhc3RfZHVlJyAgICAgID0+ICfXqtep15zXldedINeg15vXqdecJywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ9eX15nXldeRINeU15HXkCcsDQogICAgICAgICAgICAnYWNjZXNzX3VudGlsJyAgICAgICAgID0+ICfXkteZ16nXqiBQcm8g16LXkycsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICfXkNee16bXoteZINeq16nXnNeV150nLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAn15HXmdeY15XXnCDXnteg15XXmScsDQogICAgICAgICAgICAnY2FuY2VsX2NvbmZpcm0nICAgICAgID0+ICfXkdeY15XXlz8g16rXqdee16jXlSDXkteZ16nXqiBQcm8g16LXkyDXodeV16Mg16rXp9eV16TXqiDXlNeX15nXldeRINeU16DXldeb15fXmdeqLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICfXm9efLCDXkdeY15zXlScsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICfXlNek16LXnNeUINee15fXk9epJywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ9eU15nXodeY15XXqNeZ15nXqiDXqtep15zXldee15nXnScsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICfXkNeZ158g16rXqdec15XXnteZ150g16LXk9eZ15nXny4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAn16rXkNeo15nXmicsDQogICAgICAgICAgICAnYW1vdW50JyAgICAgICAgICAgICAgID0+ICfXodeb15XXnScsDQogICAgICAgICAgICAnaW52b2ljZScgICAgICAgICAgICAgID0+ICfXl9ep15HXldeg15nXqicsDQogICAgICAgICAgICAnZG93bmxvYWQnICAgICAgICAgICAgID0+ICfXlNeV16jXk9eUJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ9ep15XXnNedJywNCiAgICAgICAgICAgICdmYWlsZWQnICAgICAgICAgICAgICAgPT4gJ9eg15vXqdecJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ9ee157XqteZ158nLA0KICAgICAgICAgICAgJ3Byb3JhdGUnICAgICAgICAgICAgICA9PiAn15nXl9eh15knLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAn15zXkCDXoNeZ16rXnyDXnNeU16rXl9eZ15wg16rXqdec15XXnS4g16DXodeVINep15XXkS4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAn15vXkdeoINeZ16kg15zXm9edINee16DXldeZIFBybyDXpNei15nXnC4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfc3VjY2VzcycgICAgICA9PiAn15HXqNeV15vXmdedINeU15HXkNeZ150g15wtUHJvISDXlNee16DXldeZINep15zXm9edINek16LXmdecLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICfXlNeq16nXnNeV150g15zXkCDXlNeV16nXnNedLiDXoNeh15Ug16nXldeRLicsDQogICAgICAgICAgICAncGF5bWVudF9mYWlsZWRfYmFubmVyJz0+ICfXlNeq16nXnNeV150g15TXkNeX16jXldefINeg15vXqdecLiDXoteT15vXoNeVINeQ16og15DXntem16LXmSDXlNeq16nXnNeV150uJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy/Xl9eV15PXqScsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcv16nXoNeUJywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ9eq16nXnNeV150g157XkNeV15HXmNeXJywNCiAgICAgICAgICAgICdwcm9yYXRpb25fbm90aWNlJyAgICAgPT4gJ9eg16jXqdee15nXnSDXkdeQ157XpteiINeU15fXldeT16k/INeU15fXmdeV15Eg15TXqNeQ16nXldefINeZ15TXmdeUINeZ15fXodeZIOKAlCDXqtep15zXnteVINeo16cg16LXnCDXlNeZ157XmdedINep16DXldeq16jXlSDXoteTINecLTEg15HXl9eV15PXqSDXlNeR15AuINec15DXl9eoINee15vXnywg15TXnteX15nXqCDXlNeX15XXk9ep15kg15TXntec15Ag15nXmdeb16DXoSDXnNeq15XXp9ejLicsDQogICAgICAgICAgICAnc3RhdHVzX2dyYWNlJyAgICAgICAgID0+ICfXqten15XXpNeqINeX16HXkycsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICfXl9eZ15PXldepINei15vXqdeZ15UnLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAn15TXkteZ16nXlCDXqdec15vXnSDXoteV157Xk9eqINec15TXodeq15nXmdedLiDXl9eT16nXlSDXkNeqINeU157XoNeV15kg15vXk9eZINec16nXnteV16gg16LXnCDXqteb15XXoNeV16ogUHJvLicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAn16DXqten15zXoNeVINeR15HXoteZ15Qg15HXoteZ15HXldeTINeU16rXqdec15XXnSDXlNeQ15fXqNeV158uINeU15LXmdep15Qg16nXnNeb150g16LXnNeV15zXlCDXnNeU15nXpNeS16Ig15DXnSDXlteUINeZ157XqdeZ15ouJywNCiAgICAgICAgXSwNCiAgICAgICAgJ2FyJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICfYp9mE2YHZiNin2KrZitixJywNCiAgICAgICAgICAgICdwbGFuX2ZyZWUnICAgICAgICAgICAgPT4gJ9mF2KzYp9mG2YonLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX21vbnRobHknICAgICA9PiAnUHJvINi02YfYsdmKJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyDYs9mG2YjZiicsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICfYp9mE2K7Yt9ipINin2YTYrdin2YTZitipJywNCiAgICAgICAgICAgICdmcmVlX2Rlc2MnICAgICAgICAgICAgPT4gJ9ij2YbYqiDYudmE2Ykg2KfZhNiu2LfYqSDYp9mE2YXYrNin2YbZitipLicsDQogICAgICAgICAgICAnZnJlZV91cGdyYWRlX2N0YScgICAgID0+ICfZgtmFINio2KfZhNiq2LHZgtmK2Kkg2KXZhNmJIFBybyDZhNmE2YjYtdmI2YQg2LrZitixINin2YTZhdit2K/ZiNivINmE2KzZhdmK2Lkg2KfZhNij2K/ZiNin2KouJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ9iq2LHZgtmK2Kkg4oCUICQ3L9i02YfYsScsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICfYqtix2YLZitipIOKAlCAkNi/YtNmH2LEgKCQ3Mi/Ys9mG2KkpJywNCiAgICAgICAgICAgICdzYXZlX3BlcmNlbnQnICAgICAgICAgPT4gJ9mI2YHYsSAxNCUnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAn2KfZhNit2KfZhNipJywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ9mG2LTYtycsDQogICAgICAgICAgICAnc3RhdHVzX2NhbmNlbGxlZCcgICAgID0+ICfZhdmE2LrZiScsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICfZhdmG2KrZh9mKJywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ9mB2LTZhCDYp9mE2K/Zgdi5JywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ9in2YTZgdin2KrZiNix2Kkg2KfZhNiq2KfZhNmK2KknLA0KICAgICAgICAgICAgJ2FjY2Vzc191bnRpbCcgICAgICAgICA9PiAn2YjYtdmI2YQgUHJvINit2KrZiScsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICfZiNiz2YrZhNipINin2YTYr9mB2LknLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAn2KXZhNi62KfYoSDYp9mE2KfYtNiq2LHYp9mDJywNCiAgICAgICAgICAgICdjYW5jZWxfY29uZmlybScgICAgICAgPT4gJ9mH2YQg2KPZhtiqINmF2KrYo9mD2K/YnyDYs9iq2K3YqtmB2Lgg2KjZiNi12YjZhCBQcm8g2K3YqtmJINmG2YfYp9mK2Kkg2YHYqtix2Kkg2KfZhNmB2YjYqtix2KkuJywNCiAgICAgICAgICAgICdjYW5jZWxfYnRuJyAgICAgICAgICAgPT4gJ9mG2LnZhdiMINil2YTYutin2KEnLA0KICAgICAgICAgICAgJ3JlYWN0aXZhdGUnICAgICAgICAgICA9PiAn2KXYudin2K/YqSDYqtmB2LnZitmEJywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ9iz2KzZhCDYp9mE2K/Zgdi52KfYqicsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICfZhNinINiq2YjYrNivINmF2K/ZgdmI2LnYp9iqINio2LnYry4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAn2KfZhNiq2KfYsdmK2K4nLA0KICAgICAgICAgICAgJ2Ftb3VudCcgICAgICAgICAgICAgICA9PiAn2KfZhNmF2KjZhNi6JywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ9mB2KfYqtmI2LHYqScsDQogICAgICAgICAgICAnZG93bmxvYWQnICAgICAgICAgICAgID0+ICfYqtit2YXZitmEJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ9mF2K/ZgdmI2LknLA0KICAgICAgICAgICAgJ2ZhaWxlZCcgICAgICAgICAgICAgICA9PiAn2YHYtNmEJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ9mC2YrYryDYp9mE2KfZhtiq2LjYp9ixJywNCiAgICAgICAgICAgICdwcm9yYXRlJyAgICAgICAgICAgICAgPT4gJ9mG2LPYqNmKJywNCiAgICAgICAgICAgICdjaGVja291dF9lcnJvcicgICAgICAgPT4gJ9iq2LnYsNixINio2K/YoSDYp9mE2K/Zgdi5LiDYrdin2YjZhCDZhdix2Kkg2KPYrtix2YkuJywNCiAgICAgICAgICAgICdhbHJlYWR5X3N1YnNjcmliZWQnICAgPT4gJ9mE2K/ZitmDINio2KfZhNmB2LnZhCDYp9i02KrYsdin2YMgUHJvINmG2LTYty4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfc3VjY2VzcycgICAgICA9PiAn2YXYsdit2KjYp9mLINio2YMg2YHZiiBQcm8hINin2LTYqtix2KfZg9mDINmG2LTYtyDYp9mE2KLZhi4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfZmFpbGVkJyAgICAgICA9PiAn2YTZhSDZitmD2KrZhdmEINin2YTYr9mB2LkuINit2KfZiNmEINmF2LHYqSDYo9iu2LHZiS4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAn2YHYtNmE2Kog2KLYrtixINi52YXZhNmK2Kkg2K/Zgdi5LiDZitix2KzZiSDYqtit2K/ZitirINi32LHZitmC2Kkg2KfZhNiv2YHYuS4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL9i02YfYsScsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcv2LPZhtipJywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ9iv2YHYuSDYotmF2YYnLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAn2KrYtNiq2LHZgyDZgdmKINmF2YbYqti12YEg2KfZhNi02YfYsdifINiz2YrYqtmFINin2K3Yqtiz2KfYqCDYo9mI2YQg2K/Zgdi52Kkg2KjYtNmD2YQg2YbYs9io2Yog4oCUINiq2K/Zgdi5INmB2YLYtyDYudmGINin2YTYo9mK2KfZhSDYp9mE2YXYqtio2YLZitipINit2KrZiSDYp9mE2KPZiNmEINmF2YYg2KfZhNi02YfYsS4g2KjYudivINiw2YTZg9iMINmK2Y/Yt9io2YIg2KfZhNiz2LnYsSDYp9mE2LTZh9ix2Yog2KfZhNmD2KfZhdmELicsDQogICAgICAgICAgICAnc3RhdHVzX2dyYWNlJyAgICAgICAgID0+ICfZgdiq2LHYqSDYs9mF2KfYrScsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICfYrNiv2K8g2KfZhNii2YYnLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAn2LPYqtmG2KrZh9mKINi12YTYp9it2YrYqSDZiNi12YjZhNmDINmC2LHZitio2KfZiy4g2YrYsdis2Ykg2KfZhNiq2KzYr9mK2K8g2YTZhNit2YHYp9i4INi52YTZiSDZhdmK2LLYp9iqIFByby4nLA0KICAgICAgICAgICAgJ2NoYXJnZV9mYWlsdXJlc19ub3RpY2UnPT4gJ9mI2KfYrNmH2YbYpyDZhdi02YPZhNipINmB2Yog2YXYudin2YTYrNipINiv2YHYudiq2YMg2KfZhNij2K7Zitix2KkuINmC2K8g2YrYqtij2KvYsSDZiNi12YjZhNmDINil2LDYpyDYp9iz2KrZhdixINiw2YTZgy4nLA0KICAgICAgICBdLA0KICAgICAgICAnZGUnID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ0FicmVjaG51bmcnLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAnS29zdGVubG9zJywNCiAgICAgICAgICAgICdwbGFuX3Byb19tb250aGx5JyAgICAgPT4gJ1BybyBNb25hdGxpY2gnLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX2FubnVhbCcgICAgICA9PiAnUHJvIErDpGhybGljaCcsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdBa3R1ZWxsZXIgUGxhbicsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICdTaWUgbnV0emVuIGRlbiBrb3N0ZW5sb3NlbiBQbGFuLicsDQogICAgICAgICAgICAnZnJlZV91cGdyYWRlX2N0YScgICAgID0+ICdVcGdyYWRlbiBTaWUgYXVmIFBybyBmw7xyIHVuYmVncmVuenRlbiBadWdyaWZmIGF1ZiBhbGxlIFRvb2xzLicsDQogICAgICAgICAgICAndXBncmFkZV9tb250aGx5JyAgICAgID0+ICdVcGdyYWRlIOKAlCAkNy9Nb25hdCcsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICdVcGdyYWRlIOKAlCAkNi9Nb25hdCAoJDcyL0phaHIpJywNCiAgICAgICAgICAgICdzYXZlX3BlcmNlbnQnICAgICAgICAgPT4gJzE0JSBzcGFyZW4nLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAnU3RhdHVzJywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ0FrdGl2JywNCiAgICAgICAgICAgICdzdGF0dXNfY2FuY2VsbGVkJyAgICAgPT4gJ0dla8O8bmRpZ3QnLA0KICAgICAgICAgICAgJ3N0YXR1c19leHBpcmVkJyAgICAgICA9PiAnQWJnZWxhdWZlbicsDQogICAgICAgICAgICAnc3RhdHVzX3Bhc3RfZHVlJyAgICAgID0+ICdaYWhsdW5nIGZlaGxnZXNjaGxhZ2VuJywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ07DpGNoc3RlIEFicmVjaG51bmcnLA0KICAgICAgICAgICAgJ2FjY2Vzc191bnRpbCcgICAgICAgICA9PiAnUHJvLVp1Z2FuZyBiaXMnLA0KICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyAgICAgICA9PiAnWmFobHVuZ3NtZXRob2RlJywNCiAgICAgICAgICAgICdjYW5jZWxfc3ViJyAgICAgICAgICAgPT4gJ0FibyBrw7xuZGlnZW4nLA0KICAgICAgICAgICAgJ2NhbmNlbF9jb25maXJtJyAgICAgICA9PiAnU2luZCBTaWUgc2ljaGVyPyBQcm8tWnVnYW5nIGJsZWlidCBiaXMgenVtIEVuZGUgZGVzIEFicmVjaG51bmdzemVpdHJhdW1zLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICdKYSwga8O8bmRpZ2VuJywNCiAgICAgICAgICAgICdyZWFjdGl2YXRlJyAgICAgICAgICAgPT4gJ1JlYWt0aXZpZXJlbicsDQogICAgICAgICAgICAncGF5bWVudF9oaXN0b3J5JyAgICAgID0+ICdaYWhsdW5nc3ZlcmxhdWYnLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnTm9jaCBrZWluZSBaYWhsdW5nZW4uJywNCiAgICAgICAgICAgICdkYXRlJyAgICAgICAgICAgICAgICAgPT4gJ0RhdHVtJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ0JldHJhZycsDQogICAgICAgICAgICAnaW52b2ljZScgICAgICAgICAgICAgID0+ICdSZWNobnVuZycsDQogICAgICAgICAgICAnZG93bmxvYWQnICAgICAgICAgICAgID0+ICdIZXJ1bnRlcmxhZGVuJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ0JlemFobHQnLA0KICAgICAgICAgICAgJ2ZhaWxlZCcgICAgICAgICAgICAgICA9PiAnRmVobGdlc2NobGFnZW4nLA0KICAgICAgICAgICAgJ3BlbmRpbmcnICAgICAgICAgICAgICA9PiAnQXVzc3RlaGVuZCcsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdBbnRlaWxpZycsDQogICAgICAgICAgICAnY2hlY2tvdXRfZXJyb3InICAgICAgID0+ICdDaGVja291dCBrb25udGUgbmljaHQgZ2VzdGFydGV0IHdlcmRlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuJywNCiAgICAgICAgICAgICdhbHJlYWR5X3N1YnNjcmliZWQnICAgPT4gJ1NpZSBoYWJlbiBiZXJlaXRzIGVpbiBha3RpdmVzIFByby1BYm9ubmVtZW50LicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdXaWxsa29tbWVuIGJlaSBQcm8hIElociBBYm8gaXN0IGpldHp0IGFrdGl2LicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdaYWhsdW5nIG5pY2h0IGFiZ2VzY2hsb3NzZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LicsDQogICAgICAgICAgICAncGF5bWVudF9mYWlsZWRfYmFubmVyJz0+ICdMZXR6dGUgWmFobHVuZyBmZWhsZ2VzY2hsYWdlbi4gQml0dGUgWmFobHVuZ3NtZXRob2RlIGFrdHVhbGlzaWVyZW4uJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy9Nb25hdCcsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvSmFocicsDQogICAgICAgICAgICAnY2hlY2tvdXRfdGl0bGUnICAgICAgID0+ICdTaWNoZXJlIFphaGx1bmcnLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnTWl0dGVuIGltIE1vbmF0IGFib25uaWVyZW4/IERpZSBlcnN0ZSBaYWhsdW5nIHdpcmQgYW50ZWlsaWcgYmVyZWNobmV0IOKAlCBTaWUgemFobGVuIG51ciBmw7xyIGRpZSB2ZXJibGVpYmVuZGVuIFRhZ2UgYmlzIHp1bSAxLiBEYW5hY2ggZ2lsdCBkZXIgdm9sbGUgTW9uYXRzcHJlaXMuJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ0thcmVuenplaXQnLA0KICAgICAgICAgICAgJ3JlbmV3X25vdycgICAgICAgICAgICA9PiAnSmV0enQgZXJuZXVlcm4nLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAnSWhyIFp1Z2FuZyBlbmRldCBiYWxkLiBCaXR0ZSBlcm5ldWVybiBTaWUsIHVtIElocmUgUHJvLUZ1bmt0aW9uZW4genUgYmVoYWx0ZW4uJywNCiAgICAgICAgICAgICdjaGFyZ2VfZmFpbHVyZXNfbm90aWNlJz0+ICdXaXIgaGF0dGVuIFByb2JsZW1lIGJlaSBkZXIgVmVyYXJiZWl0dW5nIElocmVyIGxldHp0ZW4gWmFobHVuZy4gSWhyIFp1Z2FuZyBrw7ZubnRlIGJlZWludHLDpGNodGlndCB3ZXJkZW4uJywNCiAgICAgICAgXSwNCiAgICAgICAgJ2VzJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICdGYWN0dXJhY2nDs24nLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAnR3JhdGlzJywNCiAgICAgICAgICAgICdwbGFuX3Byb19tb250aGx5JyAgICAgPT4gJ1BybyBNZW5zdWFsJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyBBbnVhbCcsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdQbGFuIGFjdHVhbCcsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICdFc3TDoXMgZW4gZWwgcGxhbiBncmF0dWl0by4nLA0KICAgICAgICAgICAgJ2ZyZWVfdXBncmFkZV9jdGEnICAgICA9PiAnQWN0dWFsaXphIGEgUHJvIHBhcmEgYWNjZXNvIGlsaW1pdGFkbyBhIHRvZGFzIGxhcyBoZXJyYW1pZW50YXMuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ0FjdHVhbGl6YXIg4oCUICQ3L21lcycsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICdBY3R1YWxpemFyIOKAlCAkNi9tZXMgKCQ3Mi9hw7FvKScsDQogICAgICAgICAgICAnc2F2ZV9wZXJjZW50JyAgICAgICAgID0+ICdBaG9ycmEgMTQlJywNCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgICAgPT4gJ0VzdGFkbycsDQogICAgICAgICAgICAnc3RhdHVzX2FjdGl2ZScgICAgICAgID0+ICdBY3Rpdm8nLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnQ2FuY2VsYWRvJywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ0V4cGlyYWRvJywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ1BhZ28gZmFsbGlkbycsDQogICAgICAgICAgICAnbmV4dF9iaWxsaW5nJyAgICAgICAgID0+ICdQcsOzeGltYSBmYWN0dXJhY2nDs24nLA0KICAgICAgICAgICAgJ2FjY2Vzc191bnRpbCcgICAgICAgICA9PiAnQWNjZXNvIFBybyBoYXN0YScsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICdNw6l0b2RvIGRlIHBhZ28nLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAnQ2FuY2VsYXIgc3VzY3JpcGNpw7NuJywNCiAgICAgICAgICAgICdjYW5jZWxfY29uZmlybScgICAgICAgPT4gJ8K/RXN0w6FzIHNlZ3Vybz8gTWFudGVuZHLDoXMgZWwgYWNjZXNvIFBybyBoYXN0YSBlbCBmaW5hbCBkZWwgcGVyw61vZG8gZGUgZmFjdHVyYWNpw7NuLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICdTw60sIGNhbmNlbGFyJywNCiAgICAgICAgICAgICdyZWFjdGl2YXRlJyAgICAgICAgICAgPT4gJ1JlYWN0aXZhcicsDQogICAgICAgICAgICAncGF5bWVudF9oaXN0b3J5JyAgICAgID0+ICdIaXN0b3JpYWwgZGUgcGFnb3MnLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnU2luIHBhZ29zIGHDum4uJywNCiAgICAgICAgICAgICdkYXRlJyAgICAgICAgICAgICAgICAgPT4gJ0ZlY2hhJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ01vbnRvJywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ0ZhY3R1cmEnLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAnRGVzY2FyZ2FyJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ1BhZ2FkbycsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICdGYWxsaWRvJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ1BlbmRpZW50ZScsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdQcm9ycmF0ZWFkbycsDQogICAgICAgICAgICAnY2hlY2tvdXRfZXJyb3InICAgICAgID0+ICdObyBzZSBwdWRvIGluaWNpYXIgZWwgcGFnby4gSW50ZW50YSBkZSBudWV2by4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAnWWEgdGllbmVzIHVuYSBzdXNjcmlwY2nDs24gUHJvIGFjdGl2YS4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfc3VjY2VzcycgICAgICA9PiAnwqFCaWVudmVuaWRvIGEgUHJvISBUdSBzdXNjcmlwY2nDs24gZXN0w6EgYWN0aXZhLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdFbCBwYWdvIG5vIHNlIGNvbXBsZXTDsy4gSW50ZW50YSBkZSBudWV2by4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAnRWwgw7psdGltbyBwYWdvIGZhbGzDsy4gQWN0dWFsaXphIHR1IG3DqXRvZG8gZGUgcGFnby4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL21lcycsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvYcOxbycsDQogICAgICAgICAgICAnY2hlY2tvdXRfdGl0bGUnICAgICAgID0+ICdQYWdvIHNlZ3VybycsDQogICAgICAgICAgICAncHJvcmF0aW9uX25vdGljZScgICAgID0+ICfCv1RlIHN1c2NyaWJlcyBhIG1pdGFkIGRlIG1lcz8gVHUgcHJpbWVyIGNvYnJvIHNlcsOhIHByb3BvcmNpb25hbCDigJQgc29sbyBwYWdhcyBsb3MgZMOtYXMgcmVzdGFudGVzIGhhc3RhIGVsIDEuIERlc3B1w6lzLCBzZSBhcGxpY2EgZWwgcHJlY2lvIG1lbnN1YWwgY29tcGxldG8uJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ1BlcsOtb2RvIGRlIGdyYWNpYScsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICdSZW5vdmFyIGFob3JhJywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ1R1IGFjY2VzbyB0ZXJtaW5hcsOhIHByb250by4gUmVudWV2YSBwYXJhIG1hbnRlbmVyIGxhcyBmdW5jaW9uZXMgUHJvLicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAnVHV2aW1vcyBwcm9ibGVtYXMgYWwgcHJvY2VzYXIgdHUgw7psdGltbyBwYWdvLiBUdSBhY2Nlc28gcG9kcsOtYSB2ZXJzZSBhZmVjdGFkby4nLA0KICAgICAgICBdLA0KICAgICAgICAnZnInID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ0ZhY3R1cmF0aW9uJywNCiAgICAgICAgICAgICdwbGFuX2ZyZWUnICAgICAgICAgICAgPT4gJ0dyYXR1aXQnLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX21vbnRobHknICAgICA9PiAnUHJvIE1lbnN1ZWwnLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX2FubnVhbCcgICAgICA9PiAnUHJvIEFubnVlbCcsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdQbGFuIGFjdHVlbCcsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICdWb3VzIMOqdGVzIHN1ciBsZSBwbGFuIGdyYXR1aXQuJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ1Bhc3NleiDDoCBQcm8gcG91ciB1biBhY2PDqHMgaWxsaW1pdMOpIMOgIHRvdXMgbGVzIG91dGlscy4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfbW9udGhseScgICAgICA9PiAnUGFzc2VyIMOgIFBybyDigJQgJDcvbW9pcycsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICdQYXNzZXIgw6AgUHJvIOKAlCAkNi9tb2lzICgkNzIvYW4pJywNCiAgICAgICAgICAgICdzYXZlX3BlcmNlbnQnICAgICAgICAgPT4gJ8OJY29ub21pc2V6IDE0JScsDQogICAgICAgICAgICAnc3RhdHVzJyAgICAgICAgICAgICAgID0+ICdTdGF0dXQnLA0KICAgICAgICAgICAgJ3N0YXR1c19hY3RpdmUnICAgICAgICA9PiAnQWN0aWYnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnQW5udWzDqScsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICdFeHBpcsOpJywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ1BhaWVtZW50IMOpY2hvdcOpJywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ1Byb2NoYWluZSBmYWN0dXJhdGlvbicsDQogICAgICAgICAgICAnYWNjZXNzX3VudGlsJyAgICAgICAgID0+ICdBY2PDqHMgUHJvIGp1c3F1XCdhdScsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICdNb3llbiBkZSBwYWllbWVudCcsDQogICAgICAgICAgICAnY2FuY2VsX3N1YicgICAgICAgICAgID0+ICdBbm51bGVyIGxcJ2Fib25uZW1lbnQnLA0KICAgICAgICAgICAgJ2NhbmNlbF9jb25maXJtJyAgICAgICA9PiAnw4p0ZXMtdm91cyBzw7tyID8gVm91cyBnYXJkZXJleiBsXCdhY2PDqHMgUHJvIGp1c3F1XCfDoCBsYSBmaW4gZGUgbGEgcMOpcmlvZGUuJywNCiAgICAgICAgICAgICdjYW5jZWxfYnRuJyAgICAgICAgICAgPT4gJ091aSwgYW5udWxlcicsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICdSw6lhY3RpdmVyJywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ0hpc3RvcmlxdWUgZGVzIHBhaWVtZW50cycsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICdBdWN1biBwYWllbWVudCBwb3VyIGxlIG1vbWVudC4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAnRGF0ZScsDQogICAgICAgICAgICAnYW1vdW50JyAgICAgICAgICAgICAgID0+ICdNb250YW50JywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ0ZhY3R1cmUnLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAnVMOpbMOpY2hhcmdlcicsDQogICAgICAgICAgICAnc3VjY2VlZGVkJyAgICAgICAgICAgID0+ICdQYXnDqScsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICfDiWNob3XDqScsDQogICAgICAgICAgICAncGVuZGluZycgICAgICAgICAgICAgID0+ICdFbiBhdHRlbnRlJywNCiAgICAgICAgICAgICdwcm9yYXRlJyAgICAgICAgICAgICAgPT4gJ0F1IHByb3JhdGEnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAnSW1wb3NzaWJsZSBkZSBkw6ltYXJyZXIgbGUgcGFpZW1lbnQuIFLDqWVzc2F5ZXouJywNCiAgICAgICAgICAgICdhbHJlYWR5X3N1YnNjcmliZWQnICAgPT4gJ1ZvdXMgYXZleiBkw6lqw6AgdW4gYWJvbm5lbWVudCBQcm8gYWN0aWYuJywNCiAgICAgICAgICAgICdiaWxsaW5nX3N1Y2Nlc3MnICAgICAgPT4gJ0JpZW52ZW51ZSBzdXIgUHJvICEgVm90cmUgYWJvbm5lbWVudCBlc3QgYWN0aWYuJywNCiAgICAgICAgICAgICdiaWxsaW5nX2ZhaWxlZCcgICAgICAgPT4gJ0xlIHBhaWVtZW50IG5cJ2EgcGFzIMOpdMOpIGZpbmFsaXPDqS4gUsOpZXNzYXllei4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAnTGUgZGVybmllciBwYWllbWVudCBhIMOpY2hvdcOpLiBNZXR0ZXogw6Agam91ciB2b3RyZSBtb3llbiBkZSBwYWllbWVudC4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL21vaXMnLA0KICAgICAgICAgICAgJ3Blcl95ZWFyJyAgICAgICAgICAgICA9PiAnL2FuJywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ1BhaWVtZW50IHPDqWN1cmlzw6knLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnVm91cyB2b3VzIGFib25uZXogZW4gY291cnMgZGUgbW9pcyA/IFZvdHJlIHByZW1pZXIgcGFpZW1lbnQgc2VyYSBhdSBwcm9yYXRhIOKAlCB2b3VzIG5lIHBheWV6IHF1ZSBsZXMgam91cnMgcmVzdGFudHMganVzcXVcJ2F1IDFlci4gRW5zdWl0ZSwgbGUgcHJpeCBtZW5zdWVsIGNvbXBsZXQgc1wnYXBwbGlxdWUuJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ1DDqXJpb2RlIGRlIGdyw6JjZScsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICdSZW5vdXZlbGVyIG1haW50ZW5hbnQnLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAnVm90cmUgYWNjw6hzIHZhIGJpZW50w7R0IGV4cGlyZXIuIFJlbm91dmVsZXogcG91ciBnYXJkZXIgbGVzIGZvbmN0aW9ubmFsaXTDqXMgUHJvLicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAnTm91cyBhdm9ucyBldSB1biBwcm9ibMOobWUgbG9ycyBkdSB0cmFpdGVtZW50IGRlIHZvdHJlIGRlcm5pZXIgcGFpZW1lbnQuIFZvdHJlIGFjY8OocyBwb3VycmFpdCDDqnRyZSBhZmZlY3TDqS4nLA0KICAgICAgICBdLA0KICAgICAgICAnaWQnID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ1RhZ2loYW4nLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAnR3JhdGlzJywNCiAgICAgICAgICAgICdwbGFuX3Byb19tb250aGx5JyAgICAgPT4gJ1BybyBCdWxhbmFuJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyBUYWh1bmFuJywNCiAgICAgICAgICAgICdjdXJyZW50X3BsYW4nICAgICAgICAgPT4gJ1Bha2V0IHNhYXQgaW5pJywNCiAgICAgICAgICAgICdmcmVlX2Rlc2MnICAgICAgICAgICAgPT4gJ0FuZGEgbWVuZ2d1bmFrYW4gcGFrZXQgR3JhdGlzLicsDQogICAgICAgICAgICAnZnJlZV91cGdyYWRlX2N0YScgICAgID0+ICdVcGdyYWRlIGtlIFBybyB1bnR1ayBha3NlcyB0YWsgdGVyYmF0YXMga2Ugc2VtdWEgYWxhdC4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfbW9udGhseScgICAgICA9PiAnVXBncmFkZSDigJQgJDcvYnVsYW4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfYW5udWFsJyAgICAgICA9PiAnVXBncmFkZSDigJQgJDYvYnVsYW4gKCQ3Mi90YWh1biknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAnSGVtYXQgMTQlJywNCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgICAgPT4gJ1N0YXR1cycsDQogICAgICAgICAgICAnc3RhdHVzX2FjdGl2ZScgICAgICAgID0+ICdBa3RpZicsDQogICAgICAgICAgICAnc3RhdHVzX2NhbmNlbGxlZCcgICAgID0+ICdEaWJhdGFsa2FuJywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ0tlZGFsdXdhcnNhJywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ1BlbWJheWFyYW4gZ2FnYWwnLA0KICAgICAgICAgICAgJ25leHRfYmlsbGluZycgICAgICAgICA9PiAnVGFnaWhhbiBiZXJpa3V0bnlhJywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ0Frc2VzIFBybyBoaW5nZ2EnLA0KICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyAgICAgICA9PiAnTWV0b2RlIHBlbWJheWFyYW4nLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAnQmF0YWxrYW4gbGFuZ2dhbmFuJywNCiAgICAgICAgICAgICdjYW5jZWxfY29uZmlybScgICAgICAgPT4gJ1lha2luPyBBa3NlcyBQcm8gdGV0YXAgYWt0aWYgaGluZ2dhIGFraGlyIHBlcmlvZGUuJywNCiAgICAgICAgICAgICdjYW5jZWxfYnRuJyAgICAgICAgICAgPT4gJ1lhLCBiYXRhbGthbicsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICdBa3RpZmthbiBrZW1iYWxpJywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ1Jpd2F5YXQgcGVtYmF5YXJhbicsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICdCZWx1bSBhZGEgcGVtYmF5YXJhbi4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAnVGFuZ2dhbCcsDQogICAgICAgICAgICAnYW1vdW50JyAgICAgICAgICAgICAgID0+ICdKdW1sYWgnLA0KICAgICAgICAgICAgJ2ludm9pY2UnICAgICAgICAgICAgICA9PiAnRmFrdHVyJywNCiAgICAgICAgICAgICdkb3dubG9hZCcgICAgICAgICAgICAgPT4gJ1VuZHVoJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ0RpYmF5YXInLA0KICAgICAgICAgICAgJ2ZhaWxlZCcgICAgICAgICAgICAgICA9PiAnR2FnYWwnLA0KICAgICAgICAgICAgJ3BlbmRpbmcnICAgICAgICAgICAgICA9PiAnTWVudW5nZ3UnLA0KICAgICAgICAgICAgJ3Byb3JhdGUnICAgICAgICAgICAgICA9PiAnUHJvcmF0YScsDQogICAgICAgICAgICAnY2hlY2tvdXRfZXJyb3InICAgICAgID0+ICdUaWRhayBkYXBhdCBtZW11bGFpIHBlbWJheWFyYW4uIENvYmEgbGFnaS4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAnQW5kYSBzdWRhaCBtZW1pbGlraSBsYW5nZ2FuYW4gUHJvIGFrdGlmLicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdTZWxhbWF0IGRhdGFuZyBkaSBQcm8hIExhbmdnYW5hbiBBbmRhIGFrdGlmLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdQZW1iYXlhcmFuIHRpZGFrIHNlbGVzYWkuIENvYmEgbGFnaS4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAnUGVtYmF5YXJhbiB0ZXJha2hpciBnYWdhbC4gUGVyYmFydWkgbWV0b2RlIHBlbWJheWFyYW4uJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy9idWxhbicsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvdGFodW4nLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X3RpdGxlJyAgICAgICA9PiAnUGVtYmF5YXJhbiBhbWFuJywNCiAgICAgICAgICAgICdwcm9yYXRpb25fbm90aWNlJyAgICAgPT4gJ0JlcmxhbmdnYW5hbiBkaSB0ZW5nYWggYnVsYW4/IFRhZ2loYW4gcGVydGFtYSBBbmRhIGFrYW4gZGloaXR1bmcgc2VjYXJhIHByb3JhdGEg4oCUIEFuZGEgaGFueWEgbWVtYmF5YXIgdW50dWsgc2lzYSBoYXJpIGhpbmdnYSB0YW5nZ2FsIDEuIFNldGVsYWggaXR1LCBoYXJnYSBidWxhbmFuIHBlbnVoIGJlcmxha3UuJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ01hc2EgdGVuZ2dhbmcnLA0KICAgICAgICAgICAgJ3JlbmV3X25vdycgICAgICAgICAgICA9PiAnUGVyYmFydWkgc2VrYXJhbmcnLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAnQWtzZXMgQW5kYSBha2FuIHNlZ2VyYSBiZXJha2hpci4gUGVyYmFydWkgdW50dWsgbWVtcGVydGFoYW5rYW4gZml0dXIgUHJvLicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAnS2FtaSBtZW5nYWxhbWkgbWFzYWxhaCBzYWF0IG1lbXByb3NlcyBwZW1iYXlhcmFuIHRlcmFraGlyIEFuZGEuIEFrc2VzIEFuZGEgbXVuZ2tpbiB0ZXJwZW5nYXJ1aC4nLA0KICAgICAgICBdLA0KICAgICAgICAnaXQnID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ0ZhdHR1cmF6aW9uZScsDQogICAgICAgICAgICAncGxhbl9mcmVlJyAgICAgICAgICAgID0+ICdHcmF0dWl0bycsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8gTWVuc2lsZScsDQogICAgICAgICAgICAncGxhbl9wcm9fYW5udWFsJyAgICAgID0+ICdQcm8gQW5udWFsZScsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdQaWFubyBhdHR1YWxlJywNCiAgICAgICAgICAgICdmcmVlX2Rlc2MnICAgICAgICAgICAgPT4gJ1N0YWkgdXNhbmRvIGlsIHBpYW5vIGdyYXR1aXRvLicsDQogICAgICAgICAgICAnZnJlZV91cGdyYWRlX2N0YScgICAgID0+ICdQYXNzYSBhIFBybyBwZXIgYWNjZXNzbyBpbGxpbWl0YXRvIGEgdHV0dGkgZ2xpIHN0cnVtZW50aS4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfbW9udGhseScgICAgICA9PiAnVXBncmFkZSDigJQgJDcvbWVzZScsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICdVcGdyYWRlIOKAlCAkNi9tZXNlICgkNzIvYW5ubyknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAnUmlzcGFybWlhIDE0JScsDQogICAgICAgICAgICAnc3RhdHVzJyAgICAgICAgICAgICAgID0+ICdTdGF0bycsDQogICAgICAgICAgICAnc3RhdHVzX2FjdGl2ZScgICAgICAgID0+ICdBdHRpdm8nLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnQW5udWxsYXRvJywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ1NjYWR1dG8nLA0KICAgICAgICAgICAgJ3N0YXR1c19wYXN0X2R1ZScgICAgICA9PiAnUGFnYW1lbnRvIGZhbGxpdG8nLA0KICAgICAgICAgICAgJ25leHRfYmlsbGluZycgICAgICAgICA9PiAnUHJvc3NpbWEgZmF0dHVyYXppb25lJywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ0FjY2Vzc28gUHJvIGZpbm8gYWwnLA0KICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyAgICAgICA9PiAnTWV0b2RvIGRpIHBhZ2FtZW50bycsDQogICAgICAgICAgICAnY2FuY2VsX3N1YicgICAgICAgICAgID0+ICdBbm51bGxhIGFiYm9uYW1lbnRvJywNCiAgICAgICAgICAgICdjYW5jZWxfY29uZmlybScgICAgICAgPT4gJ1NlaSBzaWN1cm8/IE1hbnRlcnJhaSBsXCdhY2Nlc3NvIFBybyBmaW5vIGFsbGEgZmluZSBkZWwgcGVyaW9kby4nLA0KICAgICAgICAgICAgJ2NhbmNlbF9idG4nICAgICAgICAgICA9PiAnU8OsLCBhbm51bGxhJywNCiAgICAgICAgICAgICdyZWFjdGl2YXRlJyAgICAgICAgICAgPT4gJ1JpYXR0aXZhJywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ1N0b3JpY28gcGFnYW1lbnRpJywNCiAgICAgICAgICAgICdub19pbnZvaWNlcycgICAgICAgICAgPT4gJ05lc3N1biBwYWdhbWVudG8gYW5jb3JhLicsDQogICAgICAgICAgICAnZGF0ZScgICAgICAgICAgICAgICAgID0+ICdEYXRhJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ0ltcG9ydG8nLA0KICAgICAgICAgICAgJ2ludm9pY2UnICAgICAgICAgICAgICA9PiAnRmF0dHVyYScsDQogICAgICAgICAgICAnZG93bmxvYWQnICAgICAgICAgICAgID0+ICdTY2FyaWNhJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ1BhZ2F0bycsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICdGYWxsaXRvJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ0luIGF0dGVzYScsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdQcm9wb3J6aW9uYWxlJywNCiAgICAgICAgICAgICdjaGVja291dF9lcnJvcicgICAgICAgPT4gJ0ltcG9zc2liaWxlIGF2dmlhcmUgaWwgcGFnYW1lbnRvLiBSaXByb3ZhLicsDQogICAgICAgICAgICAnYWxyZWFkeV9zdWJzY3JpYmVkJyAgID0+ICdIYWkgZ2nDoCB1biBhYmJvbmFtZW50byBQcm8gYXR0aXZvLicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdCZW52ZW51dG8gaW4gUHJvISBJbCB0dW8gYWJib25hbWVudG8gw6ggYXR0aXZvLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdQYWdhbWVudG8gbm9uIGNvbXBsZXRhdG8uIFJpcHJvdmEuJywNCiAgICAgICAgICAgICdwYXltZW50X2ZhaWxlZF9iYW5uZXInPT4gJ0xcJ3VsdGltbyBwYWdhbWVudG8gw6ggZmFsbGl0by4gQWdnaW9ybmEgaWwgbWV0b2RvIGRpIHBhZ2FtZW50by4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL21lc2UnLA0KICAgICAgICAgICAgJ3Blcl95ZWFyJyAgICAgICAgICAgICA9PiAnL2Fubm8nLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X3RpdGxlJyAgICAgICA9PiAnUGFnYW1lbnRvIHNpY3VybycsDQogICAgICAgICAgICAncHJvcmF0aW9uX25vdGljZScgICAgID0+ICdUaSBhYmJvbmkgYSBtZXTDoCBtZXNlPyBJbCBwcmltbyBhZGRlYml0byBzYXLDoCBwcm9wb3J6aW9uYWxlIOKAlCBwYWdoaSBzb2xvIHBlciBpIGdpb3JuaSByaW1hbmVudGkgZmlubyBhbCAxwrAuIERvcG8sIHNpIGFwcGxpY2EgaWwgcHJlenpvIG1lbnNpbGUgY29tcGxldG8uJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ1BlcmlvZG8gZGkgZ3JhemlhJywNCiAgICAgICAgICAgICdyZW5ld19ub3cnICAgICAgICAgICAgPT4gJ1Jpbm5vdmEgb3JhJywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ0lsIHR1byBhY2Nlc3NvIHNjYWRyw6AgcHJlc3RvLiBSaW5ub3ZhIHBlciBtYW50ZW5lcmUgbGUgZnVuemlvbmFsaXTDoCBQcm8uJywNCiAgICAgICAgICAgICdjaGFyZ2VfZmFpbHVyZXNfbm90aWNlJz0+ICdBYmJpYW1vIGF2dXRvIHByb2JsZW1pIG5lbGxcJ2VsYWJvcmF6aW9uZSBkZWwgdHVvIHVsdGltbyBwYWdhbWVudG8uIElsIHR1byBhY2Nlc3NvIHBvdHJlYmJlIGVzc2VyZSBjb21wcm9tZXNzby4nLA0KICAgICAgICBdLA0KICAgICAgICAnamEnID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ+iri+axgicsDQogICAgICAgICAgICAncGxhbl9mcmVlJyAgICAgICAgICAgID0+ICfnhKHmlpknLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX21vbnRobHknICAgICA9PiAnUHJvIOaciOmhjScsDQogICAgICAgICAgICAncGxhbl9wcm9fYW5udWFsJyAgICAgID0+ICdQcm8g5bm06aGNJywNCiAgICAgICAgICAgICdjdXJyZW50X3BsYW4nICAgICAgICAgPT4gJ+ePvuWcqOOBruODl+ODqeODsycsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICfnhKHmlpnjg5fjg6njg7PjgpLjgZTliKnnlKjkuK3jgafjgZnjgIInLA0KICAgICAgICAgICAgJ2ZyZWVfdXBncmFkZV9jdGEnICAgICA9PiAnUHJv44Gr44Ki44OD44OX44Kw44Os44O844OJ44GX44Gm5YWo44OE44O844Or44Gr54Sh5Yi26ZmQ44Ki44Kv44K744K544CCJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ+OCouODg+ODl+OCsOODrOODvOODiSDigJQgJDcv5pyIJywNCiAgICAgICAgICAgICd1cGdyYWRlX2FubnVhbCcgICAgICAgPT4gJ+OCouODg+ODl+OCsOODrOODvOODiSDigJQgJDYv5pyI77yIJDcyL+W5tO+8iScsDQogICAgICAgICAgICAnc2F2ZV9wZXJjZW50JyAgICAgICAgID0+ICcxNCXjgYrlvpcnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAn44K544OG44O844K/44K5JywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ+acieWKuScsDQogICAgICAgICAgICAnc3RhdHVzX2NhbmNlbGxlZCcgICAgID0+ICfjgq3jg6Pjg7Pjgrvjg6vmuIjjgb8nLA0KICAgICAgICAgICAgJ3N0YXR1c19leHBpcmVkJyAgICAgICA9PiAn5pyf6ZmQ5YiH44KMJywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ+aUr+aJleOBhOWkseaVlycsDQogICAgICAgICAgICAnbmV4dF9iaWxsaW5nJyAgICAgICAgID0+ICfmrKHjga7oq4vmsYLml6UnLA0KICAgICAgICAgICAgJ2FjY2Vzc191bnRpbCcgICAgICAgICA9PiAnUHJv44Ki44Kv44K744K55pyf6ZmQJywNCiAgICAgICAgICAgICdwYXltZW50X21ldGhvZCcgICAgICAgPT4gJ+OBiuaUr+aJleOBhOaWueazlScsDQogICAgICAgICAgICAnY2FuY2VsX3N1YicgICAgICAgICAgID0+ICfjgrXjg5bjgrnjgq/jg6rjg5fjgrfjg6fjg7PjgpLjgq3jg6Pjg7Pjgrvjg6snLA0KICAgICAgICAgICAgJ2NhbmNlbF9jb25maXJtJyAgICAgICA9PiAn5pys5b2T44Gr44Kt44Oj44Oz44K744Or44GX44G+44GZ44GL77yf54++5Zyo44Gu6KuL5rGC5pyf6ZaT57WC5LqG44G+44GnUHJv44Ki44Kv44K744K544Gv57aZ57aa44GX44G+44GZ44CCJywNCiAgICAgICAgICAgICdjYW5jZWxfYnRuJyAgICAgICAgICAgPT4gJ+OBr+OBhOOAgeOCreODo+ODs+OCu+ODqycsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICflho3mnInlirnljJYnLA0KICAgICAgICAgICAgJ3BheW1lbnRfaGlzdG9yeScgICAgICA9PiAn5pSv5omV44GE5bGl5q20JywNCiAgICAgICAgICAgICdub19pbnZvaWNlcycgICAgICAgICAgPT4gJ+aUr+aJleOBhOOBr+OBvuOBoOOBguOCiuOBvuOBm+OCk+OAgicsDQogICAgICAgICAgICAnZGF0ZScgICAgICAgICAgICAgICAgID0+ICfml6Xku5gnLA0KICAgICAgICAgICAgJ2Ftb3VudCcgICAgICAgICAgICAgICA9PiAn6YeR6aGNJywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ+iri+axguabuCcsDQogICAgICAgICAgICAnZG93bmxvYWQnICAgICAgICAgICAgID0+ICfjg4Djgqbjg7Pjg63jg7zjg4knLA0KICAgICAgICAgICAgJ3N1Y2NlZWRlZCcgICAgICAgICAgICA9PiAn5pSv5omV5riIJywNCiAgICAgICAgICAgICdmYWlsZWQnICAgICAgICAgICAgICAgPT4gJ+WkseaVlycsDQogICAgICAgICAgICAncGVuZGluZycgICAgICAgICAgICAgID0+ICfkv53nlZnkuK0nLA0KICAgICAgICAgICAgJ3Byb3JhdGUnICAgICAgICAgICAgICA9PiAn5pel5Ymy44KKJywNCiAgICAgICAgICAgICdjaGVja291dF9lcnJvcicgICAgICAgPT4gJ+axuua4iOOCkumWi+Wni+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAguOCguOBhuS4gOW6puOBiuippuOBl+OBj+OBoOOBleOBhOOAgicsDQogICAgICAgICAgICAnYWxyZWFkeV9zdWJzY3JpYmVkJyAgID0+ICfjgZnjgafjgatQcm/jgrXjg5bjgrnjgq/jg6rjg5fjgrfjg6fjg7PjgYzmnInlirnjgafjgZnjgIInLA0KICAgICAgICAgICAgJ2JpbGxpbmdfc3VjY2VzcycgICAgICA9PiAnUHJv44G444KI44GG44GT44Gd77yB44K144OW44K544Kv44Oq44OX44K344On44Oz44GM5pyJ5Yq544Gn44GZ44CCJywNCiAgICAgICAgICAgICdiaWxsaW5nX2ZhaWxlZCcgICAgICAgPT4gJ+aUr+aJleOBhOOBjOWujOS6huOBl+OBvuOBm+OCk+OBp+OBl+OBn+OAguOCguOBhuS4gOW6puOBiuippuOBl+OBj+OBoOOBleOBhOOAgicsDQogICAgICAgICAgICAncGF5bWVudF9mYWlsZWRfYmFubmVyJz0+ICfliY3lm57jga7mlK/miZXjgYTjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgILmlK/miZXjgYTmlrnms5XjgpLmm7TmlrDjgZfjgabjgY/jgaDjgZXjgYTjgIInLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL+aciCcsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcv5bm0JywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ+WuieWFqOOBquaxuua4iCcsDQogICAgICAgICAgICAncHJvcmF0aW9uX25vdGljZScgICAgID0+ICfmnIjjga7pgJTkuK3jgafnmbvpjLLjgZfjgb7jgZnjgYvvvJ/mnIDliJ3jga7oq4vmsYLjga/ml6XlibLjgoroqIjnrpfjgZXjgozjgb7jgZkg4oCUIDHml6Xjgb7jgafjga7mrovjgorjga7ml6XmlbDliIbjga7jgb/jgYrmlK/miZXjgYTjgYTjgZ/jgaDjgY3jgb7jgZnjgILnv4zmnIjjgYvjgonjga/pgJrluLjjga7mnIjpoY3mlpnph5HjgYzpgannlKjjgZXjgozjgb7jgZnjgIInLA0KICAgICAgICAgICAgJ3N0YXR1c19ncmFjZScgICAgICAgICA9PiAn54y25LqI5pyf6ZaTJywNCiAgICAgICAgICAgICdyZW5ld19ub3cnICAgICAgICAgICAgPT4gJ+S7iuOBmeOBkOabtOaWsCcsDQogICAgICAgICAgICAnZ3JhY2Vfd2FybmluZycgICAgICAgID0+ICfjgqLjgq/jgrvjgrnjgYzjgb7jgoLjgarjgY/ntYLkuobjgZfjgb7jgZnjgIJQcm/mqZ/og73jgpLntq3mjIHjgZnjgovjgavjga/mm7TmlrDjgZfjgabjgY/jgaDjgZXjgYTjgIInLA0KICAgICAgICAgICAgJ2NoYXJnZV9mYWlsdXJlc19ub3RpY2UnPT4gJ+WJjeWbnuOBruaUr+aJleOBhOWHpueQhuOBq+WVj+mhjOOBjOOBguOCiuOBvuOBl+OBn+OAguOBk+OBruOBvuOBvue2muOBj+OBqOOCouOCr+OCu+OCueOBq+W9semfv+OBmeOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAgicsDQogICAgICAgIF0sDQogICAgICAgICdrbycgPT4gWw0KICAgICAgICAgICAgJ3RhYl9iaWxsaW5nJyAgICAgICAgICA9PiAn6rKw7KCcJywNCiAgICAgICAgICAgICdwbGFuX2ZyZWUnICAgICAgICAgICAgPT4gJ+ustOujjCcsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8g7JuU6rCEJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyDsl7DqsIQnLA0KICAgICAgICAgICAgJ2N1cnJlbnRfcGxhbicgICAgICAgICA9PiAn7ZiE7J6sIO2UjOuenCcsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICfrrLTro4wg7ZSM656c7J2EIOyCrOyaqSDspJHsnoXri4jri6QuJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ1Byb+uhnCDsl4Xqt7jroIjsnbTrk5ztlZjsl6wg66qo65OgIOuPhOq1rOyXkCDrrLTsoJztlZwg7KCR6re87ZWY7IS47JqULicsDQogICAgICAgICAgICAndXBncmFkZV9tb250aGx5JyAgICAgID0+ICfsl4Xqt7jroIjsnbTrk5wg4oCUICQ3L+yblCcsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICfsl4Xqt7jroIjsnbTrk5wg4oCUICQ2L+yblCAoJDcyL+uFhCknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAnMTQlIOygiOyVvScsDQogICAgICAgICAgICAnc3RhdHVzJyAgICAgICAgICAgICAgID0+ICfsg4Htg5wnLA0KICAgICAgICAgICAgJ3N0YXR1c19hY3RpdmUnICAgICAgICA9PiAn7Zmc7ISxJywNCiAgICAgICAgICAgICdzdGF0dXNfY2FuY2VsbGVkJyAgICAgPT4gJ+y3qOyGjOuQqCcsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICfrp4zro4zrkKgnLA0KICAgICAgICAgICAgJ3N0YXR1c19wYXN0X2R1ZScgICAgICA9PiAn6rKw7KCcIOyLpO2MqCcsDQogICAgICAgICAgICAnbmV4dF9iaWxsaW5nJyAgICAgICAgID0+ICfri6TsnYwg6rKw7KCc7J28JywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ1BybyDsoJHqt7wg6riw7ZWcJywNCiAgICAgICAgICAgICdwYXltZW50X21ldGhvZCcgICAgICAgPT4gJ+qysOygnCDsiJjri6gnLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAn6rWs64+FIOy3qOyGjCcsDQogICAgICAgICAgICAnY2FuY2VsX2NvbmZpcm0nICAgICAgID0+ICfsoJXrp5Ag7Leo7IaM7ZWY7Iuc6rKg7Iq164uI6rmMPyDtmITsnqwg6rKw7KCcIOq4sOqwhOydtCDrgZ3rgqAg65WM6rmM7KeAIFBybyDsoJHqt7zsnbQg7Jyg7KeA65Cp64uI64ukLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICfsmIgsIOy3qOyGjCcsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICfsnqztmZzshLHtmZQnLA0KICAgICAgICAgICAgJ3BheW1lbnRfaGlzdG9yeScgICAgICA9PiAn6rKw7KCcIOuCtOyXrScsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICfqsrDsoJwg64K07Jet7J20IOyXhuyKteuLiOuLpC4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAn64Kg7KecJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ+q4iOyVoScsDQogICAgICAgICAgICAnaW52b2ljZScgICAgICAgICAgICAgID0+ICfssq3qtazshJwnLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAn64uk7Jq066Gc65OcJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ+qysOygnOuQqCcsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICfsi6TtjKgnLA0KICAgICAgICAgICAgJ3BlbmRpbmcnICAgICAgICAgICAgICA9PiAn64yA6riwIOykkScsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICfsnbztlaAg6rOE7IKwJywNCiAgICAgICAgICAgICdjaGVja291dF9lcnJvcicgICAgICAgPT4gJ+qysOygnOulvCDsi5zsnpHtlaAg7IiYIOyXhuyKteuLiOuLpC4g64uk7IucIOyLnOuPhO2VtOyjvOyEuOyalC4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAn7J2066+4IO2ZnOyEse2ZlOuQnCBQcm8g6rWs64+F7J20IOyeiOyKteuLiOuLpC4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfc3VjY2VzcycgICAgICA9PiAnUHJv7JeQIOyYpOyLoCDqsoPsnYQg7ZmY7JiB7ZWp64uI64ukISDqtazrj4XsnbQg7Zmc7ISx7ZmU65CY7JeI7Iq164uI64ukLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICfqsrDsoJzqsIAg7JmE66OM65CY7KeAIOyViuyVmOyKteuLiOuLpC4g64uk7IucIOyLnOuPhO2VtOyjvOyEuOyalC4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAn66eI7KeA66eJIOqysOygnOyXkCDsi6TtjKjtlojsirXri4jri6QuIOqysOygnCDsiJjri6jsnYQg7JeF642w7J207Yq47ZW07KO87IS47JqULicsDQogICAgICAgICAgICAncGVyX21vbnRoJyAgICAgICAgICAgID0+ICcv7JuUJywNCiAgICAgICAgICAgICdwZXJfeWVhcicgICAgICAgICAgICAgPT4gJy/rhYQnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X3RpdGxlJyAgICAgICA9PiAn7JWI7KCE7ZWcIOqysOygnCcsDQogICAgICAgICAgICAncHJvcmF0aW9uX25vdGljZScgICAgID0+ICfsm5Qg7KSR6rCE7JeQIOq1rOuPhe2VmOyLnOuCmOyalD8g7LKrIOuyiOynuCDqsrDsoJzripQg7J287ZWgIOqzhOyCsOuQqeuLiOuLpCDigJQgMeydvOq5jOyngCDrgqjsnYAg7J287IiY66eMIOyngOu2iO2VqeuLiOuLpC4g7J207ZuE7JeQ64qUIOygleyDgSDsm5TqsIQg7JqU6riI7J20IOyggeyaqeuQqeuLiOuLpC4nLA0KICAgICAgICAgICAgJ3N0YXR1c19ncmFjZScgICAgICAgICA9PiAn7Jyg7JiIIOq4sOqwhCcsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICfsp4DquIgg6rCx7IugJywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ+ygkeq3vCDqtoztlZzsnbQg6rOnIOunjOujjOuQqeuLiOuLpC4gUHJvIOq4sOuKpeydhCDsnKDsp4DtlZjroKTrqbQg6rCx7Iug7ZW07KO87IS47JqULicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAn7LWc6re8IOqysOygnCDsspjrpqzsl5Ag66y47KCc6rCAIOyeiOyXiOyKteuLiOuLpC4g7J20IOyDge2DnOqwgCDqs4Tsho3rkJjrqbQg7KCR6re87JeQIOyYge2WpeydhCDspIQg7IiYIOyeiOyKteuLiOuLpC4nLA0KICAgICAgICBdLA0KICAgICAgICAnbmwnID0+IFsNCiAgICAgICAgICAgICd0YWJfYmlsbGluZycgICAgICAgICAgPT4gJ0ZhY3R1cmVyaW5nJywNCiAgICAgICAgICAgICdwbGFuX2ZyZWUnICAgICAgICAgICAgPT4gJ0dyYXRpcycsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8gTWFhbmRlbGlqa3MnLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX2FubnVhbCcgICAgICA9PiAnUHJvIEphYXJsaWprcycsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdIdWlkaWcgYWJvbm5lbWVudCcsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICdKZSBnZWJydWlrdCBoZXQgZ3JhdGlzIGFib25uZW1lbnQuJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ1VwZ3JhZGUgbmFhciBQcm8gdm9vciBvbmJlcGVya3RlIHRvZWdhbmcgdG90IGFsbGUgdG9vbHMuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ1VwZ3JhZGUg4oCUICQ3L21hYW5kJywNCiAgICAgICAgICAgICd1cGdyYWRlX2FubnVhbCcgICAgICAgPT4gJ1VwZ3JhZGUg4oCUICQ2L21hYW5kICgkNzIvamFhciknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAnQmVzcGFhciAxNCUnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAnU3RhdHVzJywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ0FjdGllZicsDQogICAgICAgICAgICAnc3RhdHVzX2NhbmNlbGxlZCcgICAgID0+ICdHZWFubnVsZWVyZCcsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICdWZXJsb3BlbicsDQogICAgICAgICAgICAnc3RhdHVzX3Bhc3RfZHVlJyAgICAgID0+ICdCZXRhbGluZyBtaXNsdWt0JywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ1ZvbGdlbmRlIGZhY3R1cmVyaW5nJywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ1Byby10b2VnYW5nIHRvdCcsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICdCZXRhYWxtZXRob2RlJywNCiAgICAgICAgICAgICdjYW5jZWxfc3ViJyAgICAgICAgICAgPT4gJ0Fib25uZW1lbnQgb3B6ZWdnZW4nLA0KICAgICAgICAgICAgJ2NhbmNlbF9jb25maXJtJyAgICAgICA9PiAnV2VldCBqZSBoZXQgemVrZXI/IEplIGJlaG91ZHQgUHJvLXRvZWdhbmcgdG90IGhldCBlaW5kZSB2YW4gZGUgZmFjdHVyZXJpbmdzcGVyaW9kZS4nLA0KICAgICAgICAgICAgJ2NhbmNlbF9idG4nICAgICAgICAgICA9PiAnSmEsIG9wemVnZ2VuJywNCiAgICAgICAgICAgICdyZWFjdGl2YXRlJyAgICAgICAgICAgPT4gJ0hlcmFjdGl2ZXJlbicsDQogICAgICAgICAgICAncGF5bWVudF9oaXN0b3J5JyAgICAgID0+ICdCZXRhbGluZ3NnZXNjaGllZGVuaXMnLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnTm9nIGdlZW4gYmV0YWxpbmdlbi4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAnRGF0dW0nLA0KICAgICAgICAgICAgJ2Ftb3VudCcgICAgICAgICAgICAgICA9PiAnQmVkcmFnJywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ0ZhY3R1dXInLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAnRG93bmxvYWRlbicsDQogICAgICAgICAgICAnc3VjY2VlZGVkJyAgICAgICAgICAgID0+ICdCZXRhYWxkJywNCiAgICAgICAgICAgICdmYWlsZWQnICAgICAgICAgICAgICAgPT4gJ01pc2x1a3QnLA0KICAgICAgICAgICAgJ3BlbmRpbmcnICAgICAgICAgICAgICA9PiAnSW4gYWZ3YWNodGluZycsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdFdmVucmVkaWcnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAnS29uIGJldGFsaW5nIG5pZXQgc3RhcnRlbi4gUHJvYmVlciBoZXQgb3BuaWV1dy4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAnSmUgaGVidCBhbCBlZW4gYWN0aWVmIFByby1hYm9ubmVtZW50LicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdXZWxrb20gYmlqIFBybyEgSmUgYWJvbm5lbWVudCBpcyBhY3RpZWYuJywNCiAgICAgICAgICAgICdiaWxsaW5nX2ZhaWxlZCcgICAgICAgPT4gJ0JldGFsaW5nIG5pZXQgdm9sdG9vaWQuIFByb2JlZXIgaGV0IG9wbmlldXcuJywNCiAgICAgICAgICAgICdwYXltZW50X2ZhaWxlZF9iYW5uZXInPT4gJ0xhYXRzdGUgYmV0YWxpbmcgbWlzbHVrdC4gV2VyayBqZSBiZXRhYWxtZXRob2RlIGJpai4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL21hYW5kJywNCiAgICAgICAgICAgICdwZXJfeWVhcicgICAgICAgICAgICAgPT4gJy9qYWFyJywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ1ZlaWxpZ2UgYmV0YWxpbmcnLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnSGFsdmVyd2VnZSBkZSBtYWFuZCBhYm9ubmVyZW4/IFV3IGVlcnN0ZSBiZXRhbGluZyB3b3JkdCBldmVucmVkaWcgYmVyZWtlbmQg4oCUIHUgYmV0YWFsdCBhbGxlZW4gdm9vciBkZSByZXN0ZXJlbmRlIGRhZ2VuIHRvdCBkZSAxZS4gRGFhcm5hIGdlbGR0IGRlIHZvbGxlZGlnZSBtYWFuZHByaWpzLicsDQogICAgICAgICAgICAnc3RhdHVzX2dyYWNlJyAgICAgICAgID0+ICdSZXNwaWp0cGVyaW9kZScsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICdOdSB2ZXJuaWV1d2VuJywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ1V3IHRvZWdhbmcgdmVybG9vcHQgYmlubmVua29ydC4gVmVybmlldXcgb20gdXcgUHJvLWZ1bmN0aWVzIHRlIGJlaG91ZGVuLicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAnV2UgaGFkZGVuIHByb2JsZW1lbiBiaWogaGV0IHZlcndlcmtlbiB2YW4gdXcgbGFhdHN0ZSBiZXRhbGluZy4gVXcgdG9lZ2FuZyBrYW4gd29yZGVuIGJlw69udmxvZWQuJywNCiAgICAgICAgXSwNCiAgICAgICAgJ3BsJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICdQxYJhdG5vxZtjaScsDQogICAgICAgICAgICAncGxhbl9mcmVlJyAgICAgICAgICAgID0+ICdEYXJtb3d5JywNCiAgICAgICAgICAgICdwbGFuX3Byb19tb250aGx5JyAgICAgPT4gJ1BybyBNaWVzacSZY3pueScsDQogICAgICAgICAgICAncGxhbl9wcm9fYW5udWFsJyAgICAgID0+ICdQcm8gUm9jem55JywNCiAgICAgICAgICAgICdjdXJyZW50X3BsYW4nICAgICAgICAgPT4gJ09iZWNueSBwbGFuJywNCiAgICAgICAgICAgICdmcmVlX2Rlc2MnICAgICAgICAgICAgPT4gJ0tvcnp5c3Rhc3ogeiBkYXJtb3dlZ28gcGxhbnUuJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ1ByemVqZMW6IG5hIFBybywgYWJ5IHV6eXNrYcSHIG5pZW9ncmFuaWN6b255IGRvc3TEmXAgZG8gd3N6eXN0a2ljaCBuYXJ6xJlkemkuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ1VsZXBzeiDigJQgJDcvbWllcy4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfYW5udWFsJyAgICAgICA9PiAnVWxlcHN6IOKAlCAkNi9taWVzLiAoJDcyL3JvayknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAnT3N6Y3rEmWTFuiAxNCUnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAnU3RhdHVzJywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ0FrdHl3bnknLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnQW51bG93YW55JywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ1d5Z2FzxYJ5JywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ1DFgmF0bm/Fm8SHIG5pZXVkYW5hJywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ05hc3TEmXBuYSBwxYJhdG5vxZvEhycsDQogICAgICAgICAgICAnYWNjZXNzX3VudGlsJyAgICAgICAgID0+ICdEb3N0xJlwIFBybyBkbycsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICdNZXRvZGEgcMWCYXRub8WbY2knLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAnQW51bHVqIHN1YnNrcnlwY2rEmScsDQogICAgICAgICAgICAnY2FuY2VsX2NvbmZpcm0nICAgICAgID0+ICdOYSBwZXdubz8gWmFjaG93YXN6IGRvc3TEmXAgUHJvIGRvIGtvxYRjYSBva3Jlc3Ugcm96bGljemVuaW93ZWdvLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICdUYWssIGFudWx1aicsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICdSZWFrdHl3dWonLA0KICAgICAgICAgICAgJ3BheW1lbnRfaGlzdG9yeScgICAgICA9PiAnSGlzdG9yaWEgcMWCYXRub8WbY2knLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnQnJhayBwxYJhdG5vxZtjaS4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAnRGF0YScsDQogICAgICAgICAgICAnYW1vdW50JyAgICAgICAgICAgICAgID0+ICdLd290YScsDQogICAgICAgICAgICAnaW52b2ljZScgICAgICAgICAgICAgID0+ICdGYWt0dXJhJywNCiAgICAgICAgICAgICdkb3dubG9hZCcgICAgICAgICAgICAgPT4gJ1BvYmllcnonLA0KICAgICAgICAgICAgJ3N1Y2NlZWRlZCcgICAgICAgICAgICA9PiAnWmFwxYJhY29ubycsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICdOaWV1ZGFuYScsDQogICAgICAgICAgICAncGVuZGluZycgICAgICAgICAgICAgID0+ICdPY3pla3VqxIVjYScsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdQcm9wb3Jjam9uYWxuaWUnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAnTmllIG1vxbxuYSByb3pwb2N6xIXEhyBwxYJhdG5vxZtjaS4gU3Byw7NidWogcG9ub3duaWUuJywNCiAgICAgICAgICAgICdhbHJlYWR5X3N1YnNjcmliZWQnICAgPT4gJ01hc3oganXFvCBha3R5d27EhSBzdWJza3J5cGNqxJkgUHJvLicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdXaXRhaiB3IFBybyEgVHdvamEgc3Vic2tyeXBjamEgamVzdCBha3R5d25hLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdQxYJhdG5vxZvEhyBuaWUgem9zdGHFgmEgemFrb8WEY3pvbmEuIFNwcsOzYnVqIHBvbm93bmllLicsDQogICAgICAgICAgICAncGF5bWVudF9mYWlsZWRfYmFubmVyJz0+ICdPc3RhdG5pYSBwxYJhdG5vxZvEhyBuaWUgcG93aW9kxYJhIHNpxJkuIFpha3R1YWxpenVqIG1ldG9kxJkgcMWCYXRub8WbY2kuJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy9taWVzLicsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvcm9rJywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ0JlenBpZWN6bmEgcGxhdG5vc2MnLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnU3Vic2tyeWJ1amVzeiB3IHRyYWtjaWUgbWllc2nEhWNhPyBQaWVyd3N6YSBwxYJhdG5vxZvEhyBixJlkemllIHByb3BvcmNqb25hbG5hIOKAlCBwxYJhY2lzeiB0eWxrbyB6YSBwb3pvc3RhxYJlIGRuaSBkbyAxLiBQb3RlbSBvYm93acSFenVqZSBwZcWCbmEgY2VuYSBtaWVzacSZY3puYS4nLA0KICAgICAgICAgICAgJ3N0YXR1c19ncmFjZScgICAgICAgICA9PiAnT2tyZXMga2FyZW5jamknLA0KICAgICAgICAgICAgJ3JlbmV3X25vdycgICAgICAgICAgICA9PiAnT2Ruw7N3IHRlcmF6JywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ1R3w7NqIGRvc3TEmXAgd2tyw7N0Y2Ugd3lnYcWbbmllLiBPZG7Ds3csIGFieSB6YWNob3dhxIcgZnVua2NqZSBQcm8uJywNCiAgICAgICAgICAgICdjaGFyZ2VfZmFpbHVyZXNfbm90aWNlJz0+ICdNaWVsacWbbXkgcHJvYmxlbSB6IHByemV0d29yemVuaWVtIG9zdGF0bmllaiBwxYJhdG5vxZtjaS4gVHfDs2ogZG9zdMSZcCBtb8W8ZSB6b3N0YcSHIG9ncmFuaWN6b255LicsDQogICAgICAgIF0sDQogICAgICAgICdwdCcgPT4gWw0KICAgICAgICAgICAgJ3RhYl9iaWxsaW5nJyAgICAgICAgICA9PiAnRmF0dXJhbWVudG8nLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAnR3LDoXRpcycsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8gTWVuc2FsJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyBBbnVhbCcsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdQbGFubyBhdHVhbCcsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICdWb2PDqiBlc3TDoSBubyBwbGFubyBncmF0dWl0by4nLA0KICAgICAgICAgICAgJ2ZyZWVfdXBncmFkZV9jdGEnICAgICA9PiAnQXR1YWxpemUgcGFyYSBQcm8gcGFyYSBhY2Vzc28gaWxpbWl0YWRvIGEgdG9kYXMgYXMgZmVycmFtZW50YXMuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ0F0dWFsaXphciDigJQgJDcvbcOqcycsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICdBdHVhbGl6YXIg4oCUICQ2L23DqnMgKCQ3Mi9hbm8pJywNCiAgICAgICAgICAgICdzYXZlX3BlcmNlbnQnICAgICAgICAgPT4gJ0Vjb25vbWl6ZSAxNCUnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAnU3RhdHVzJywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ0F0aXZvJywNCiAgICAgICAgICAgICdzdGF0dXNfY2FuY2VsbGVkJyAgICAgPT4gJ0NhbmNlbGFkbycsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICdFeHBpcmFkbycsDQogICAgICAgICAgICAnc3RhdHVzX3Bhc3RfZHVlJyAgICAgID0+ICdQYWdhbWVudG8gZmFsaG91JywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ1Byw7N4aW1hIGNvYnJhbsOnYScsDQogICAgICAgICAgICAnYWNjZXNzX3VudGlsJyAgICAgICAgID0+ICdBY2Vzc28gUHJvIGF0w6knLA0KICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyAgICAgICA9PiAnRm9ybWEgZGUgcGFnYW1lbnRvJywNCiAgICAgICAgICAgICdjYW5jZWxfc3ViJyAgICAgICAgICAgPT4gJ0NhbmNlbGFyIGFzc2luYXR1cmEnLA0KICAgICAgICAgICAgJ2NhbmNlbF9jb25maXJtJyAgICAgICA9PiAnVGVtIGNlcnRlemE/IFZvY8OqIG1hbnRlcsOhIG8gYWNlc3NvIFBybyBhdMOpIG8gZmluYWwgZG8gcGVyw61vZG8uJywNCiAgICAgICAgICAgICdjYW5jZWxfYnRuJyAgICAgICAgICAgPT4gJ1NpbSwgY2FuY2VsYXInLA0KICAgICAgICAgICAgJ3JlYWN0aXZhdGUnICAgICAgICAgICA9PiAnUmVhdGl2YXInLA0KICAgICAgICAgICAgJ3BheW1lbnRfaGlzdG9yeScgICAgICA9PiAnSGlzdMOzcmljbyBkZSBwYWdhbWVudG9zJywNCiAgICAgICAgICAgICdub19pbnZvaWNlcycgICAgICAgICAgPT4gJ05lbmh1bSBwYWdhbWVudG8gYWluZGEuJywNCiAgICAgICAgICAgICdkYXRlJyAgICAgICAgICAgICAgICAgPT4gJ0RhdGEnLA0KICAgICAgICAgICAgJ2Ftb3VudCcgICAgICAgICAgICAgICA9PiAnVmFsb3InLA0KICAgICAgICAgICAgJ2ludm9pY2UnICAgICAgICAgICAgICA9PiAnRmF0dXJhJywNCiAgICAgICAgICAgICdkb3dubG9hZCcgICAgICAgICAgICAgPT4gJ0JhaXhhcicsDQogICAgICAgICAgICAnc3VjY2VlZGVkJyAgICAgICAgICAgID0+ICdQYWdvJywNCiAgICAgICAgICAgICdmYWlsZWQnICAgICAgICAgICAgICAgPT4gJ0ZhbGhvdScsDQogICAgICAgICAgICAncGVuZGluZycgICAgICAgICAgICAgID0+ICdQZW5kZW50ZScsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdQcm9wb3JjaW9uYWwnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAnTsOjbyBmb2kgcG9zc8OtdmVsIGluaWNpYXIgbyBwYWdhbWVudG8uIFRlbnRlIG5vdmFtZW50ZS4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAnVm9jw6ogasOhIHRlbSB1bWEgYXNzaW5hdHVyYSBQcm8gYXRpdmEuJywNCiAgICAgICAgICAgICdiaWxsaW5nX3N1Y2Nlc3MnICAgICAgPT4gJ0JlbS12aW5kbyBhbyBQcm8hIFN1YSBhc3NpbmF0dXJhIGVzdMOhIGF0aXZhLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdQYWdhbWVudG8gbsOjbyBjb25jbHXDrWRvLiBUZW50ZSBub3ZhbWVudGUuJywNCiAgICAgICAgICAgICdwYXltZW50X2ZhaWxlZF9iYW5uZXInPT4gJ8OabHRpbW8gcGFnYW1lbnRvIGZhbGhvdS4gQXR1YWxpemUgc2V1IG3DqXRvZG8gZGUgcGFnYW1lbnRvLicsDQogICAgICAgICAgICAncGVyX21vbnRoJyAgICAgICAgICAgID0+ICcvbcOqcycsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvYW5vJywNCiAgICAgICAgICAgICdjaGVja291dF90aXRsZScgICAgICAgPT4gJ1BhZ2FtZW50byBzZWd1cm8nLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnQXNzaW5hbmRvIG5vIG1laW8gZG8gbcOqcz8gU3VhIHByaW1laXJhIGNvYnJhbsOnYSBzZXLDoSBwcm9wb3JjaW9uYWwg4oCUIHZvY8OqIHBhZ2EgYXBlbmFzIHBlbG9zIGRpYXMgcmVzdGFudGVzIGF0w6kgbyBkaWEgMS4gRGVwb2lzIGRpc3NvLCBvIHByZcOnbyBtZW5zYWwgY29tcGxldG8gc2Vyw6EgYXBsaWNhZG8uJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ1BlcsOtb2RvIGRlIGNhcsOqbmNpYScsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICdSZW5vdmFyIGFnb3JhJywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ1NldSBhY2Vzc28gdmFpIGV4cGlyYXIgZW0gYnJldmUuIFJlbm92ZSBwYXJhIG1hbnRlciBvcyByZWN1cnNvcyBQcm8uJywNCiAgICAgICAgICAgICdjaGFyZ2VfZmFpbHVyZXNfbm90aWNlJz0+ICdUaXZlbW9zIHByb2JsZW1hcyBhbyBwcm9jZXNzYXIgc2V1IMO6bHRpbW8gcGFnYW1lbnRvLiBTZXUgYWNlc3NvIHBvZGUgc2VyIGFmZXRhZG8uJywNCiAgICAgICAgXSwNCiAgICAgICAgJ3J1JyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICfQntC/0LvQsNGC0LAnLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAn0JHQtdGB0L/Qu9Cw0YLQvdC+JywNCiAgICAgICAgICAgICdwbGFuX3Byb19tb250aGx5JyAgICAgPT4gJ1BybyDQldC20LXQvNC10YHRj9GH0L3QvicsDQogICAgICAgICAgICAncGxhbl9wcm9fYW5udWFsJyAgICAgID0+ICdQcm8g0JXQttC10LPQvtC00L3QvicsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICfQotC10LrRg9GJ0LjQuSDQv9C70LDQvScsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICfQktGLINC90LAg0LHQtdGB0L/Qu9Cw0YLQvdC+0Lwg0L/Qu9Cw0L3QtS4nLA0KICAgICAgICAgICAgJ2ZyZWVfdXBncmFkZV9jdGEnICAgICA9PiAn0J/QtdGA0LXQudC00LjRgtC1INC90LAgUHJvINC00LvRjyDQvdC10L7Qs9GA0LDQvdC40YfQtdC90L3QvtCz0L4g0LTQvtGB0YLRg9C/0LAg0LrQviDQstGB0LXQvCDQuNC90YHRgtGA0YPQvNC10L3RgtCw0LwuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ9Ce0LHQvdC+0LLQuNGC0Ywg4oCUICQ3L9C80LXRgS4nLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfYW5udWFsJyAgICAgICA9PiAn0J7QsdC90L7QstC40YLRjCDigJQgJDYv0LzQtdGBLiAoJDcyL9Cz0L7QtCknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAn0K3QutC+0L3QvtC80LjRjyAxNCUnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAn0KHRgtCw0YLRg9GBJywNCiAgICAgICAgICAgICdzdGF0dXNfYWN0aXZlJyAgICAgICAgPT4gJ9CQ0LrRgtC40LLQvdCwJywNCiAgICAgICAgICAgICdzdGF0dXNfY2FuY2VsbGVkJyAgICAgPT4gJ9Ce0YLQvNC10L3QtdC90LAnLA0KICAgICAgICAgICAgJ3N0YXR1c19leHBpcmVkJyAgICAgICA9PiAn0JjRgdGC0LXQutC70LAnLA0KICAgICAgICAgICAgJ3N0YXR1c19wYXN0X2R1ZScgICAgICA9PiAn0J7RiNC40LHQutCwINC+0L/Qu9Cw0YLRiycsDQogICAgICAgICAgICAnbmV4dF9iaWxsaW5nJyAgICAgICAgID0+ICfQodC70LXQtNGD0Y7RidC40Lkg0L/Qu9Cw0YLRkdC2JywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ9CU0L7RgdGC0YPQvyBQcm8g0LTQvicsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICfQodC/0L7RgdC+0LEg0L7Qv9C70LDRgtGLJywNCiAgICAgICAgICAgICdjYW5jZWxfc3ViJyAgICAgICAgICAgPT4gJ9Ce0YLQvNC10L3QuNGC0Ywg0L/QvtC00L/QuNGB0LrRgycsDQogICAgICAgICAgICAnY2FuY2VsX2NvbmZpcm0nICAgICAgID0+ICfQktGLINGD0LLQtdGA0LXQvdGLPyBQcm8t0LTQvtGB0YLRg9C/INGB0L7RhdGA0LDQvdC40YLRgdGPINC00L4g0LrQvtC90YbQsCDQvtC/0LvQsNGH0LXQvdC90L7Qs9C+INC/0LXRgNC40L7QtNCwLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICfQlNCwLCDQvtGC0LzQtdC90LjRgtGMJywNCiAgICAgICAgICAgICdyZWFjdGl2YXRlJyAgICAgICAgICAgPT4gJ9CS0L7RgdGB0YLQsNC90L7QstC40YLRjCcsDQogICAgICAgICAgICAncGF5bWVudF9oaXN0b3J5JyAgICAgID0+ICfQmNGB0YLQvtGA0LjRjyDQv9C70LDRgtC10LbQtdC5JywNCiAgICAgICAgICAgICdub19pbnZvaWNlcycgICAgICAgICAgPT4gJ9Cf0LvQsNGC0LXQttC10Lkg0L/QvtC60LAg0L3QtdGCLicsDQogICAgICAgICAgICAnZGF0ZScgICAgICAgICAgICAgICAgID0+ICfQlNCw0YLQsCcsDQogICAgICAgICAgICAnYW1vdW50JyAgICAgICAgICAgICAgID0+ICfQodGD0LzQvNCwJywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ9Ch0YfRkdGCJywNCiAgICAgICAgICAgICdkb3dubG9hZCcgICAgICAgICAgICAgPT4gJ9Ch0LrQsNGH0LDRgtGMJywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ9Ce0L/Qu9Cw0YfQtdC90L4nLA0KICAgICAgICAgICAgJ2ZhaWxlZCcgICAgICAgICAgICAgICA9PiAn0J7RiNC40LHQutCwJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ9Ce0LbQuNC00LDQvdC40LUnLA0KICAgICAgICAgICAgJ3Byb3JhdGUnICAgICAgICAgICAgICA9PiAn0J/RgNC+0L/QvtGA0YbQuNC+0L3QsNC70YzQvdC+JywNCiAgICAgICAgICAgICdjaGVja291dF9lcnJvcicgICAgICAgPT4gJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNGH0LDRgtGMINC+0L/Qu9Cw0YLRgy4g0J/QvtC/0YDQvtCx0YPQudGC0LUg0YHQvdC+0LLQsC4nLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAn0KMg0LLQsNGBINGD0LbQtSDQtdGB0YLRjCDQsNC60YLQuNCy0L3QsNGPINC/0L7QtNC/0LjRgdC60LAgUHJvLicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICfQlNC+0LHRgNC+INC/0L7QttCw0LvQvtCy0LDRgtGMINCyIFBybyEg0JLQsNGI0LAg0L/QvtC00L/QuNGB0LrQsCDQsNC60YLQuNCy0L3QsC4nLA0KICAgICAgICAgICAgJ2JpbGxpbmdfZmFpbGVkJyAgICAgICA9PiAn0J7Qv9C70LDRgtCwINC90LUg0LfQsNCy0LXRgNGI0LXQvdCwLiDQn9C+0L/RgNC+0LHRg9C50YLQtSDRgdC90L7QstCwLicsDQogICAgICAgICAgICAncGF5bWVudF9mYWlsZWRfYmFubmVyJz0+ICfQn9C+0YHQu9C10LTQvdC40Lkg0L/Qu9Cw0YLRkdC2INC90LUg0L/RgNC+0YjRkdC7LiDQntCx0L3QvtCy0LjRgtC1INGB0L/QvtGB0L7QsSDQvtC/0LvQsNGC0YsuJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy/QvNC10YEuJywNCiAgICAgICAgICAgICdwZXJfeWVhcicgICAgICAgICAgICAgPT4gJy/Qs9C+0LQnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X3RpdGxlJyAgICAgICA9PiAn0JHQtdC30L7Qv9Cw0YHQvdCw0Y8g0L7Qv9C70LDRgtCwJywNCiAgICAgICAgICAgICdwcm9yYXRpb25fbm90aWNlJyAgICAgPT4gJ9Cf0L7QtNC/0LjRgdGL0LLQsNC10YLQtdGB0Ywg0LIg0YHQtdGA0LXQtNC40L3QtSDQvNC10YHRj9GG0LA/INCf0LXRgNCy0YvQuSDQv9C70LDRgtGR0LYg0LHRg9C00LXRgiDQv9GA0L7Qv9C+0YDRhtC40L7QvdCw0LvRjNC90YvQvCDigJQg0LLRiyDQt9Cw0L/Qu9Cw0YLQuNGC0LUg0YLQvtC70YzQutC+INC30LAg0L7RgdGC0LDQstGI0LjQtdGB0Y8g0LTQvdC4INC00L4gMS3Qs9C+INGH0LjRgdC70LAuINCf0L7RgdC70LUg0Y3RgtC+0LPQviDQv9GA0LjQvNC10L3Rj9C10YLRgdGPINC/0L7Qu9C90LDRjyDQvNC10YHRj9GH0L3QsNGPINGG0LXQvdCwLicsDQogICAgICAgICAgICAnc3RhdHVzX2dyYWNlJyAgICAgICAgID0+ICfQm9GM0LPQvtGC0L3Ri9C5INC/0LXRgNC40L7QtCcsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICfQn9GA0L7QtNC70LjRgtGMINGB0LXQudGH0LDRgScsDQogICAgICAgICAgICAnZ3JhY2Vfd2FybmluZycgICAgICAgID0+ICfQktCw0Ygg0LTQvtGB0YLRg9C/INGB0LrQvtGA0L4g0LfQsNC60L7QvdGH0LjRgtGB0Y8uINCf0YDQvtC00LvQuNGC0LUg0L/QvtC00L/QuNGB0LrRgywg0YfRgtC+0LHRiyDRgdC+0YXRgNCw0L3QuNGC0YwgUHJvLdGE0YPQvdC60YbQuNC4LicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAn0JLQvtC30L3QuNC60LvQsCDQv9GA0L7QsdC70LXQvNCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L/Qu9Cw0YLQtdC20LAuINCS0LDRiCDQtNC+0YHRgtGD0L8g0LzQvtC20LXRgiDQsdGL0YLRjCDQvtCz0YDQsNC90LjRh9C10L0uJywNCiAgICAgICAgXSwNCiAgICAgICAgJ3RyJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICdGYXR1cmFsYW1hJywNCiAgICAgICAgICAgICdwbGFuX2ZyZWUnICAgICAgICAgICAgPT4gJ8OcY3JldHNpeicsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8gQXlsxLFrJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyBZxLFsbMSxaycsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICdNZXZjdXQgcGxhbicsDQogICAgICAgICAgICAnZnJlZV9kZXNjJyAgICAgICAgICAgID0+ICfDnGNyZXRzaXogcGxhbmRhc8SxbsSxei4nLA0KICAgICAgICAgICAgJ2ZyZWVfdXBncmFkZV9jdGEnICAgICA9PiAnVMO8bSBhcmHDp2xhcmEgc8SxbsSxcnPEsXogZXJpxZ9pbSBpw6dpbiBQcm9cJ3lhIHnDvGtzZWx0aW4uJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ1nDvGtzZWx0IOKAlCAkNy9heScsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICdZw7xrc2VsdCDigJQgJDYvYXkgKCQ3Mi95xLFsKScsDQogICAgICAgICAgICAnc2F2ZV9wZXJjZW50JyAgICAgICAgID0+ICclMTQgdGFzYXJydWYnLA0KICAgICAgICAgICAgJ3N0YXR1cycgICAgICAgICAgICAgICA9PiAnRHVydW0nLA0KICAgICAgICAgICAgJ3N0YXR1c19hY3RpdmUnICAgICAgICA9PiAnQWt0aWYnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnxLBwdGFsIGVkaWxkaScsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICdTw7xyZXNpIGRvbGR1JywNCiAgICAgICAgICAgICdzdGF0dXNfcGFzdF9kdWUnICAgICAgPT4gJ8OWZGVtZSBiYcWfYXLEsXPEsXonLA0KICAgICAgICAgICAgJ25leHRfYmlsbGluZycgICAgICAgICA9PiAnU29ucmFraSBmYXR1cmFsYW1hJywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ1BybyBlcmnFn2ltIGJpdGnFnycsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICfDlmRlbWUgecO2bnRlbWknLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAnQWJvbmVsacSfaSBpcHRhbCBldCcsDQogICAgICAgICAgICAnY2FuY2VsX2NvbmZpcm0nICAgICAgID0+ICdFbWluIG1pc2luaXo/IE1ldmN1dCBmYXR1cmEgZMO2bmVtaSBzb251bmEga2FkYXIgUHJvIGVyacWfaW1pbml6IGRldmFtIGVkZXIuJywNCiAgICAgICAgICAgICdjYW5jZWxfYnRuJyAgICAgICAgICAgPT4gJ0V2ZXQsIGlwdGFsIGV0JywNCiAgICAgICAgICAgICdyZWFjdGl2YXRlJyAgICAgICAgICAgPT4gJ1llbmlkZW4gZXRraW5sZcWfdGlyJywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ8OWZGVtZSBnZcOnbWnFn2knLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnSGVuw7x6IMO2ZGVtZSB5b2suJywNCiAgICAgICAgICAgICdkYXRlJyAgICAgICAgICAgICAgICAgPT4gJ1RhcmloJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ1R1dGFyJywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ0ZhdHVyYScsDQogICAgICAgICAgICAnZG93bmxvYWQnICAgICAgICAgICAgID0+ICfEsG5kaXInLA0KICAgICAgICAgICAgJ3N1Y2NlZWRlZCcgICAgICAgICAgICA9PiAnw5ZkZW5kaScsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICdCYcWfYXLEsXPEsXonLA0KICAgICAgICAgICAgJ3BlbmRpbmcnICAgICAgICAgICAgICA9PiAnQmVrbGVtZWRlJywNCiAgICAgICAgICAgICdwcm9yYXRlJyAgICAgICAgICAgICAgPT4gJ09yYW50xLFsxLEnLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAnw5ZkZW1lIGJhxZ9sYXTEsWxhbWFkxLEuIFRla3JhciBkZW5leWluLicsDQogICAgICAgICAgICAnYWxyZWFkeV9zdWJzY3JpYmVkJyAgID0+ICdaYXRlbiBha3RpZiBiaXIgUHJvIGFib25lbGnEn2luaXogdmFyLicsDQogICAgICAgICAgICAnYmlsbGluZ19zdWNjZXNzJyAgICAgID0+ICdQcm9cJ3lhIGhvxZ8gZ2VsZGluaXohIEFib25lbGnEn2luaXogYWt0aWYuJywNCiAgICAgICAgICAgICdiaWxsaW5nX2ZhaWxlZCcgICAgICAgPT4gJ8OWZGVtZSB0YW1hbWxhbm1hZMSxLiBUZWtyYXIgZGVuZXlpbi4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAnU29uIMO2ZGVtZSBiYcWfYXLEsXPEsXogb2xkdS4gw5ZkZW1lIHnDtm50ZW1pbml6aSBnw7xuY2VsbGV5aW4uJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy9heScsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvecSxbCcsDQogICAgICAgICAgICAnY2hlY2tvdXRfdGl0bGUnICAgICAgID0+ICdHdXZlbmxpIG9kZW1lJywNCiAgICAgICAgICAgICdwcm9yYXRpb25fbm90aWNlJyAgICAgPT4gJ0F5xLFuIG9ydGFzxLFuZGEgbcSxIGFib25lIG9sdXlvcnN1bnV6PyDEsGxrIMO2ZGVtZW5peiBvcmFudMSxbMSxIG9sYWNhayDigJQgc2FkZWNlIGF5xLFuIDFcJ2luZSBrYWxhbiBnw7xubGVyIGnDp2luIMO2ZGVtZSB5YXBhcnPEsW7EsXouIFNvbnJhc8SxbmRhIHRhbSBheWzEsWsgZml5YXQgdXlndWxhbsSxci4nLA0KICAgICAgICAgICAgJ3N0YXR1c19ncmFjZScgICAgICAgICA9PiAnRWsgc8O8cmUnLA0KICAgICAgICAgICAgJ3JlbmV3X25vdycgICAgICAgICAgICA9PiAnxZ5pbWRpIHllbmlsZScsDQogICAgICAgICAgICAnZ3JhY2Vfd2FybmluZycgICAgICAgID0+ICdFcmnFn2ltaW5peiB5YWvEsW5kYSBzb25hIGVyZWNlay4gUHJvIMO2emVsbGlrbGVyaW5pIGtvcnVtYWsgacOnaW4geWVuaWxleWluLicsDQogICAgICAgICAgICAnY2hhcmdlX2ZhaWx1cmVzX25vdGljZSc9PiAnU29uIMO2ZGVtZW5pemkgacWfbGVya2VuIGJpciBzb3J1biB5YcWfYWTEsWsuIEJ1IGRldmFtIGVkZXJzZSBlcmnFn2ltaW5peiBldGtpbGVuZWJpbGlyLicsDQogICAgICAgIF0sDQogICAgICAgICd1aycgPT4gWw0KICAgICAgICAgICAgJ3RhYl9iaWxsaW5nJyAgICAgICAgICA9PiAn0J7Qv9C70LDRgtCwJywNCiAgICAgICAgICAgICdwbGFuX2ZyZWUnICAgICAgICAgICAgPT4gJ9CR0LXQt9C60L7RiNGC0L7QstC90L4nLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX21vbnRobHknICAgICA9PiAnUHJvINCp0L7QvNGW0YHRj9GG0Y8nLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX2FubnVhbCcgICAgICA9PiAnUHJvINCp0L7RgNGW0YfQvdC+JywNCiAgICAgICAgICAgICdjdXJyZW50X3BsYW4nICAgICAgICAgPT4gJ9Cf0L7RgtC+0YfQvdC40Lkg0L/Qu9Cw0L0nLA0KICAgICAgICAgICAgJ2ZyZWVfZGVzYycgICAgICAgICAgICA9PiAn0JLQuCDQvdCwINCx0LXQt9C60L7RiNGC0L7QstC90L7QvNGDINC/0LvQsNC90ZYuJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ9Ce0L3QvtCy0ZbRgtGMINC00L4gUHJvINC00LvRjyDQvdC10L7QsdC80LXQttC10L3QvtCz0L4g0LTQvtGB0YLRg9C/0YMg0LTQviDQstGB0ZbRhSDRltC90YHRgtGA0YPQvNC10L3RgtGW0LIuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ9Ce0L3QvtCy0LjRgtC4IOKAlCAkNy/QvNGW0YEuJywNCiAgICAgICAgICAgICd1cGdyYWRlX2FubnVhbCcgICAgICAgPT4gJ9Ce0L3QvtCy0LjRgtC4IOKAlCAkNi/QvNGW0YEuICgkNzIv0YDRltC6KScsDQogICAgICAgICAgICAnc2F2ZV9wZXJjZW50JyAgICAgICAgID0+ICfQldC60L7QvdC+0LzRltGPIDE0JScsDQogICAgICAgICAgICAnc3RhdHVzJyAgICAgICAgICAgICAgID0+ICfQodGC0LDRgtGD0YEnLA0KICAgICAgICAgICAgJ3N0YXR1c19hY3RpdmUnICAgICAgICA9PiAn0JDQutGC0LjQstC90LAnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAn0KHQutCw0YHQvtCy0LDQvdCwJywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ9CX0LDQutGW0L3Rh9C40LvQsNGB0YwnLA0KICAgICAgICAgICAgJ3N0YXR1c19wYXN0X2R1ZScgICAgICA9PiAn0J/QvtC80LjQu9C60LAg0L7Qv9C70LDRgtC4JywNCiAgICAgICAgICAgICduZXh0X2JpbGxpbmcnICAgICAgICAgPT4gJ9Cd0LDRgdGC0YPQv9C90LjQuSDQv9C70LDRgtGW0LYnLA0KICAgICAgICAgICAgJ2FjY2Vzc191bnRpbCcgICAgICAgICA9PiAn0JTQvtGB0YLRg9C/IFBybyDQtNC+JywNCiAgICAgICAgICAgICdwYXltZW50X21ldGhvZCcgICAgICAgPT4gJ9Ch0L/QvtGB0ZbQsSDQvtC/0LvQsNGC0LgnLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAn0KHQutCw0YHRg9Cy0LDRgtC4INC/0ZbQtNC/0LjRgdC60YMnLA0KICAgICAgICAgICAgJ2NhbmNlbF9jb25maXJtJyAgICAgICA9PiAn0JLQuCDQstC/0LXQstC90LXQvdGWPyBQcm8t0LTQvtGB0YLRg9C/INC30LHQtdGA0LXQttC10YLRjNGB0Y8g0LTQviDQutGW0L3RhtGPINC+0L/Qu9Cw0YfQtdC90L7Qs9C+INC/0LXRgNGW0L7QtNGDLicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICfQotCw0LosINGB0LrQsNGB0YPQstCw0YLQuCcsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICfQktGW0LTQvdC+0LLQuNGC0LgnLA0KICAgICAgICAgICAgJ3BheW1lbnRfaGlzdG9yeScgICAgICA9PiAn0IbRgdGC0L7RgNGW0Y8g0L/Qu9Cw0YLQtdC20ZbQsicsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICfQn9C70LDRgtC10LbRltCyINGJ0LUg0L3QtdC80LDRlC4nLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAn0JTQsNGC0LAnLA0KICAgICAgICAgICAgJ2Ftb3VudCcgICAgICAgICAgICAgICA9PiAn0KHRg9C80LAnLA0KICAgICAgICAgICAgJ2ludm9pY2UnICAgICAgICAgICAgICA9PiAn0KDQsNGF0YPQvdC+0LonLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAn0JfQsNCy0LDQvdGC0LDQttC40YLQuCcsDQogICAgICAgICAgICAnc3VjY2VlZGVkJyAgICAgICAgICAgID0+ICfQntC/0LvQsNGH0LXQvdC+JywNCiAgICAgICAgICAgICdmYWlsZWQnICAgICAgICAgICAgICAgPT4gJ9Cf0L7QvNC40LvQutCwJywNCiAgICAgICAgICAgICdwZW5kaW5nJyAgICAgICAgICAgICAgPT4gJ9Ce0YfRltC60YPQstCw0L3QvdGPJywNCiAgICAgICAgICAgICdwcm9yYXRlJyAgICAgICAgICAgICAgPT4gJ9Cf0YDQvtC/0L7RgNGG0ZbQudC90L4nLA0KICAgICAgICAgICAgJ2NoZWNrb3V0X2Vycm9yJyAgICAgICA9PiAn0J3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQv9C+0YfQsNGC0Lgg0L7Qv9C70LDRgtGDLiDQodC/0YDQvtCx0YPQudGC0LUg0YnQtSDRgNCw0LcuJywNCiAgICAgICAgICAgICdhbHJlYWR5X3N1YnNjcmliZWQnICAgPT4gJ9CjINCy0LDRgSDQstC20LUg0ZQg0LDQutGC0LjQstC90LAg0L/RltC00L/QuNGB0LrQsCBQcm8uJywNCiAgICAgICAgICAgICdiaWxsaW5nX3N1Y2Nlc3MnICAgICAgPT4gJ9Cb0LDRgdC60LDQstC+INC/0YDQvtGB0LjQvNC+INC00L4gUHJvISDQktCw0YjQsCDQv9GW0LTQv9C40YHQutCwINCw0LrRgtC40LLQvdCwLicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICfQntC/0LvQsNGC0YMg0L3QtSDQt9Cw0LLQtdGA0YjQtdC90L4uINCh0L/RgNC+0LHRg9C50YLQtSDRidC1INGA0LDQty4nLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAn0J7RgdGC0LDQvdC90ZbQuSDQv9C70LDRgtGW0LYg0L3QtSDQv9GA0L7QudGI0L7Qsi4g0J7QvdC+0LLRltGC0Ywg0YHQv9C+0YHRltCxINC+0L/Qu9Cw0YLQuC4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL9C80ZbRgS4nLA0KICAgICAgICAgICAgJ3Blcl95ZWFyJyAgICAgICAgICAgICA9PiAnL9GA0ZbQuicsDQogICAgICAgICAgICAnY2hlY2tvdXRfdGl0bGUnICAgICAgID0+ICfQkdC10LfQv9C10YfQvdCwINC+0L/Qu9Cw0YLQsCcsDQogICAgICAgICAgICAncHJvcmF0aW9uX25vdGljZScgICAgID0+ICfQn9GW0LTQv9C40YHRg9GU0YLQtdGB0Ywg0L/QvtGB0LXRgNC10LQg0LzRltGB0Y/RhtGPPyDQn9C10YDRiNC40Lkg0L/Qu9Cw0YLRltC2INCx0YPQtNC1INC/0YDQvtC/0L7RgNGG0ZbQudC90LjQvCDigJQg0LLQuCDRgdC/0LvQsNGH0YPRlNGC0LUg0LvQuNGI0LUg0LfQsCDQtNC90ZYsINGJ0L4g0LfQsNC70LjRiNC40LvQuNGB0Ywg0LTQviAxLdCz0L4g0YfQuNGB0LvQsC4g0J/RltGB0LvRjyDRhtGM0L7Qs9C+INC00ZbRlCDQv9C+0LLQvdCwINC80ZbRgdGP0YfQvdCwINGG0ZbQvdCwLicsDQogICAgICAgICAgICAnc3RhdHVzX2dyYWNlJyAgICAgICAgID0+ICfQn9GW0LvRjNCz0L7QstC40Lkg0L/QtdGA0ZbQvtC0JywNCiAgICAgICAgICAgICdyZW5ld19ub3cnICAgICAgICAgICAgPT4gJ9Cf0L7QtNC+0LLQttC40YLQuCDQt9Cw0YDQsNC3JywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ9CS0LDRiCDQtNC+0YHRgtGD0L8g0YHQutC+0YDQviDQt9Cw0LrRltC90YfQuNGC0YzRgdGPLiDQn9C+0LTQvtCy0LbRltGC0YwsINGJ0L7QsSDQt9Cx0LXRgNC10LPRgtC4IFByby3RhNGD0L3QutGG0ZbRly4nLA0KICAgICAgICAgICAgJ2NoYXJnZV9mYWlsdXJlc19ub3RpY2UnPT4gJ9CS0LjQvdC40LrQu9CwINC/0YDQvtCx0LvQtdC80LAg0Lcg0L7QsdGA0L7QsdC60L7RjiDQvtGB0YLQsNC90L3RjNC+0LPQviDQv9C70LDRgtC10LbRgy4g0JLQsNGIINC00L7RgdGC0YPQvyDQvNC+0LbQtSDQsdGD0YLQuCDQvtCx0LzQtdC20LXQvdC40LkuJywNCiAgICAgICAgXSwNCiAgICAgICAgJ3ZpJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICdUaGFuaCB0b8OhbicsDQogICAgICAgICAgICAncGxhbl9mcmVlJyAgICAgICAgICAgID0+ICdNaeG7hW4gcGjDrScsDQogICAgICAgICAgICAncGxhbl9wcm9fbW9udGhseScgICAgID0+ICdQcm8gSMOgbmcgdGjDoW5nJywNCiAgICAgICAgICAgICdwbGFuX3Byb19hbm51YWwnICAgICAgPT4gJ1BybyBIw6BuZyBuxINtJywNCiAgICAgICAgICAgICdjdXJyZW50X3BsYW4nICAgICAgICAgPT4gJ0fDs2kgaGnhu4duIHThuqFpJywNCiAgICAgICAgICAgICdmcmVlX2Rlc2MnICAgICAgICAgICAgPT4gJ0LhuqFuIMSRYW5nIGTDuW5nIGfDs2kgTWnhu4VuIHBow60uJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ07Dom5nIGPhuqVwIGzDqm4gUHJvIMSR4buDIHRydXkgY+G6rXAga2jDtG5nIGdp4bubaSBo4bqhbiB04bqldCBj4bqjIGPDtG5nIGPhu6UuJywNCiAgICAgICAgICAgICd1cGdyYWRlX21vbnRobHknICAgICAgPT4gJ07Dom5nIGPhuqVwIOKAlCAkNy90aMOhbmcnLA0KICAgICAgICAgICAgJ3VwZ3JhZGVfYW5udWFsJyAgICAgICA9PiAnTsOibmcgY+G6pXAg4oCUICQ2L3Row6FuZyAoJDcyL27Eg20pJywNCiAgICAgICAgICAgICdzYXZlX3BlcmNlbnQnICAgICAgICAgPT4gJ1Rp4bq/dCBraeG7h20gMTQlJywNCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgICAgPT4gJ1Ry4bqhbmcgdGjDoWknLA0KICAgICAgICAgICAgJ3N0YXR1c19hY3RpdmUnICAgICAgICA9PiAnxJBhbmcgaG/huqF0IMSR4buZbmcnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAnxJDDoyBo4buneScsDQogICAgICAgICAgICAnc3RhdHVzX2V4cGlyZWQnICAgICAgID0+ICdI4bq/dCBo4bqhbicsDQogICAgICAgICAgICAnc3RhdHVzX3Bhc3RfZHVlJyAgICAgID0+ICdUaGFuaCB0b8OhbiB0aOG6pXQgYuG6oWknLA0KICAgICAgICAgICAgJ25leHRfYmlsbGluZycgICAgICAgICA9PiAnVGhhbmggdG/DoW4gdGnhur9wIHRoZW8nLA0KICAgICAgICAgICAgJ2FjY2Vzc191bnRpbCcgICAgICAgICA9PiAnVHJ1eSBj4bqtcCBQcm8gxJHhur9uJywNCiAgICAgICAgICAgICdwYXltZW50X21ldGhvZCcgICAgICAgPT4gJ1BoxrDGoW5nIHRo4bupYyB0aGFuaCB0b8OhbicsDQogICAgICAgICAgICAnY2FuY2VsX3N1YicgICAgICAgICAgID0+ICdI4buneSDEkcSDbmcga8O9JywNCiAgICAgICAgICAgICdjYW5jZWxfY29uZmlybScgICAgICAgPT4gJ0LhuqFuIGNo4bqvYyBjaOG6r24/IFF1eeG7gW4gdHJ1eSBj4bqtcCBQcm8gc+G6vSDEkcaw4bujYyBnaeG7ryDEkeG6v24gaOG6v3Qga+G7syB0aGFuaCB0b8Ohbi4nLA0KICAgICAgICAgICAgJ2NhbmNlbF9idG4nICAgICAgICAgICA9PiAnQ8OzLCBo4buneScsDQogICAgICAgICAgICAncmVhY3RpdmF0ZScgICAgICAgICAgID0+ICdLw61jaCBob+G6oXQgbOG6oWknLA0KICAgICAgICAgICAgJ3BheW1lbnRfaGlzdG9yeScgICAgICA9PiAnTOG7i2NoIHPhu60gdGhhbmggdG/DoW4nLA0KICAgICAgICAgICAgJ25vX2ludm9pY2VzJyAgICAgICAgICA9PiAnQ2jGsGEgY8OzIHRoYW5oIHRvw6FuIG7DoG8uJywNCiAgICAgICAgICAgICdkYXRlJyAgICAgICAgICAgICAgICAgPT4gJ05nw6B5JywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ1Phu5EgdGnhu4FuJywNCiAgICAgICAgICAgICdpbnZvaWNlJyAgICAgICAgICAgICAgPT4gJ0jDs2EgxJHGoW4nLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAnVOG6o2kgeHXhu5FuZycsDQogICAgICAgICAgICAnc3VjY2VlZGVkJyAgICAgICAgICAgID0+ICfEkMOjIHRoYW5oIHRvw6FuJywNCiAgICAgICAgICAgICdmYWlsZWQnICAgICAgICAgICAgICAgPT4gJ1Ro4bqldCBi4bqhaScsDQogICAgICAgICAgICAncGVuZGluZycgICAgICAgICAgICAgID0+ICfEkGFuZyBjaOG7nScsDQogICAgICAgICAgICAncHJvcmF0ZScgICAgICAgICAgICAgID0+ICdUaGVvIHThu7cgbOG7hycsDQogICAgICAgICAgICAnY2hlY2tvdXRfZXJyb3InICAgICAgID0+ICdLaMO0bmcgdGjhu4MgYuG6r3QgxJHhuqd1IHRoYW5oIHRvw6FuLiBWdWkgbMOybmcgdGjhu60gbOG6oWkuJywNCiAgICAgICAgICAgICdhbHJlYWR5X3N1YnNjcmliZWQnICAgPT4gJ0LhuqFuIMSRw6MgY8OzIGfDs2kgxJHEg25nIGvDvSBQcm8gxJFhbmcgaG/huqF0IMSR4buZbmcuJywNCiAgICAgICAgICAgICdiaWxsaW5nX3N1Y2Nlc3MnICAgICAgPT4gJ0Now6BvIG3hu6tuZyDEkeG6v24gUHJvISDEkMSDbmcga8O9IGPhu6dhIGLhuqFuIMSRw6MgxJHGsOG7o2Mga8OtY2ggaG/huqF0LicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICdUaGFuaCB0b8OhbiBjaMawYSBob8OgbiB04bqldC4gVnVpIGzDsm5nIHRo4butIGzhuqFpLicsDQogICAgICAgICAgICAncGF5bWVudF9mYWlsZWRfYmFubmVyJz0+ICdUaGFuaCB0b8OhbiBn4bqnbiBuaOG6pXQgdGjhuqV0IGLhuqFpLiBWdWkgbMOybmcgY+G6rXAgbmjhuq10IHBoxrDGoW5nIHRo4bupYyB0aGFuaCB0b8Ohbi4nLA0KICAgICAgICAgICAgJ3Blcl9tb250aCcgICAgICAgICAgICA9PiAnL3Row6FuZycsDQogICAgICAgICAgICAncGVyX3llYXInICAgICAgICAgICAgID0+ICcvbsSDbScsDQogICAgICAgICAgICAnY2hlY2tvdXRfdGl0bGUnICAgICAgID0+ICdUaGFuaCB0b2FuIGFuIHRvYW4nLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAnxJDEg25nIGvDvSBnaeG7r2EgdGjDoW5nPyBLaG/huqNuIHRoYW5oIHRvw6FuIMSR4bqndSB0acOqbiBz4bq9IMSRxrDhu6NjIHTDrW5oIHRoZW8gdOG7tyBs4buHIOKAlCBi4bqhbiBjaOG7iSB0cuG6oyBjaG8gbmjhu69uZyBuZ8OgeSBjw7JuIGzhuqFpIMSR4bq/biBuZ8OgeSAxLiBTYXUgxJHDsywgZ2nDoSBow6BuZyB0aMOhbmcgxJHhuqd5IMSR4bunIHPhur0gxJHGsOG7o2Mgw6FwIGThu6VuZy4nLA0KICAgICAgICAgICAgJ3N0YXR1c19ncmFjZScgICAgICAgICA9PiAnVGjhu51pIGdpYW4gw6JuIGjhuqFuJywNCiAgICAgICAgICAgICdyZW5ld19ub3cnICAgICAgICAgICAgPT4gJ0dpYSBo4bqhbiBuZ2F5JywNCiAgICAgICAgICAgICdncmFjZV93YXJuaW5nJyAgICAgICAgPT4gJ1F1eeG7gW4gdHJ1eSBj4bqtcCBj4bunYSBi4bqhbiBz4bqvcCBo4bq/dCBo4bqhbi4gVnVpIGzDsm5nIGdpYSBo4bqhbiDEkeG7gyBnaeG7ryBjw6FjIHTDrW5oIG7Eg25nIFByby4nLA0KICAgICAgICAgICAgJ2NoYXJnZV9mYWlsdXJlc19ub3RpY2UnPT4gJ0Now7puZyB0w7RpIGfhurdwIHPhu7EgY+G7kSBraGkgeOG7rSBsw70gdGhhbmggdG/DoW4gZ+G6p24gbmjhuqV0LiBRdXnhu4FuIHRydXkgY+G6rXAgY+G7p2EgYuG6oW4gY8OzIHRo4buDIGLhu4sg4bqjbmggaMaw4bufbmcuJywNCiAgICAgICAgXSwNCiAgICAgICAgJ3poJyA9PiBbDQogICAgICAgICAgICAndGFiX2JpbGxpbmcnICAgICAgICAgID0+ICfotKbljZUnLA0KICAgICAgICAgICAgJ3BsYW5fZnJlZScgICAgICAgICAgICA9PiAn5YWN6LS5JywNCiAgICAgICAgICAgICdwbGFuX3Byb19tb250aGx5JyAgICAgPT4gJ1BybyDmnIjku5gnLA0KICAgICAgICAgICAgJ3BsYW5fcHJvX2FubnVhbCcgICAgICA9PiAnUHJvIOW5tOS7mCcsDQogICAgICAgICAgICAnY3VycmVudF9wbGFuJyAgICAgICAgID0+ICflvZPliY3orqHliJInLA0KICAgICAgICAgICAgJ2ZyZWVfZGVzYycgICAgICAgICAgICA9PiAn5oKo5q2j5Zyo5L2/55So5YWN6LS56K6h5YiS44CCJywNCiAgICAgICAgICAgICdmcmVlX3VwZ3JhZGVfY3RhJyAgICAgPT4gJ+WNh+e6p+WIsFByb++8jOaXoOmZkOS9v+eUqOaJgOacieW3peWFt+OAgicsDQogICAgICAgICAgICAndXBncmFkZV9tb250aGx5JyAgICAgID0+ICfljYfnuqcg4oCUICQ3L+aciCcsDQogICAgICAgICAgICAndXBncmFkZV9hbm51YWwnICAgICAgID0+ICfljYfnuqcg4oCUICQ2L+aciO+8iCQ3Mi/lubTvvIknLA0KICAgICAgICAgICAgJ3NhdmVfcGVyY2VudCcgICAgICAgICA9PiAn6IqC55yBMTQlJywNCiAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgICAgPT4gJ+eKtuaAgScsDQogICAgICAgICAgICAnc3RhdHVzX2FjdGl2ZScgICAgICAgID0+ICfmtLvot4MnLA0KICAgICAgICAgICAgJ3N0YXR1c19jYW5jZWxsZWQnICAgICA9PiAn5bey5Y+W5raIJywNCiAgICAgICAgICAgICdzdGF0dXNfZXhwaXJlZCcgICAgICAgPT4gJ+W3sui/h+acnycsDQogICAgICAgICAgICAnc3RhdHVzX3Bhc3RfZHVlJyAgICAgID0+ICfku5jmrL7lpLHotKUnLA0KICAgICAgICAgICAgJ25leHRfYmlsbGluZycgICAgICAgICA9PiAn5LiL5qyh6LSm5Y2VJywNCiAgICAgICAgICAgICdhY2Nlc3NfdW50aWwnICAgICAgICAgPT4gJ1Byb+iuv+mXruaIquatoicsDQogICAgICAgICAgICAncGF5bWVudF9tZXRob2QnICAgICAgID0+ICfku5jmrL7mlrnlvI8nLA0KICAgICAgICAgICAgJ2NhbmNlbF9zdWInICAgICAgICAgICA9PiAn5Y+W5raI6K6i6ZiFJywNCiAgICAgICAgICAgICdjYW5jZWxfY29uZmlybScgICAgICAgPT4gJ+ehruWumuWQl++8n1Byb+iuv+mXruWwhuaMgee7reWIsOW9k+WJjeiuoei0ueacn+e7k+adn+OAgicsDQogICAgICAgICAgICAnY2FuY2VsX2J0bicgICAgICAgICAgID0+ICfmmK/nmoTvvIzlj5bmtognLA0KICAgICAgICAgICAgJ3JlYWN0aXZhdGUnICAgICAgICAgICA9PiAn6YeN5paw5r+A5rS7JywNCiAgICAgICAgICAgICdwYXltZW50X2hpc3RvcnknICAgICAgPT4gJ+S7mOasvuWOhuWPsicsDQogICAgICAgICAgICAnbm9faW52b2ljZXMnICAgICAgICAgID0+ICfmmoLml6Dku5jmrL7orrDlvZXjgIInLA0KICAgICAgICAgICAgJ2RhdGUnICAgICAgICAgICAgICAgICA9PiAn5pel5pyfJywNCiAgICAgICAgICAgICdhbW91bnQnICAgICAgICAgICAgICAgPT4gJ+mHkeminScsDQogICAgICAgICAgICAnaW52b2ljZScgICAgICAgICAgICAgID0+ICflj5HnpagnLA0KICAgICAgICAgICAgJ2Rvd25sb2FkJyAgICAgICAgICAgICA9PiAn5LiL6L29JywNCiAgICAgICAgICAgICdzdWNjZWVkZWQnICAgICAgICAgICAgPT4gJ+W3suS7mOasvicsDQogICAgICAgICAgICAnZmFpbGVkJyAgICAgICAgICAgICAgID0+ICflpLHotKUnLA0KICAgICAgICAgICAgJ3BlbmRpbmcnICAgICAgICAgICAgICA9PiAn5b6F5aSE55CGJywNCiAgICAgICAgICAgICdwcm9yYXRlJyAgICAgICAgICAgICAgPT4gJ+aMieavlOS+iycsDQogICAgICAgICAgICAnY2hlY2tvdXRfZXJyb3InICAgICAgID0+ICfml6Dms5XlvIDlp4vku5jmrL7vvIzor7fph43or5XjgIInLA0KICAgICAgICAgICAgJ2FscmVhZHlfc3Vic2NyaWJlZCcgICA9PiAn5oKo5bey5oul5pyJ5rS76LeD55qEUHJv6K6i6ZiF44CCJywNCiAgICAgICAgICAgICdiaWxsaW5nX3N1Y2Nlc3MnICAgICAgPT4gJ+asoui/juWKoOWFpVByb++8geaCqOeahOiuoumYheW3sua/gOa0u+OAgicsDQogICAgICAgICAgICAnYmlsbGluZ19mYWlsZWQnICAgICAgID0+ICfku5jmrL7mnKrlrozmiJDvvIzor7fph43or5XjgIInLA0KICAgICAgICAgICAgJ3BheW1lbnRfZmFpbGVkX2Jhbm5lcic9PiAn5LiK5qyh5LuY5qy+5aSx6LSl77yM6K+35pu05paw5LuY5qy+5pa55byP44CCJywNCiAgICAgICAgICAgICdwZXJfbW9udGgnICAgICAgICAgICAgPT4gJy/mnIgnLA0KICAgICAgICAgICAgJ3Blcl95ZWFyJyAgICAgICAgICAgICA9PiAnL+W5tCcsDQogICAgICAgICAgICAnY2hlY2tvdXRfdGl0bGUnICAgICAgID0+ICflronlhajmlK/ku5gnLA0KICAgICAgICAgICAgJ3Byb3JhdGlvbl9ub3RpY2UnICAgICA9PiAn5pyI5Lit6K6i6ZiF77yf5oKo55qE6aaW5qyh5omj5qy+5bCG5oyJ5q+U5L6L6K6h566XIOKAlCDmgqjlj6rpnIDmlK/ku5jliLAx5Y+355qE5Ymp5L2Z5aSp5pWw44CC5LmL5ZCO5bCG5oyJ5a6M5pW05pyI6LS55pS25Y+W44CCJywNCiAgICAgICAgICAgICdzdGF0dXNfZ3JhY2UnICAgICAgICAgPT4gJ+WuvemZkOacnycsDQogICAgICAgICAgICAncmVuZXdfbm93JyAgICAgICAgICAgID0+ICfnq4vljbPnu63otLknLA0KICAgICAgICAgICAgJ2dyYWNlX3dhcm5pbmcnICAgICAgICA9PiAn5oKo55qE6K6/6Zeu5p2D6ZmQ5Y2z5bCG5Yiw5pyf44CC6K+357ut6LS55Lul5L+d55WZUHJv5Yqf6IO944CCJywNCiAgICAgICAgICAgICdjaGFyZ2VfZmFpbHVyZXNfbm90aWNlJz0+ICflpITnkIbmgqjmnIDov5HnmoTku5jmrL7ml7bpgYfliLDpl67popjjgILlpoLmnpznu6fnu63lh7rnjrDmraTmg4XlhrXvvIzmgqjnmoTorr/pl67mnYPpmZDlj6/og73kvJrlj5fliLDlvbHlk43jgIInLA0KICAgICAgICBdLA0KICAgIF07DQp9DQo=