ZG5sCmRubCAkWEZyZWU4NjogeGMvbGliL2ZvbnRjb25maWcvY29uZmlndXJlLmluLHYgMS42IDIwMDIvMDYvMDcgMTc6NTU6NDEga2VpdGhwIEV4cCAkCmRubApkbmwgQ29weXJpZ2h0IKkgMjAwMiBLZWl0aCBQYWNrYXJkLCBtZW1iZXIgb2YgVGhlIFhGcmVlODYgUHJvamVjdCwgSW5jLgpkbmwKZG5sIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cwpkbmwgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKZG5sIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0IGJvdGggdGhhdApkbmwgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZwpkbmwgZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWUgb2YgS2VpdGggUGFja2FyZCBub3QgYmUgdXNlZCBpbgpkbmwgYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0CmRubCBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgS2VpdGggUGFja2FyZCBtYWtlcyBubwpkbmwgcmVwcmVzZW50YXRpb25zIGFib3V0IHRoZSBzdWl0YWJpbGl0eSBvZiB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0CmRubCBpcyBwcm92aWRlZCAiYXMgaXMiIHdpdGhvdXQgZXhwcmVzcyBvciBpbXBsaWVkIHdhcnJhbnR5LgpkbmwKZG5sIEtFSVRIIFBBQ0tBUkQgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsCmRubCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PCmRubCBFVkVOVCBTSEFMTCBLRUlUSCBQQUNLQVJEIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCmRubCBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKZG5sIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKZG5sIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKZG5sIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCmRubAoKIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgpBQ19JTklUKGZvbnRjb25maWcsIDEuMC4xLCBmb250c0B4ZnJlZTg2Lm9yZykKQUNfQ09ORklHX0FVWF9ESVIoY29uZmlnKQpBQ19DT05GSUdfSEVBREVSKGNvbmZpZy5oKQoKQUNfQVJHX1dJVEgoZnJlZXR5cGVfaW5jbHVkZXMsIFsgIC0td2l0aC1mcmVldHlwZS1pbmNsdWRlcz1ESVIgIFVzZSBGcmVlVHlwZSBpbmNsdWRlcyBpbiBESVJdLCBmcmVldHlwZV9pbmNsdWRlcz0kd2l0aHZhbCwgZnJlZXR5cGVfaW5jbHVkZXM9eWVzKQpBQ19BUkdfV0lUSChmcmVldHlwZV9saWIsICAgICAgWyAgLS13aXRoLWZyZWV0eXBlLWxpYj1ESVIgICAgICAgVXNlIEZyZWVUeXBlIGxpYnJhcnkgaW4gRElSXSwgZnJlZXR5cGVfbGliPSR3aXRodmFsLCBmcmVldHlwZV9saWI9eWVzKQpBQ19BUkdfV0lUSChmcmVldHlwZV9jb25maWcsICAgWyAgLS13aXRoLWZyZWV0eXBlLWNvbmZpZz1QUk9HICAgVXNlIEZyZWVUeXBlIGNvbmZpZ3VyYXRpb24gcHJvZ3JhbSBQUk9HXSwgZnJlZXR5cGVfY29uZmlnPSR3aXRodmFsLCBmcmVldHlwZV9jb25maWc9eWVzKQpBQ19BUkdfV0lUSChleHBhdCwgICAgICAgICAgICAgWyAgLS13aXRoLWV4cGF0PURJUiAgICAgICAgICAgICAgVXNlIEV4cGF0IGluIERJUiBpbnN0ZWFkIG9mIHhtbDJdLCBleHBhdD0kd2l0aHZhbCwgZXhwYXQ9bWF5YmUpCkFDX0FSR19XSVRIKGV4cGF0X2luY2x1ZGVzLCAgICBbICAtLXdpdGgtZXhwYXQtaW5jbHVkZXM9RElSICAgICBVc2UgRXhwYXQgaW5jbHVkZXMgaW4gRElSXSwgZXhwYXRfaW5jbHVkZXM9JHdpdGh2YWwsIGV4cGF0X2luY2x1ZGVzPXllcykKQUNfQVJHX1dJVEgoZXhwYXRfbGliLCAgICAgICAgIFsgIC0td2l0aC1leHBhdC1saWI9RElSICAgICAgICAgIFVzZSBFeHBhdCBsaWJyYXJ5IGluIERJUl0sIGV4cGF0X2xpYj0kd2l0aHZhbCwgZXhwYXRfbGliPXllcykKQUNfQVJHX1dJVEgoeG1sMiwgICAgICAgICAgICAgIFsgIC0td2l0aC14bWwyPURJUiAgICAgICAgICAgICAgIFVzZSBMaWJ4bWwyIGluIERJUiBpbnN0ZWFkIG9mIGV4cGF0XSwgeG1sMj0kd2l0aHZhbCwgeG1sMj1tYXliZSkKQUNfQVJHX1dJVEgoeG1sMl9pbmNsdWRlcywgICAgIFsgIC0td2l0aC14bWwyLWluY2x1ZGVzPURJUiAgICAgIFVzZSBMaWJ4bWwyIGluY2x1ZGVzIGluIERJUl0sIHhtbDJfaW5jbHVkZXM9JHdpdGh2YWwsIHhtbDJfaW5jbHVkZXM9eWVzKQpBQ19BUkdfV0lUSCh4bWwyX2xpYiwgICAgICAgICAgWyAgLS13aXRoLXhtbDItbGliPURJUiAgICAgICAgICAgVXNlIExpYnhtbDIgbGlicmFyeSBpbiBESVJdLCB4bWwyX2xpYj0kd2l0aHZhbCwgeG1sMl9saWI9eWVzKQpBQ19BUkdfV0lUSChkZWZhdWx0X2ZvbnRzLCAgICAgWyAgLS13aXRoLWRlZmF1bHQtZm9udHM9RElSICAgICAgVXNlIGZvbnRzIGZyb20gRElSIHdoZW4gY29uZmlnIGlzIGJ1c3RlZF0sIGRlZmF1bHRmb250cz0iJHdpdGh2YWwiLCBkZWZhdWx0X2ZvbnRzPXllcykKCiMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KQUNfUFJPR19DQwpBQ19QUk9HX0lOU1RBTEwKQUNfUFJPR19MTl9TCkFDX1BBVEhfWAoKUEFDS0FHRV9WRVJTSU9OPTEuMC4xCgojIFNldCBtYWpvciB2ZXJzaW9uClBBQ0tBR0VfTUFKT1I9YGVjaG8gJFBBQ0tBR0VfVkVSU0lPTiB8IGF3ayAtRiAuICd7IHByaW50ICQxIH0nYApQQUNLQUdFX01JTk9SPWBlY2hvICRQQUNLQUdFX1ZFUlNJT04gfCBhd2sgLUYgLiAneyBwcmludCAkMiB9J2AKUEFDS0FHRV9SRVZJU0lPTj1gZWNobyAkUEFDS0FHRV9WRVJTSU9OIHwgYXdrIC1GIC4gJ3sgcHJpbnQgJDMgfSdgCkFDX1NVQlNUKFBBQ0tBR0VfVkVSU0lPTikKQUNfU1VCU1QoUEFDS0FHRV9NQUpPUikKQUNfU1VCU1QoUEFDS0FHRV9NSU5PUikKQUNfU1VCU1QoUEFDS0FHRV9SRVZJU0lPTikKCk9CSkVYVD0ibyIKQUNfU1VCU1QoT0JKRVhUKQoKQUNfREVGSU5FX1VOUVVPVEVEKFBBQ0tBR0VfTUFKT1IsJFBBQ0tBR0VfTUFKT1IpCkFDX0RFRklORV9VTlFVT1RFRChQQUNLQUdFX01JTk9SLCRQQUNLQUdFX01JTk9SKQpBQ19ERUZJTkVfVU5RVU9URUQoUEFDS0FHRV9SRVZJU0lPTiwkUEFDS0FHRV9SRVZJU0lPTikKCSAKIyBDaGVja3MgZm9yIGhlYWRlciBmaWxlcy4KQUNfSEVBREVSX0RJUkVOVApBQ19IRUFERVJfU1REQwpBQ19DSEVDS19IRUFERVJTKFtmY250bC5oIHN0ZGxpYi5oIHN0cmluZy5oIHVuaXN0ZC5oXSkKCiMgQ2hlY2tzIGZvciB0eXBlZGVmcywgc3RydWN0dXJlcywgYW5kIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcy4KQUNfQ19DT05TVApBQ19UWVBFX1BJRF9UCgojIENoZWNrcyBmb3IgbGlicmFyeSBmdW5jdGlvbnMuCkFDX0ZVTkNfVlBSSU5URgpBQ19DSEVDS19GVU5DUyhbbWVtbW92ZSBtZW1zZXQgc3RyY2hyIHN0cnJjaHIgc3RydG9sIGdldG9wdCBnZXRvcHRfbG9uZ10pCgppZiB0ZXN0ICIkR0NDIiA9ICJ5ZXMiOyB0aGVuCiAgICBNS1NITElCPSckKENDKSAkKENGTEFHUykgJChEU09fUElDX0NGTEFHUykgJChEU09fTERPUFRTKSAtbyAkQCcKICAgIERTT19MRE9QVFM9Jy1zaGFyZWQgLVdsLC1oLGBlY2hvICRAIHwgc2VkICciJ3MvXC5zb1wuXChbWzAtOV1bMC05XV0qXCkuKi8uc28uXDEvJyInYCcKICAgIERTT19DRkxBR1M9JycKICAgIERTT19QSUNfQ0ZMQUdTPSctZlBJQyAtRFBJQycKZWxzZQogICAgQUNfQ0FOT05JQ0FMX0hPU1QKICAgIAogICAgTUtTSExJQj0nJChMRCkgJChEU09fTERPUFRTKSAtbyAkQCcKICAgIERTT19DRkxBR1M9JycKICAgIERTT19QSUNfQ0ZMQUdTPSctS1BJQyAtRFBJQycKICAgIAogICAgY2FzZSAiJGhvc3QiIGluCiAgICAqc29sYXJpcyopCiAgICAJRFNPX0xET1BUUz0nLUcgLXogdGV4dCAteiBkZWZzIC1oICRAJwoJTElCUz0iJExJQlMgLWxjIgoJOzsKICAgICopCiAgICAJRFNPX0xET1BUUz0nLXNoYXJlZCAtaCAkQCcKICAgIAk7OwogICAgZXNhYwpmaQoKQUNfU1VCU1QoTUtTSExJQikKQUNfU1VCU1QoRFNPX0xET1BUUykKQUNfU1VCU1QoRFNPX0NGTEFHUykKQUNfU1VCU1QoRFNPX1BJQ19DRkxBR1MpCgojCiMgVXNpbmcgeCBsaWJyYXJpZXMsIHNldCBYIGZvbnQgZGlyZWN0b3J5CmNhc2UgIiRub194IiBpbgp5ZXMpCgk7OwoqKQoJWF9GT05UX0RJUj0iJHhfbGlicmFyaWVzL1gxMS9mb250cyIKCUFDX0RFRklORV9VTlFVT1RFRChYX0ZPTlRfRElSLCRYX0ZPTlRfRElSKQoJOzsKZXNhYwpBQ19TVUJTVChYX0ZPTlRfRElSKQoKIwojIENoZWNrIGZyZWV0eXBlIGNvbmZpZ3VyYXRpb24KIwpjYXNlICIkZnJlZXR5cGVfY29uZmlnIiBpbgpubykKCTs7CnllcykKCUFDX0NIRUNLX1BST0coZnRfY29uZmlnLGZyZWV0eXBlLWNvbmZpZyxmcmVldHlwZS1jb25maWcsbm8pCgk7OwoqKQoJZnRfY29uZmlnPSIkZnJlZXR5cGVfY29uZmlnIgoJOzsKZXNhYwoKY2FzZSAiJGZyZWV0eXBlX2luY2x1ZGVzIiBpbgpubykKCUZSRUVUWVBFX0NGTEFHUz0iIgoJOzsKeWVzKQoJY2FzZSAiJGZ0X2NvbmZpZyIgaW4KCW5vKQoJCUZSRUVUWVBFX0NGTEFHUz0iIgoJCTs7CgkqKQoJCUZSRUVUWVBFX0NGTEFHUz0iYCRmdF9jb25maWcgLS1jZmxhZ3NgIgoJCTs7Cgllc2FjCgk7OwoqKQoJRlJFRVRZUEVfQ0ZMQUdTPSItSSRmcmVldHlwZV9pbmNsdWRlcyIKCTs7CmVzYWMKCmNhc2UgIiRmcmVldHlwZV9saWIiIGluCm5vKQoJZnJlZXR5cGVfbGliPSIiCgk7Owp5ZXMpCgljYXNlICIkZnRfY29uZmlnIiBpbgoJbm8pCgkJZnJlZXR5cGVfbGliPSIiCgkJOzsKCSopCgkJZnJlZXR5cGVfbGliPSJgJGZ0X2NvbmZpZyAtLWxpYnNgIgoJCTs7Cgllc2FjCgk7OwoqKQoJZnJlZXR5cGVfbGliPSItTCRmcmVldHlwZV9saWIgLWxmcmVldHlwZSIKCTs7CmVzYWMKCnNhdmVkX0xJQlM9IiRMSUJTIgpMSUJTPSIkTElCUyAkZnJlZXR5cGVfbGliIgpzYXZlZF9DUFBGTEFHUz0iJENQUEZMQUdTIgpDUFBGTEFHUz0iJENQUEZMQUdTICRGUkVFVFlQRV9DRkxBR1MiCkFDX0NIRUNLX0hFQURFUlMoZnJlZXR5cGUvZnJlZXR5cGUuaCkKCmNhc2UgIiRhY19jdl9oZWFkZXJfZnJlZXR5cGVfZnJlZXR5cGVfaCIgaW4Kbm8pCglDUFBGTEFHUz0iJHNhdmVkX0NQUEZMQUdTIgoJTElCUz0iJHNhdmVkX0xJQlMiCgk7Owp5ZXMpCglBQ19DSEVDS19GVU5DUyhGVF9Jbml0X0ZyZWVUeXBlKQoJY2FzZSAiJGFjX2N2X2Z1bmNfRlRfSW5pdF9GcmVlVHlwZSIgaW4KCW5vKQoJCUNQUEZMQUdTPSIkc2F2ZWRfQ1BQRkxBR1MiCgkJTElCUz0iJHNhdmVkX0xJQlMiCgkJOzsKCXllcykKCQlBQ19ERUZJTkUoSEFWRV9GUkVFVFlQRSkKCQlBQ19TVUJTVChGUkVFVFlQRV9DRkxBR1MpCgkJOzsKCWVzYWMKCTs7CmVzYWMKCmNhc2UgIiRkZWZhdWx0X2ZvbnRzIiBpbgp5ZXMpCglGQ19ERUZBVUxUX0ZPTlRTPSIvdXNyL3NoYXJlL2ZvbnRzIgoJQUNfREVGSU5FX1VOUVVPVEVEKEZDX0RFRkFVTFRfRk9OVFMsICIvdXNyL3NoYXJlL2ZvbnRzIikKCTs7CiopCglGQ19ERUZBVUxUX0ZPTlRTPSIkZGVmYXVsdF9mb250cyIKCUFDX0RFRklORV9VTlFVT1RFRChGQ19ERUZBVUxUX0ZPTlRTLCAiJGRlZmF1bHRfZm9udHMiKQoJOzsKZXNhYwoKQUNfU1VCU1QoRkNfREVGQVVMVF9GT05UUykKCiMKIyBTZXQgQ09ORkRJUiBhbmQgRk9OVENPTkZJR19QQVRICiMKCkNPTkZESVI9IiRzeXNjb25mZGlyL2ZvbnRzIgpBQ19ERUZJTkVfVU5RVU9URUQoQ09ORkRJUiwgIiRDT05GRElSIikKQUNfU1VCU1QoQ09ORkRJUikKCkZPTlRDT05GSUdfUEFUSD0iJENPTkZESVIiCkFDX0RFRklORV9VTlFVT1RFRChGT05UQ09ORklHX1BBVEgsICIkQ09ORkRJUiIpCkFDX1NVQlNUKEZPTlRDT05GSUdfUEFUSCkKCiMKIyBDaGVjayBleHBhdC9saWJ4bWwyIGNvbmZpZ3VyYXRpb24KIwoKY2FzZSAiJGV4cGF0IiBpbgptYXliZSkKCTs7Cm5vKQoJeG1sMj15ZXMKCTs7CiopCgl4bWwyPW5vCgk7Owplc2FjCgpjYXNlICIkeG1sMiIgaW4KbWF5YmUpCgk7OwpubykKCWV4cGF0PXllcwoJOzsKKikKCWV4cGF0PW5vCgk7Owplc2FjCgpjYXNlICIkZXhwYXQiIGluCm5vKQoJOzsKKikKCWNhc2UgIiRleHBhdF9pbmNsdWRlcyIgaW4KCXllc3xubykKCQlleHBhdF9pbmNsdWRlX3BhdGg9IiIKCQk7OwoJKikKCQlleHBhdF9pbmNsdWRlX3BhdGg9Ii1JJGV4cGF0X2luY2x1ZGVzIgoJCTs7Cgllc2FjCgljYXNlICIkZXhwYXRfbGliIiBpbgoJeWVzKQoJCWNhc2UgIiRleHBhdCIgaW4KCQl5ZXN8bWF5YmUpCgkJCWV4cGF0X2xpYnJhcnk9Ii1sZXhwYXQiCgkJCTs7CgkJKikKCQkJZXhwYXRfbGlicmFyeT0iLUwkZXhwYXQvbGliIC1sZXhwYXQiCgkJCTs7CgkJZXNhYwoJCTs7CglubykKCQk7OwoJKikKCQlleHBhdF9saWJyYXJ5PSItTCRleHBhdF9saWIgLWxleHBhdCIKCQk7OwoJZXNhYwoKCXNhdmVkX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCglDUFBGTEFHUz0iJENQUEZMQUdTICRleHBhdF9pbmNsdWRlX3BhdGgiCglzYXZlZF9MSUJTPSIkTElCUyIKCUxJQlM9IiRMSUJTICRleHBhdF9saWJyYXJ5IgoKCUFDX0NIRUNLX0hFQURFUihleHBhdC5oKQoJY2FzZSAiJGFjX2N2X2hlYWRlcl9leHBhdF9oIiBpbgoJbm8pCgkJQUNfQ0hFQ0tfSEVBREVSKHhtbHBhcnNlLmgpCgkJY2FzZSAiJGFjX2N2X2hlYWRlcl94bWxwYXJzZV9oIiBpbgoJCW5vKQoJCQloYXZlX2V4cGF0X2hlYWRlcj1ubzsKCQkJOzsKCQl5ZXMpCgkJCUhBVkVfWE1MUEFSU0VfSD0xCgkJCUFDX1NVQlNUKEhBVkVfWE1MUEFSU0VfSCkKCQkJQUNfREVGSU5FX1VOUVVPVEVEKEhBVkVfWE1MUEFSU0VfSCwkSEFWRV9YTUxQQVJTRV9IKQoJCQloYXZlX2V4cGF0X2hlYWRlcj15ZXMKCQkJOzsKCQllc2FjCgkJOzsKCXllcykKCQloYXZlX2V4cGF0X2hlYWRlcj15ZXMKCQk7OwoJZXNhYwoJY2FzZSAiJGhhdmVfZXhwYXRfaGVhZGVyIiBpbgoJbm8pCgkJQ1BQRkxBR1M9IiRzYXZlZF9DUFBGTEFHUyIKCQlMSUJTPSIkc2F2ZWRfTElCUyIKCQlleHBhdD1ubwoJCTs7Cgl5ZXMpCgkJQUNfQ0hFQ0tfRlVOQ1MoWE1MX1BhcnNlckNyZWF0ZSkKCQljYXNlICIkYWNfY3ZfZnVuY19YTUxfUGFyc2VyQ3JlYXRlIiBpbgoJCW5vKQoJCQlDUFBGTEFHUz0iJHNhdmVkX0NQUEZMQUdTIgoJCQlMSUJTPSIkc2F2ZWRfTElCUyIKCQkJZXhwYXQ9bm8KCQkJOzsKCQl5ZXMpCgkJCUhBVkVfRVhQQVQ9MQoJCQlBQ19TVUJTVChIQVZFX0VYUEFUKQoJCQlBQ19ERUZJTkVfVU5RVU9URUQoSEFWRV9FWFBBVCwkSEFWRV9FWFBBVCkKCQkJeG1sMj1ubwoJCQk7OwoJCWVzYWMKCQk7OwoJZXNhYwoJOzsKZXNhYwoJCmNhc2UgIiR4bWwyIiBpbgpubykKCTs7CiopCgljYXNlICIkeG1sMl9pbmNsdWRlcyIgaW4KCXllc3xubykKCQl4bWwyX2luY2x1ZGVfcGF0aD0iIgoJCTs7CgkqKQoJCXhtbDJfaW5jbHVkZV9wYXRoPSItSSR4bWwyX2luY2x1ZGVzIgoJCTs7Cgllc2FjCgljYXNlICIkeG1sMl9saWIiIGluCgl5ZXMpCgkJY2FzZSAiJHhtbDIiIGluCgkJeWVzfG1heWJlKQoJCQl4bWwyX2xpYnJhcnk9Ii1seG1sMiIKCQkJOzsKCQkqKQoJCQl4bWwyX2xpYnJhcnk9Ii1MJHhtbDIvbGliIC1seG1sMiIKCQkJOzsKCQllc2FjCgkJOzsKCW5vKQoJCTs7CgkqKQoJCXhtbDJfbGlicmFyeT0iLUwkeG1sMl9saWIgLWx4bWwyIgoJCTs7Cgllc2FjCgoJc2F2ZWRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKCUNQUEZMQUdTPSIkQ1BQRkxBR1MgJHhtbDJfaW5jbHVkZV9wYXRoIgoJc2F2ZWRfTElCUz0iJExJQlMiCglMSUJTPSIkTElCUyAkeG1sMl9saWJyYXJ5IgoKCUFDX0NIRUNLX0hFQURFUihsaWJ4bWwvcGFyc2VyLmgpCgljYXNlICIkYWNfY3ZfaGVhZGVyX2xpYnhtbF9wYXJzZXJfaCIgaW4KCW5vKQoJCUNQUEZMQUdTPSIkc2F2ZWRfQ1BQRkxBR1MiCgkJTElCUz0iJHNhdmVkX0xJQlMiCgkJeG1sMj1ubwoJCTs7Cgl5ZXMpCgkJQUNfQ0hFQ0tfRlVOQ1MoeG1sSW5pdFBhcnNlcikKCQljYXNlICIkYWNfY3ZfZnVuY194bWxJbml0UGFyc2VyIiBpbgoJCW5vKQoJCQlDUFBGTEFHUz0iJHNhdmVkX0NQUEZMQUdTIgoJCQlMSUJTPSIkc2F2ZWRfTElCUyIKCQkJeG1sMj1ubwoJCQk7OwoJCXllcykKCQkJSEFWRV9YTUwyPTEKCQkJQUNfU1VCU1QoSEFWRV9YTUwyKQoJCQlBQ19ERUZJTkVfVU5RVU9URUQoSEFWRV9YTUwyLCRIQVZFX1hNTDIpCgkJCWV4cGF0PW5vCgkJCTs7CgkJZXNhYwoJCTs7Cgllc2FjCgk7Owplc2FjCgkKY2FzZSAiJGV4cGF0IiIkeG1sMiIgaW4Kbm9ubykKCUFDX01TR19FUlJPUihbY2Fubm90IGZpbmQgZWl0aGVyIGxpYnhtbDIgb3IgZXhwYXRdKQoJOzsKZXNhYwoKQUNfT1VUUFVUKFtNYWtlZmlsZQoJICBjb25maWcvTWFrZWRlZnMKCSAgc3JjL01ha2VmaWxlCgkgIGZjLWNhY2hlL01ha2VmaWxlCgkgIGZjLWxpc3QvTWFrZWZpbGUKCSAgZm9udGNvbmZpZy9NYWtlZmlsZQoJICBmb250Y29uZmlnLnBjCgkgIGZvbnRjb25maWctY29uZmlnXSkKCg==