To join WebAsOne
More
Our Logo
WebAsOne
Home
How To
Join US
Design
Design Block
Design Patterns
SVGBackground
Animation
Themes
Fonts
Marketing
Hero
About
BIO
Contact
CTA
FAQ
Footer
Portfolio
Price
Service
Team
Testimonials
Pages
Apps
Vue3
OpenSource
Mini-Apps
Lessons
Opencart-3
EasyAppointment1
Yii2
database-migrate
Yii2-Extra
RoleCommand
GoogleLogin-A
OpenSource
->
Yii2
->
database-migrate
A sample Yii2 migration script.
oneColumn/id13-33,Click to clipboard
ezI6IHsnZW4nOiB7J05vdGVzJzogJycsCiAgICAgICAgICAgICdTbGlkZVR5cGUnOiAnVGlueU1DRScsCiAgICAgICAgICAgICdhSW1hZ2UnOiAnJywKICAgICAgICAgICAgJ2FMYWJlbCc6ICdKdW1ib3Ryb24nLAogICAgICAgICAgICAnY2VudGVyQ29udGVudCc6ICcnLAogICAgICAgICAgICAnY29kZSc6ICcnLAogICAgICAgICAgICAnY29kZUluYyc6ICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHN0eWxlSW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgaGVhZCB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGVJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPCEtLSBzdHlsZUluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHN0eWxlPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPC9zdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHNjcmlwdEluYyB0YWcgd2lsbCBiZSBhZGQgdG8gdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAnYmVmb3JlIHRoZSBjbG9zaW5nIGJvZHkgdGFnc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdEluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHNjcmlwdEluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdEluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcjIEVuZFxyXG4nLAogICAgICAgICAgICAnY29sQkdJbWFnZSc6ICcnLAogICAgICAgICAgICAnY29sQkdJbWFnZVdyYXAnOiAnJywKICAgICAgICAgICAgJ2NvbXBvc2VySlNPTic6ICcnLAogICAgICAgICAgICAncGhwRmlsZSc6ICc8P3BocCAvKiAnCiAgICAgICAgICAgICAgICAgICAgICAgJ19kb2Nyb290Xy8uLi9zcmMveWlpMi9hZHZhbmNlZC9jb25zb2xlL21pZ3JhdGlvbnMvbTE4MDQwNl8yMDE0ODBfYmxvZ19pbml0LnBocCAnCiAgICAgICAgICAgICAgICAgICAgICAgJyovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnLypcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKiAgQWZ0ZXIgY29waW5nIHRoaXMgZmlsZSBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKiAuL3lpaSBtaWdyYXRlL2hpc3RvcnkgICMgdG8gdmlldyBtaWdyYXRpb24gJwogICAgICAgICAgICAgICAgICAgICAgICdoaXN0b3J5XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICogLi95aWkgbWlncmF0ZSBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKiAuL3lpaSBtaWdyYXRlL2hpc3RvcnkgICMgdG8gdmlldyB0aGUgbWlncmF0aW9uICcKICAgICAgICAgICAgICAgICAgICAgICAnaGlzdG9yeSBhZ2FpblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAqIC4veWlpIG1pZ3JhdGUvZG93biAxICMgdG8gdXBkbyB0aGUgbGFzdCAnCiAgICAgICAgICAgICAgICAgICAgICAgJ21pZ3JhdGlvblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ3VzZSB5aWlcXGRiXFxNaWdyYXRpb247XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAndXNlIHlpaVxcZGJcXFNjaGVtYTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcvKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKiBDTGFzcyBtMTQxMjA4XzIwMTQ4MF9ibG9nX2luaXRcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAqIENyZWF0ZSBibG9nIHRhYmxlcy5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAqIFdpbGwgYmUgY3JlYXRlZCA0IHRhYmxlczpcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKiAtIGB7eyVibG9nX2NhdGVnb3J5fX1gIC0gQmxvZyBjYXRlZ29yeVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAqIC0gYHt7JWJsb2dfcG9zdH19YCAtXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICogLSBge3slYmxvZ19jb21tZW50fX1gIC1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgKiAtIGB7eyVibG9nX3RhZ319YCAtXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnY2xhc3MgbTE4MDQwNl8yMDE0ODBfYmxvZ19pbml0IGV4dGVuZHMgTWlncmF0aW9uXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAne1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICogQGluaGVyaXRkb2NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIHB1YmxpYyBmdW5jdGlvbiB1cCgpXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIE15U3FsIHRhYmxlIG9wdGlvbnNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0YWJsZU9wdGlvbnMgPSAnQ0hBUkFDVEVSIFNFVCB1dGY4IENPTExBVEUgIgogICAgICAgICAgICAgICAgICAgICAgICJ1dGY4X2dlbmVyYWxfY2kgRU5HSU5FPUlubm9EQic7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyB0YWJsZSBibG9nX2NhdGVnb3J5XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAkdGhpcy0+Y3JlYXRlVGFibGUoXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgJ3t7JWJsb2dfY2F0ZWdvcnl9fScsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgW1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnaWQnID0+IFNjaGVtYTo6VFlQRV9QSyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3BhcmVudF9pZCcgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwgREVGQVVMVCAwJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3RpdGxlJyA9PiBTY2hlbWE6OlRZUEVfU1RSSU5HIC4gIgogICAgICAgICAgICAgICAgICAgICAgICInKDI1NSkgTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnc2x1ZycgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICcoMTI4KSAiCiAgICAgICAgICAgICAgICAgICAgICAgIk5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2Jhbm5lcicgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAiJygyNTUpICcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdpc19uYXYnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gJyAiCiAgICAgICAgICAgICAgICAgICAgICAgIk5PVCBOVUxMIERFRkFVTFQgMScsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdzb3J0X29yZGVyJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICIKICAgICAgICAgICAgICAgICAgICAgICAiJyBOT1QgTlVMTCBERUZBVUxUIDUwJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3BhZ2Vfc2l6ZScgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwgREVGQVVMVCAxMCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICd0ZW1wbGF0ZScgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAnXCcoMjU1KSBOT1QgTlVMTCBERUZBVUxUICJwb3N0IlwnLFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAncmVkaXJlY3RfdXJsJyA9PiBTY2hlbWE6OlRZUEVfU1RSSU5HICIKICAgICAgICAgICAgICAgICAgICAgICAiLiAnKDI1NSkgREVGQVVMVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3N0YXR1cycgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAnICIKICAgICAgICAgICAgICAgICAgICAgICAiTk9UIE5VTEwgREVGQVVMVCAxJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2NyZWF0ZWRfYXQnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gIgogICAgICAgICAgICAgICAgICAgICAgICInIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3VwZGF0ZWRfYXQnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gIgogICAgICAgICAgICAgICAgICAgICAgICInIE5PVCBOVUxMJ1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIF0sXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgJHRhYmxlT3B0aW9uc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIEluZGV4ZXNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnaXNfbmF2JywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jYXRlZ29yeX19JywgJ2lzX25hdicpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdzb3J0X29yZGVyJywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jYXRlZ29yeX19JywgJ3NvcnRfb3JkZXInKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnc3RhdHVzJywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jYXRlZ29yeX19JywgJ3N0YXR1cycpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdjcmVhdGVkX2F0JywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jYXRlZ29yeX19JywgJ2NyZWF0ZWRfYXQnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIHRhYmxlIGJsb2dfcG9zdFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHRoaXMtPmNyZWF0ZVRhYmxlKFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICd7eyVibG9nX3Bvc3R9fScsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgW1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnaWQnID0+IFNjaGVtYTo6VFlQRV9QSyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2NhdGVnb3J5X2lkJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAiCiAgICAgICAgICAgICAgICAgICAgICAgIi4gJyBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICd0aXRsZScgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAiJygyNTUpIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2JyaWVmJyA9PiBTY2hlbWE6OlRZUEVfVEVYVCxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2NvbnRlbnQnID0+IFNjaGVtYTo6VFlQRV9URVhUIC4gJyBOT1QgIgogICAgICAgICAgICAgICAgICAgICAgICJOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3RhZ3MnID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAnKDI1NSkgIgogICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdzbHVnJyA9PiBTY2hlbWE6OlRZUEVfU1RSSU5HIC4gJygxMjgpICIKICAgICAgICAgICAgICAgICAgICAgICAiTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnYmFubmVyJyA9PiBTY2hlbWE6OlRZUEVfU1RSSU5HIC4gIgogICAgICAgICAgICAgICAgICAgICAgICInKDI1NSkgJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2NsaWNrJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgIgogICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCBERUZBVUxUIDAnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAndXNlcl9pZCcgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgIgogICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCBERUZBVUxUIDEnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnY3JlYXRlZF9hdCcgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAndXBkYXRlZF9hdCcgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwnXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgXSxcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAkdGFibGVPcHRpb25zXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSW5kZXhlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdjYXRlZ29yeV9pZCcsICIKICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfcG9zdH19JywgJ2NhdGVnb3J5X2lkJyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+Y3JlYXRlSW5kZXgoJ3N0YXR1cycsICd7eyVibG9nX3Bvc3R9fScsICIKICAgICAgICAgICAgICAgICAgICAgICAiJ3N0YXR1cycpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdjcmVhdGVkX2F0JywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19wb3N0fX0nLCAnY3JlYXRlZF9hdCcpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gRm9yZWlnbiBLZXlzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+YWRkRm9yZWlnbktleSgne3slRktfcG9zdF9jYXRlZ29yeX19JywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19wb3N0fX0nLCAnY2F0ZWdvcnlfaWQnLCAne3slYmxvZ19jYXRlZ29yeX19JywgIgogICAgICAgICAgICAgICAgICAgICAgICInaWQnLCAnQ0FTQ0FERScsICdDQVNDQURFJyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvL2lmICgkdGhpcy0+Z2V0TW9kdWxlKCktPnVzZXJNb2RlbCkge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gICAgJHVzZXJDbGFzcyA9ICcKICAgICAgICAgICAgICAgICAgICAgICAnJHRoaXMtPmdldE1vZHVsZSgpLT51c2VyTW9kZWw7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyAgICAnCiAgICAgICAgICAgICAgICAgICAgICAgIiR0aGlzLT5hZGRGb3JlaWduS2V5KCd7eyVGS19wb3N0X3VzZXJ9fScsICIKICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfcG9zdH19JywgJ3VzZXJfaWQnLCAkdXNlckNsYXNzOjp0YWJsZU5hbWUoKSwgIgogICAgICAgICAgICAgICAgICAgICAgICIkdGhpcy0+Z2V0TW9kdWxlKCktPnVzZXJQSywgJ0NBU0NBREUnLCAnQ0FTQ0FERScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy99XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyB0YWJsZSBibG9nX2NvbW1lbnRcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICR0aGlzLT5jcmVhdGVUYWJsZShcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAne3slYmxvZ19jb21tZW50fX0nLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIFtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2lkJyA9PiBTY2hlbWE6OlRZUEVfUEssXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdwb3N0X2lkJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgIgogICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdjb250ZW50JyA9PiBTY2hlbWE6OlRZUEVfVEVYVCAuICcgTk9UICIKICAgICAgICAgICAgICAgICAgICAgICAiTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdhdXRob3InID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicoMTI4KSBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdlbWFpbCcgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAiJygxMjgpIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3VybCcgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICcoMTI4KSAiCiAgICAgICAgICAgICAgICAgICAgICAgIk5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgIgogICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCBERUZBVUxUIDEnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnY3JlYXRlZF9hdCcgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAndXBkYXRlZF9hdCcgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwnXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgXSxcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAkdGFibGVPcHRpb25zXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSW5kZXhlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdwb3N0X2lkJywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jb21tZW50fX0nLCAncG9zdF9pZCcpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdzdGF0dXMnLCAiCiAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX2NvbW1lbnR9fScsICdzdGF0dXMnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnY3JlYXRlZF9hdCcsICIKICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfY29tbWVudH19JywgJ2NyZWF0ZWRfYXQnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIEZvcmVpZ24gS2V5c1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmFkZEZvcmVpZ25LZXkoJ3t7JUZLX2NvbW1lbnRfcG9zdH19JywgIgogICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jb21tZW50fX0nLCAncG9zdF9pZCcsICd7eyVibG9nX3Bvc3R9fScsICIKICAgICAgICAgICAgICAgICAgICAgICAiJ2lkJywgJ0NBU0NBREUnLCAnQ0FTQ0FERScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gdGFibGUgYmxvZ190YWdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICR0aGlzLT5jcmVhdGVUYWJsZShcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAne3slYmxvZ190YWd9fScsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgW1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnaWQnID0+IFNjaGVtYTo6VFlQRV9QSyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ25hbWUnID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAnKDEyOCkgIgogICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdmcmVxdWVuY3knID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gIgogICAgICAgICAgICAgICAgICAgICAgICInIE5PVCBOVUxMIERFRkFVTFQgMScsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgXSxcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAkdGFibGVPcHRpb25zXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSW5kZXhlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdmcmVxdWVuY3knLCAiCiAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX3RhZ319JywgJ2ZyZXF1ZW5jeScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gQWRkIHN1cGVyLWFkbWluaXN0cmF0b3JcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vJHRoaXMtPmV4ZWN1dGUoJHRoaXMtPmdldFVzZXJTcWwoKSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyR0aGlzLT5leGVjdXRlKCR0aGlzLT5nZXRQcm9maWxlU3FsKCkpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8qKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgKiBAcmV0dXJuIHN0cmluZyBTUUwgdG8gaW5zZXJ0IGZpcnN0IHVzZXJcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0VXNlclNxbCgpXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICR0aW1lID0gdGltZSgpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHBhc3N3b3JkX2hhc2ggPSAnCiAgICAgICAgICAgICAgICAgICAgICAgIllpaTo6JGFwcC0+c2VjdXJpdHktPmdlbmVyYXRlUGFzc3dvcmRIYXNoKCdhZG1pbjEyMzQ1Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAkYXV0aF9rZXkgPSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ1lpaTo6JGFwcC0+c2VjdXJpdHktPmdlbmVyYXRlUmFuZG9tU3RyaW5nKCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAkdG9rZW4gPSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ1NlY3VyaXR5OjpnZW5lcmF0ZUV4cGlyaW5nUmFuZG9tU3RyaW5nKCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICByZXR1cm4gIklOU0VSVCBJTlRPIHt7JXVzZXJzfX0gKGB1c2VybmFtZWAsICcKICAgICAgICAgICAgICAgICAgICAgICAnYGVtYWlsYCwgYHBhc3N3b3JkX2hhc2hgLCBgYXV0aF9rZXlgLCBgdG9rZW5gLCBgcm9sZWAsICcKICAgICAgICAgICAgICAgICAgICAgICAnYHN0YXR1c19pZGAsIGBjcmVhdGVkX2F0YCwgYHVwZGF0ZWRfYXRgKSBWQUxVRVMgJwogICAgICAgICAgICAgICAgICAgICAgICIoJ2FkbWluJywgJ2FkbWluQGRlbW8uY29tJywgJyRwYXNzd29yZF9oYXNoJywgIgogICAgICAgICAgICAgICAgICAgICAgICInJGF1dGhfa2V5JywgJyR0b2tlbicsICdzdXBlcmFkbWluJywgMSwgJHRpbWUsICIKICAgICAgICAgICAgICAgICAgICAgICAnJHRpbWUpIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICogQHJldHVybiBzdHJpbmcgU1FMIHRvIGluc2VydCBmaXJzdCBwcm9maWxlXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFByb2ZpbGVTcWwoKVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICByZXR1cm4gIklOU0VSVCBJTlRPIHt7JXByb2ZpbGVzfX0gKGB1c2VyX2lkYCwgJwogICAgICAgICAgICAgICAgICAgICAgICJgbmFtZWAsIGBzbHVnYCkgVkFMVUVTICgxLCAnQWRtaW5pc3RyYXRpb24nLCAiCiAgICAgICAgICAgICAgICAgICAgICAgJ1wnU2l0ZVwnKSI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLyoqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAqIEBpbmhlcml0ZG9jXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICBwdWJsaWMgZnVuY3Rpb24gZG93bigpXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5kcm9wVGFibGUoJ3t7JWJsb2dfdGFnfX0nKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5kcm9wVGFibGUoJ3t7JWJsb2dfY29tbWVudH19Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+ZHJvcFRhYmxlKCd7eyVibG9nX3Bvc3R9fScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmRyb3BUYWJsZSgne3slYmxvZ19jYXRlZ29yeX19Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICd9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPz4nLAogICAgICAgICAgICAncGhwRmlsZUEnOiAnJywKICAgICAgICAgICAgJ3BocEZpbGVCJzogJycsCiAgICAgICAgICAgICd0Y29kZSc6ICc8aDMgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPkEgc2FtcGxlIFlpaTIgbWlncmF0aW9uICcKICAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdC48L2gzPid9LAogICAgICdlbi1VUyc6IHsnTXlNb2R1bGUnOiAnb25lQ29sdW1uJywKICAgICAgICAgICAgICAgJ05vdGVzJzogJycsCiAgICAgICAgICAgICAgICdTbGlkZVR5cGUnOiAnVGlueU1DRScsCiAgICAgICAgICAgICAgICdhSW1hZ2UnOiAnJywKICAgICAgICAgICAgICAgJ2FMYWJlbCc6ICdKdW1ib3Ryb24nLAogICAgICAgICAgICAgICAnY2VudGVyQ29udGVudCc6ICcnLAogICAgICAgICAgICAgICAnY29kZSc6ICcnLAogICAgICAgICAgICAgICAnY29kZUluYyc6ICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHN0eWxlSW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgaGVhZCB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGVJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPCEtLSBzdHlsZUluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN0eWxlPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMgY29udGVudCBiZXR3ZWVuIHNjcmlwdEluYyB0YWcgd2lsbCBiZSBhZGQgdG8gdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnYmVmb3JlIHRoZSBjbG9zaW5nIGJvZHkgdGFnc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdEluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHNjcmlwdEluYyBJbmNsdWRlZCBmcm9tIF9JRF8gLS0+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdEluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcjIEVuZFxyXG4nLAogICAgICAgICAgICAgICAnY29sQkdJbWFnZSc6ICcnLAogICAgICAgICAgICAgICAnY29sQkdJbWFnZVdyYXAnOiAnJywKICAgICAgICAgICAgICAgJ2NvbXBvc2VySlNPTic6ICcnLAogICAgICAgICAgICAgICAnbW9kVmFyJzogeydWYXJMaXN0JzogeydBY2NvcmRpb25DYXJkQm9keUNsYXNzJzogJ2JnLXdoaXRlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0LXByaW1hcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2NvcmRpb25DYXJkQ2xhc3MnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjb3JkaW9uQ2FyZEhlYWRlckNsYXNzJzogJ2JnLXByaW1hcnkgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGV4dC1saWdodCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY29yZGlvbk9wZW5GaXJzdCc6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvcHlUb015UGFnZU9ubHknOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXZJbmxpbmVDU1MnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHluYW1pY0Jsb2NrJzogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kTXNnQ2xhc3MnOiAnY29sLTEyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktQ1NTVmFyJzogJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBjb21tZW50IGZyb20gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb25lQ29sdW1uXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCaWdTY2VlblRvcFBhZGRpbmc9NTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pZFNjcmVlblRvcFBhZGRpbmc9MjBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NtYWxsU2NyZWVuVG9wUGFkZGluZz0xMFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlnU2NlZW5Cb3R0b21QYWRkaW5nPTUwXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaWRTY3JlZW5Cb3R0b21QYWRkaW5nPTIwXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbWFsbFNjcmVlbkJvdHRvbVBhZGRpbmc9MTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlnU2NlZW5MZWZ0UmlnaHRQYWRkaW5nPTIwXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaWRTY3JlZW5MZWZ0UmlnaHRQYWRkaW5nPTE1XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbWFsbFNjcmVlbkxlZnRSaWdodFBhZGRpbmc9MTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlnU2NlZW5Ub3BNYXJnaW49MFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWlkU2NyZWVuVG9wTWFyZ2luPTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NtYWxsU2NyZWVuVG9wTWFyZ2luPTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JpZ1NjZWVuQm90dG9tTWFyZ2luPTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pZFNjcmVlbkJvdHRvbU1hcmdpbj0wXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbWFsbFNjcmVlbkJvdHRvbU1hcmdpbj0wXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBpZCBmb250IGNvbG9yXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb250Q29sb3I9X0NvbG9yQV9cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBtb2R1bGUgYmFja2dyb3VuZFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTUJhY2tncm91bmQ9XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1Db3ZlckJhY2tncm91bmQnOiAnIDxzdHlsZT4gI19JRF8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneyBiYWNrZ3JvdW5kOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfVGludEJHXyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1cmwoX0NJTUFHRV8pICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vLXJlcGVhdCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjZW50ZXIgY2VudGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpeGVkOyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY292ZXI7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1tb3otYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLW8tYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgfSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPiAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1Db3ZlckJhY2tncm91bmRTVkcnOiAnIDxzdHlsZT4gLyogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2Nyb2xsIHdpbGwgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RheSB3aXRoICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRlbnQgICovICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNfSURfIHsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX1RpbnRCR18gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXJsKF9DSU1BR0VfKSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduby1yZXBlYXQgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2VudGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NlbnRlcjsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcxMDAlIDEwMCU7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ30gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zdHlsZT5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ011bHRpLUVuZFRhZ0NvZGUnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktR1Bvc3RJbmMnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktSGVscCc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1KU09OLUEnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktSlNPTi1CJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ011bHRpLUpTT04tQyc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1KU09OLUQnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktUG9zdEluYyc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1QcmVJbmMnOiAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGU+XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjX0lEXyAgeyBfRm9udENvbG9yXyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfTUJhY2tncm91bmRfIH1cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNfSURfIHtwb3NpdGlvbjogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVsYXRpdmU7fVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuX0lEWF8geyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWRkaW5nLWJvdHRvbTogMTVweDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNfSURfIC5oY29udGVudCB7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgdG9wOiA1MCU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIGxlZnQ6IDUwJTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgdHJhbnNmb3JtOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd9XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjX0lEXyAuY3Rjb250ZW50IHtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgcG9zaXRpb246IGFic29sdXRlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICB0b3A6IDUwJTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgbGVmdDogNTAlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICB0cmFuc2Zvcm06ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgYmFja2dyb3VuZC1jb2xvcjogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgwLCAwLCAwLCAuMjUpO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgY29sb3I6IHdoaXRlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBwYWRkaW5nOiAyMHB4O1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjX0lEXyAudmNvbnRhaW5lciB7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIGhlaWdodDogNTB2aDtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgcG9zaXRpb246IHJlbGF0aXZlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBvdmVyZmxvdzogaGlkZGVuO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQG1lZGlhKG1pbi13aWR0aDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnNjAwcHgpIHtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICNfSURfIC52Y29udGFpbmVyIHsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0OiAxMDB2aDsgfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvKiAjX0lEXyAucm93ID4gZGl2eyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWRkaW5nOiAxMHB4OyB9ICovXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvKiBTbWFsbCBEZXZpY2VzLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUYWJsZXRzIGZyb20gb25lQ29sdW1uICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyovXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAbWVkaWEgb25seSBzY3JlZW4gYW5kICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhtYXgtd2lkdGggOiA1NzZweCkgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneyNfSURfIC5yb3cgeyBwYWRkaW5nOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TbWFsbFNjcmVlbkxlZnRSaWdodFBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ30gI19JRF8geyBwYWRkaW5nLXRvcDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX1NtYWxsU2NyZWVuVG9wUGFkZGluZ19weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFkZGluZy1ib3R0b206ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TbWFsbFNjcmVlbkJvdHRvbVBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi10b3A6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TbWFsbFNjcmVlblRvcE1hcmdpbl9weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX1NtYWxsU2NyZWVuQm90dG9tTWFyZ2luX3B4O30gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLyogTWVkaXVtIERldmljZXMsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Rlc2t0b3BzICovIEBtZWRpYSBvbmx5ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzc2OHB4KSB7I19JRF8gLnJvdyB7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhZGRpbmc6MCAgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX01pZFNjcmVlbkxlZnRSaWdodFBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ30gI19JRF8geyBwYWRkaW5nLXRvcDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX01pZFNjcmVlblRvcFBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhZGRpbmctYm90dG9tOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfTWlkU2NyZWVuQm90dG9tUGFkZGluZ19weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLXRvcDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX01pZFNjcmVlblRvcE1hcmdpbl9weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX01pZFNjcmVlbkJvdHRvbU1hcmdpbl9weDt9fVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLyogTGFyZ2UgRGV2aWNlcywgV2lkZSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTY3JlZW5zICovIEBtZWRpYSBvbmx5ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzk5MnB4KSB7I19JRF8gLnJvdyB7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhZGRpbmc6IDAgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX0JpZ1NjZWVuTGVmdFJpZ2h0UGFkZGluZ19weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfSAjX0lEXyB7IHBhZGRpbmctdG9wOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfQmlnU2NlZW5Ub3BQYWRkaW5nX3B4OyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWRkaW5nLWJvdHRvbTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX0JpZ1NjZWVuQm90dG9tUGFkZGluZ19weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLXRvcDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX0JpZ1NjZWVuVG9wTWFyZ2luX3B4OyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfQmlnU2NlZW5Cb3R0b21NYXJnaW5fcHg7fX1cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1QcmVUYWdDb2RlJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ011bHRpLVZpZGVvQmFja2dyb3VuZCc6ICdcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzdHlsZT5cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy5oZWFkZXItdW5pdF9JRF8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmlnaHQ6bm9uZTsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWxlZnQ6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vbmU7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWxhdGl2ZTsgfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnI3ZpZGVvLWNvbnRhaW5lcl9JRF8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAne1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBwb3NpdGlvbjogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWJzb2x1dGU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIGhlaWdodDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMTAwJTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgd2lkdGg6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzEwMCU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHRvcDogMDtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgbGVmdDogMDtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ30gXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjdmlkZW8tY29udGFpbmVyX0lEXyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aWRlb3tcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgb2JqZWN0LWZpdDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY292ZXI7IFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfSBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdPdXRwdXRSZWNvcmRzJzogMTAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2tpcE5vR3V0dGVyJzogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3RhcnRNc2dDbGFzcyc6ICdjb2wtMTInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW50aW5nQkcnOiAnbGluZWFyLWdyYWRpZW50KCByZ2JhKDAsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAsIDAsIDApLCByZ2JhKDAsIDAsIDAsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzApKSwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb3BEaXZJbmxpbmVDb2RlJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1R3b0NvbEV2ZW5Sb3dTd2FwJzogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVXNlU2hhcmUnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0cmFDbGFzcyc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRyYVJvd0NsYXNzJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6IDYwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9yZUV4dHJhQ2xhc3MnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmF2TGluayc6ICd0ZXh0LWxpZ2h0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmF2VGFiJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hdlRhYkl0ZW0nOiAnYmctcHJpbWFyeSBtdC0xIG1lLTEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0YWJDb250ZW50JzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhYkN1c3RvbVN0eWxlJzogJzxzdHlsZT4gLm5hdi10YWJzICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLm5hdi1saW5rLmFjdGl2ZSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tiYWNrZ3JvdW5kOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19Db2xvckNfICAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyFpbXBvcnRhbnQ7fSA8L3N0eWxlPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RhYlBhbmUnOiAnYm9yZGVyIGJvcmRlci1wcmltYXJ5ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItb3BhY2l0eS0yNSBwLTInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6IDEyMDB9fSwKICAgICAgICAgICAgICAgJ3BocEZpbGUnOiAnPD9waHAgLyogJwogICAgICAgICAgICAgICAgICAgICAgICAgICdfZG9jcm9vdF8vLi4vc3JjL3lpaTIvYWR2YW5jZWQvY29uc29sZS9taWdyYXRpb25zL20xODA0MDZfMjAxNDgwX2Jsb2dfaW5pdC5waHAgJwogICAgICAgICAgICAgICAgICAgICAgICAgICcqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJy8qXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICogIEFmdGVyIGNvcGluZyB0aGlzIGZpbGUgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICogLi95aWkgbWlncmF0ZS9oaXN0b3J5ICAjIHRvIHZpZXcgbWlncmF0aW9uICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnaGlzdG9yeVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAqIC4veWlpIG1pZ3JhdGUgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICogLi95aWkgbWlncmF0ZS9oaXN0b3J5ICAjIHRvIHZpZXcgdGhlIG1pZ3JhdGlvbiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hpc3RvcnkgYWdhaW5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgKiAuL3lpaSBtaWdyYXRlL2Rvd24gMSAjIHRvIHVwZG8gdGhlIGxhc3QgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdtaWdyYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICd1c2UgeWlpXFxkYlxcTWlncmF0aW9uO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZSB5aWlcXGRiXFxTY2hlbWE7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnLyoqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICogQ0xhc3MgbTE0MTIwOF8yMDE0ODBfYmxvZ19pbml0XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICpcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgKiBDcmVhdGUgYmxvZyB0YWJsZXMuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICpcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgKiBXaWxsIGJlIGNyZWF0ZWQgNCB0YWJsZXM6XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICogLSBge3slYmxvZ19jYXRlZ29yeX19YCAtIEJsb2cgY2F0ZWdvcnlcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgKiAtIGB7eyVibG9nX3Bvc3R9fWAgLVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAqIC0gYHt7JWJsb2dfY29tbWVudH19YCAtXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICogLSBge3slYmxvZ190YWd9fWAgLVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NsYXNzIG0xODA0MDZfMjAxNDgwX2Jsb2dfaW5pdCBleHRlbmRzIE1pZ3JhdGlvblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLyoqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAqIEBpbmhlcml0ZG9jXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBwdWJsaWMgZnVuY3Rpb24gdXAoKVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBNeVNxbCB0YWJsZSBvcHRpb25zXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGFibGVPcHRpb25zID0gJ0NIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFICIKICAgICAgICAgICAgICAgICAgICAgICAgICAidXRmOF9nZW5lcmFsX2NpIEVOR0lORT1Jbm5vREInO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gdGFibGUgYmxvZ19jYXRlZ29yeVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHRoaXMtPmNyZWF0ZVRhYmxlKFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICd7eyVibG9nX2NhdGVnb3J5fX0nLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIFtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2lkJyA9PiBTY2hlbWE6OlRZUEVfUEssXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdwYXJlbnRfaWQnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiLiAnIE5PVCBOVUxMIERFRkFVTFQgMCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICd0aXRsZScgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJygyNTUpIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3NsdWcnID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicoMTI4KSBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdiYW5uZXInID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicoMjU1KSAnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnaXNfbmF2JyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJyBOT1QgTlVMTCBERUZBVUxUIDEnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnc29ydF9vcmRlcicgPT4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgTk9UIE5VTEwgREVGQVVMVCA1MCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdwYWdlX3NpemUnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiLiAnIE5PVCBOVUxMIERFRkFVTFQgMTAnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAndGVtcGxhdGUnID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnKDI1NSkgTk9UIE5VTEwgREVGQVVMVCAicG9zdCJcJyxcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3JlZGlyZWN0X3VybCcgPT4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWE6OlRZUEVfU1RSSU5HIC4gJygyNTUpIERFRkFVTFQgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdzdGF0dXMnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICInIE5PVCBOVUxMIERFRkFVTFQgMScsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdjcmVhdGVkX2F0JyA9PiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gJyBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICd1cGRhdGVkX2F0JyA9PiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gJyBOT1QgTlVMTCdcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICBdLFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICR0YWJsZU9wdGlvbnNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBJbmRleGVzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+Y3JlYXRlSW5kZXgoJ2lzX25hdicsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfY2F0ZWdvcnl9fScsICdpc19uYXYnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnc29ydF9vcmRlcicsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfY2F0ZWdvcnl9fScsICdzb3J0X29yZGVyJyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+Y3JlYXRlSW5kZXgoJ3N0YXR1cycsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfY2F0ZWdvcnl9fScsICdzdGF0dXMnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnY3JlYXRlZF9hdCcsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfY2F0ZWdvcnl9fScsICdjcmVhdGVkX2F0Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyB0YWJsZSBibG9nX3Bvc3RcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICR0aGlzLT5jcmVhdGVUYWJsZShcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAne3slYmxvZ19wb3N0fX0nLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIFtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2lkJyA9PiBTY2hlbWE6OlRZUEVfUEssXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdjYXRlZ29yeV9pZCcgPT4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAndGl0bGUnID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicoMjU1KSBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdicmllZicgPT4gU2NoZW1hOjpUWVBFX1RFWFQsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdjb250ZW50JyA9PiBTY2hlbWE6OlRZUEVfVEVYVCAuICcgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICd0YWdzJyA9PiBTY2hlbWE6OlRZUEVfU1RSSU5HIC4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICInKDI1NSkgTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnc2x1ZycgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJygxMjgpIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2Jhbm5lcicgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJygyNTUpICcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdjbGljaycgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAnICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiTk9UIE5VTEwgREVGQVVMVCAwJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3VzZXJfaWQnID0+IFNjaGVtYTo6VFlQRV9JTlRFR0VSIC4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICInJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3N0YXR1cycgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicgTk9UIE5VTEwgREVGQVVMVCAxJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2NyZWF0ZWRfYXQnID0+ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAnIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3VwZGF0ZWRfYXQnID0+ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiU2NoZW1hOjpUWVBFX0lOVEVHRVIgLiAnIE5PVCBOVUxMJ1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIF0sXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgJHRhYmxlT3B0aW9uc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIEluZGV4ZXNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnY2F0ZWdvcnlfaWQnLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX3Bvc3R9fScsICdjYXRlZ29yeV9pZCcpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdzdGF0dXMnLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX3Bvc3R9fScsICdzdGF0dXMnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnY3JlYXRlZF9hdCcsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfcG9zdH19JywgJ2NyZWF0ZWRfYXQnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIEZvcmVpZ24gS2V5c1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJwogICAgICAgICAgICAgICAgICAgICAgICAgICIkdGhpcy0+YWRkRm9yZWlnbktleSgne3slRktfcG9zdF9jYXRlZ29yeX19JywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19wb3N0fX0nLCAnY2F0ZWdvcnlfaWQnLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX2NhdGVnb3J5fX0nLCAnaWQnLCAnQ0FTQ0FERScsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ0NBU0NBREUnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vaWYgKCR0aGlzLT5nZXRNb2R1bGUoKS0+dXNlck1vZGVsKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyAgICAkdXNlckNsYXNzID0gJwogICAgICAgICAgICAgICAgICAgICAgICAgICckdGhpcy0+Z2V0TW9kdWxlKCktPnVzZXJNb2RlbDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vICAgICcKICAgICAgICAgICAgICAgICAgICAgICAgICAiJHRoaXMtPmFkZEZvcmVpZ25LZXkoJ3t7JUZLX3Bvc3RfdXNlcn19JywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19wb3N0fX0nLCAndXNlcl9pZCcsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAnJHVzZXJDbGFzczo6dGFibGVOYW1lKCksICcKICAgICAgICAgICAgICAgICAgICAgICAgICAiJHRoaXMtPmdldE1vZHVsZSgpLT51c2VyUEssICdDQVNDQURFJywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICInQ0FTQ0FERScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy99XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyB0YWJsZSBibG9nX2NvbW1lbnRcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICR0aGlzLT5jcmVhdGVUYWJsZShcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAne3slYmxvZ19jb21tZW50fX0nLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgIFtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2lkJyA9PiBTY2hlbWE6OlRZUEVfUEssXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdwb3N0X2lkJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJyBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdjb250ZW50JyA9PiBTY2hlbWE6OlRZUEVfVEVYVCAuICcgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdhdXRob3InID0+IFNjaGVtYTo6VFlQRV9TVFJJTkcgLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicoMTI4KSBOT1QgTlVMTCcsXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdlbWFpbCcgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJygxMjgpIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ3VybCcgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJygxMjgpIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnc3RhdHVzJyA9PiBTY2hlbWE6OlRZUEVfSU5URUdFUiAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJyBOT1QgTlVMTCBERUZBVUxUIDEnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnY3JlYXRlZF9hdCcgPT4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgTk9UIE5VTEwnLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAndXBkYXRlZF9hdCcgPT4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWE6OlRZUEVfSU5URUdFUiAuICcgTk9UIE5VTEwnXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgXSxcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAkdGFibGVPcHRpb25zXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSW5kZXhlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdwb3N0X2lkJywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICIne3slYmxvZ19jb21tZW50fX0nLCAncG9zdF9pZCcpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmNyZWF0ZUluZGV4KCdzdGF0dXMnLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX2NvbW1lbnR9fScsICdzdGF0dXMnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5jcmVhdGVJbmRleCgnY3JlYXRlZF9hdCcsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfY29tbWVudH19JywgJ2NyZWF0ZWRfYXQnKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIEZvcmVpZ24gS2V5c1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJwogICAgICAgICAgICAgICAgICAgICAgICAgICIkdGhpcy0+YWRkRm9yZWlnbktleSgne3slRktfY29tbWVudF9wb3N0fX0nLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIid7eyVibG9nX2NvbW1lbnR9fScsICdwb3N0X2lkJywgJ3t7JWJsb2dfcG9zdH19JywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICInaWQnLCAnQ0FTQ0FERScsICdDQVNDQURFJyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyB0YWJsZSBibG9nX3RhZ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHRoaXMtPmNyZWF0ZVRhYmxlKFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICd7eyVibG9nX3RhZ319JyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICBbXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICAgICAgICdpZCcgPT4gU2NoZW1hOjpUWVBFX1BLLFxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAnbmFtZScgPT4gU2NoZW1hOjpUWVBFX1NUUklORyAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJygxMjgpIE5PVCBOVUxMJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgICAgICAgJ2ZyZXF1ZW5jeScgPT4gU2NoZW1hOjpUWVBFX0lOVEVHRVIgIgogICAgICAgICAgICAgICAgICAgICAgICAgICIuICcgTk9UIE5VTEwgREVGQVVMVCAxJyxcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICBdLFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICR0YWJsZU9wdGlvbnNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBJbmRleGVzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+Y3JlYXRlSW5kZXgoJ2ZyZXF1ZW5jeScsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3t7JWJsb2dfdGFnfX0nLCAnZnJlcXVlbmN5Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBBZGQgc3VwZXItYWRtaW5pc3RyYXRvclxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8kdGhpcy0+ZXhlY3V0ZSgkdGhpcy0+Z2V0VXNlclNxbCgpKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnLy8kdGhpcy0+ZXhlY3V0ZSgkdGhpcy0+Z2V0UHJvZmlsZVNxbCgpKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICogQHJldHVybiBzdHJpbmcgU1FMIHRvIGluc2VydCBmaXJzdCB1c2VyXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBwcml2YXRlIGZ1bmN0aW9uIGdldFVzZXJTcWwoKVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAkdGltZSA9IHRpbWUoKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICRwYXNzd29yZF9oYXNoID0gJwogICAgICAgICAgICAgICAgICAgICAgICAgICJZaWk6OiRhcHAtPnNlY3VyaXR5LT5nZW5lcmF0ZVBhc3N3b3JkSGFzaCgnYWRtaW4xMjM0NScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJGF1dGhfa2V5ID0gJwogICAgICAgICAgICAgICAgICAgICAgICAgICdZaWk6OiRhcHAtPnNlY3VyaXR5LT5nZW5lcmF0ZVJhbmRvbVN0cmluZygpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHRva2VuID0gJwogICAgICAgICAgICAgICAgICAgICAgICAgICdTZWN1cml0eTo6Z2VuZXJhdGVFeHBpcmluZ1JhbmRvbVN0cmluZygpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgcmV0dXJuICJJTlNFUlQgSU5UTyB7eyV1c2Vyc319IChgdXNlcm5hbWVgLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2BlbWFpbGAsIGBwYXNzd29yZF9oYXNoYCwgYGF1dGhfa2V5YCwgYHRva2VuYCwgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdgcm9sZWAsIGBzdGF0dXNfaWRgLCBgY3JlYXRlZF9hdGAsIGB1cGRhdGVkX2F0YCkgJwogICAgICAgICAgICAgICAgICAgICAgICAgICJWQUxVRVMgKCdhZG1pbicsICdhZG1pbkBkZW1vLmNvbScsICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJyRwYXNzd29yZF9oYXNoJywgJyRhdXRoX2tleScsICckdG9rZW4nLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnc3VwZXJhZG1pblwnLCAxLCAkdGltZSwgJHRpbWUpIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICogQHJldHVybiBzdHJpbmcgU1FMIHRvIGluc2VydCBmaXJzdCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb2ZpbGVcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIHByaXZhdGUgZnVuY3Rpb24gZ2V0UHJvZmlsZVNxbCgpXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIHJldHVybiAiSU5TRVJUIElOVE8ge3slcHJvZmlsZXN9fSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyhgdXNlcl9pZGAsIGBuYW1lYCwgYHNsdWdgKSBWQUxVRVMgKDEsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnXCdBZG1pbmlzdHJhdGlvblwnLCBcJ1NpdGVcJykiO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8qKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgKiBAaW5oZXJpdGRvY1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgKi9cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgcHVibGljIGZ1bmN0aW9uIGRvd24oKVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+ZHJvcFRhYmxlKCd7eyVibG9nX3RhZ319Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAkdGhpcy0+ZHJvcFRhYmxlKCd7eyVibG9nX2NvbW1lbnR9fScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgJHRoaXMtPmRyb3BUYWJsZSgne3slYmxvZ19wb3N0fX0nKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICR0aGlzLT5kcm9wVGFibGUoJ3t7JWJsb2dfY2F0ZWdvcnl9fScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJz8+JywKICAgICAgICAgICAgICAgJ3BocEZpbGVBJzogJycsCiAgICAgICAgICAgICAgICdwaHBGaWxlQic6ICcnLAogICAgICAgICAgICAgICAndGNvZGUnOiAnPGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5BIHNhbXBsZSBZaWkyICcKICAgICAgICAgICAgICAgICAgICAgICAgJ21pZ3JhdGlvbiBzY3JpcHQuPC9oMz4nfX19Cg==
Copyright © 2026 by WebAsOne LLC, All Rights Reserved